From 3e4b75b6c11da08eebaca35544bba674176021c3 Mon Sep 17 00:00:00 2001 From: Brad Barnett <127794626+bdbarnett@users.noreply.github.com> Date: Tue, 10 Nov 2026 15:53:49 -0600 Subject: [PATCH] Links: workbench.pydevices.com Workbench's README, docs, build base URL and gallery link now use workbench.pydevices.com and gallery.omnipython.org. Those two addresses start answering when their custom domains are set, so this waits for that. --- .github/workflows/mcp-dist.yml | 2 +- .github/workflows/release.yml | 2 +- .github/workflows/static.yml | 2 +- CONTRIBUTING.md | 6 +++--- README.md | 4 ++-- docs/get-started/first-program.md | 4 ++-- docs/get-started/install.md | 2 +- docs/guides/allow-workbench-through-a-firewall.md | 2 +- docs/guides/connect-over-bluetooth.md | 2 +- docs/guides/connect-over-the-internet.md | 4 ++-- docs/guides/connect-over-usb.md | 2 +- docs/guides/connect-over-your-network.md | 2 +- docs/guides/open-a-gallery-example.md | 4 ++-- docs/guides/share-a-package-with-an-install-link.md | 6 +++--- docs/index.md | 4 ++-- docs/reference/features.md | 4 ++-- docs/reference/url-parameters.md | 2 +- src/pydevices/gallery.js | 2 +- test/browser/gallery-open.spec.js | 2 +- 19 files changed, 29 insertions(+), 29 deletions(-) diff --git a/.github/workflows/mcp-dist.yml b/.github/workflows/mcp-dist.yml index f7479c80..54770490 100644 --- a/.github/workflows/mcp-dist.yml +++ b/.github/workflows/mcp-dist.yml @@ -17,7 +17,7 @@ jobs: build-viperide: runs-on: ubuntu-latest env: - VIPER_IDE_BASE_URL: https://pydevices.github.io/workbench + VIPER_IDE_BASE_URL: https://workbench.pydevices.com steps: - uses: actions/checkout@v7 - uses: actions/setup-node@v7 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 37250279..8186f06c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -41,7 +41,7 @@ jobs: fi - name: Build the app env: - VIPER_IDE_BASE_URL: https://pydevices.github.io/workbench + VIPER_IDE_BASE_URL: https://workbench.pydevices.com run: | npm ci python3 build.py --skip-tests diff --git a/.github/workflows/static.yml b/.github/workflows/static.yml index 83de2c7b..9345b3f5 100644 --- a/.github/workflows/static.yml +++ b/.github/workflows/static.yml @@ -29,7 +29,7 @@ jobs: url: ${{ steps.deployment.outputs.page_url }} runs-on: ubuntu-latest env: - VIPER_IDE_BASE_URL: https://pydevices.github.io/workbench + VIPER_IDE_BASE_URL: https://workbench.pydevices.com steps: - name: Checkout uses: actions/checkout@v7 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ca53f5df..e540ee42 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -33,7 +33,7 @@ Workbench loads its WebAssembly runtimes, virtual filesystem archives and `manif - In JavaScript, as the `VIPER_IDE_BASE_URL` constant (replaced by Rollup) - In HTML, as the `${VIPER_IDE_BASE_URL}` placeholder (replaced while copying the files into `build/`) -`build.py` defaults it to `http://localhost:10001` and passes it on to Rollup. The `static.yml` and `release.yml` CI workflows both set `VIPER_IDE_BASE_URL=https://pydevices.github.io/workbench` explicitly for production builds (`static.yml` for the GitHub Pages deploy on every push to `main`, `release.yml` for the bundle attached to a tagged release). +`build.py` defaults it to `http://localhost:10001` and passes it on to Rollup. The `static.yml` and `release.yml` CI workflows both set `VIPER_IDE_BASE_URL=https://workbench.pydevices.com` explicitly for production builds (`static.yml` for the GitHub Pages deploy on every push to `main`, `release.yml` for the bundle attached to a tagged release). **To override it manually, set `VIPER_IDE_BASE_URL`:** @@ -158,7 +158,7 @@ Workbench has two independent release tracks (see `.github/workflows/`): - **App releases**: pushing a plain `vX.Y.Z` tag (matching `v[0-9]*`) triggers `release.yml`, which builds the app with - `VIPER_IDE_BASE_URL=https://pydevices.github.io/workbench` via + `VIPER_IDE_BASE_URL=https://workbench.pydevices.com` via `python3 build.py --skip-tests`, zips `build/`, and attaches it to a GitHub Release for that tag. It first refuses to run against a pre-fork tree (a `package.json` name that isn't Workbench's), since the `v0.5.x`-`v0.6.x` @@ -170,7 +170,7 @@ Workbench has two independent release tracks (see `.github/workflows/`): - **GitHub Pages**: every push to `main` runs `static.yml`, which builds with `python3 build.py --prepare && npm run lint && npm run test`, then `python3 build.py --skip-tests`, and deploys `build/` to - . This is separate from, and more + . This is separate from, and more frequent than, either tagged release track above. Tags `v0.5.x` and `v0.6.x` predate the fork and are upstream ViperIDE's release history. diff --git a/README.md b/README.md index 2712ed79..8e78c005 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ Workbench is a MicroPython IDE that runs in your browser, with a built-in simula ## Open it -There's nothing to install: open . A browser can also install it as an app (the install icon in Chrome or Edge's address bar). To run your own copy, see [CONTRIBUTING.md](CONTRIBUTING.md). +There's nothing to install: open . A browser can also install it as an app (the install icon in Chrome or Edge's address bar). To run your own copy, see [CONTRIBUTING.md](CONTRIBUTING.md). ## Try it @@ -36,6 +36,6 @@ Area(80, 40, 160, 160) A cyan circle appears on the navy display, and the last line reads back a pixel on its edge: `0x7ff` is `pal.CYAN`. -[Docs](https://github.com/PyDevices/workbench/blob/main/docs/index.md) · [Examples](https://pydevices.github.io/gallery/gallery/) · [Roadmap](ROADMAP.md) +[Docs](https://github.com/PyDevices/workbench/blob/main/docs/index.md) · [Examples](https://gallery.omnipython.org/) · [Roadmap](ROADMAP.md) Made by [PyDevices](https://pydevices.com). diff --git a/docs/get-started/first-program.md b/docs/get-started/first-program.md index 407f1581..b8b2cb22 100644 --- a/docs/get-started/first-program.md +++ b/docs/get-started/first-program.md @@ -2,7 +2,7 @@ You can do this without a board. Workbench starts a MicroPython virtual device in your browser, with a display, the PyDevices libraries and example programs already on its file system. -1. Open and press the simulator button in the toolbar. The terminal prints a `>>>` prompt when the device is up. +1. Open and press the simulator button in the toolbar. The terminal prints a `>>>` prompt when the device is up. 2. Click `04_pygraphics_shapes.py` in the file tree and press Run (or F5). The shapes appear on the display next to the editor, and the terminal prints `Rendered pygraphics vector FrameBuffer successfully to display!`. 3. Type at the `>>>` prompt: @@ -15,4 +15,4 @@ Edit the file and press Run again. To put the same program on a real board, conn The simulator also has a resolution and shape picker, including round watch faces, and you can resize the display by dragging it. -More programs are in the [gallery](https://pydevices.github.io/gallery/gallery/); [open one in Workbench](../guides/open-a-gallery-example.md) by name. +More programs are in the [gallery](https://gallery.omnipython.org/); [open one in Workbench](../guides/open-a-gallery-example.md) by name. diff --git a/docs/get-started/install.md b/docs/get-started/install.md index a0222812..f367fdd2 100644 --- a/docs/get-started/install.md +++ b/docs/get-started/install.md @@ -1,6 +1,6 @@ # Open Workbench -There's nothing to install. Open in a browser and the editor, file manager, terminal and simulator are all there. +There's nothing to install. Open in a browser and the editor, file manager, terminal and simulator are all there. ## Install it as an app diff --git a/docs/guides/allow-workbench-through-a-firewall.md b/docs/guides/allow-workbench-through-a-firewall.md index a55b64f0..f390110d 100644 --- a/docs/guides/allow-workbench-through-a-firewall.md +++ b/docs/guides/allow-workbench-through-a-firewall.md @@ -2,7 +2,7 @@ If you manage a network, unblock these domains so Workbench works: -- `pydevices.github.io`: Workbench itself, served from GitHub Pages. +- `workbench.pydevices.com`: Workbench itself, served from GitHub Pages. - `hub.viper-ide.org`: the relay that [connecting over the internet](connect-over-the-internet.md) uses, inherited from upstream ViperIDE. - `micropython.org`: the MicroPython package index the package manager reads. - `raw.githubusercontent.com`: packages installed from GitHub. diff --git a/docs/guides/connect-over-bluetooth.md b/docs/guides/connect-over-bluetooth.md index d3f78617..981bfca1 100644 --- a/docs/guides/connect-over-bluetooth.md +++ b/docs/guides/connect-over-bluetooth.md @@ -2,7 +2,7 @@ A board with native Bluetooth LE, such as a Raspberry Pi Pico W or an ESP32, can run a REPL that Workbench reaches over the air. You need a Chromium-based browser (Chrome, Edge, Opera, Brave). It usually works on Windows, Linux, macOS and Android, and isn't available on iOS. -1. Connect [Workbench](https://pydevices.github.io/workbench/) to the board over USB ([how](connect-over-usb.md)). +1. Connect [Workbench](https://workbench.pydevices.com/) to the board over USB ([how](connect-over-usb.md)). 2. In the left panel, open `Package Manager` and install `viper-tools`. 3. Put this in the board's `main.py`: diff --git a/docs/guides/connect-over-the-internet.md b/docs/guides/connect-over-the-internet.md index 2dcefaf5..df0bba0b 100644 --- a/docs/guides/connect-over-the-internet.md +++ b/docs/guides/connect-over-the-internet.md @@ -2,7 +2,7 @@ A secure WebSocket relay lets you reach a board from anywhere. This is experimental and may have bugs. -1. Connect [Workbench](https://pydevices.github.io/workbench/) to the board over USB ([how](connect-over-usb.md)). +1. Connect [Workbench](https://workbench.pydevices.com/) to the board over USB ([how](connect-over-usb.md)). 2. In the left panel, open `Package Manager` and install `viper-tools`. 3. Put this in the board's `main.py`: @@ -23,7 +23,7 @@ A secure WebSocket relay lets you reach a board from anywhere. This is experimen IDE available on https://viper-ide.org?wss=YOUR-DEVICE-UID ``` -5. Open `https://pydevices.github.io/workbench/?wss=YOUR-DEVICE-UID` with the ID from that line. The link the board prints opens ViperIDE, because `viper-tools` comes from there. +5. Open `https://workbench.pydevices.com/?wss=YOUR-DEVICE-UID` with the ID from that line. The link the board prints opens ViperIDE, because `viper-tools` comes from there. ## Use your own relay diff --git a/docs/guides/connect-over-usb.md b/docs/guides/connect-over-usb.md index a222f019..bae0e8ee 100644 --- a/docs/guides/connect-over-usb.md +++ b/docs/guides/connect-over-usb.md @@ -3,7 +3,7 @@ Plug the board in and connect to it from Workbench over Web Serial (or WebUSB). You need a Chromium-based browser (Chrome, Edge, Opera, Brave): this isn't available on iOS or Safari. See [Browser and platform support](../reference/browser-support.md). 1. Connect your device with a USB cable and check that your operating system recognizes it. Some USB devices need a driver installed. Some boards aren't detected by Android over USB OTG. -2. Open [Workbench](https://pydevices.github.io/workbench/) and press the USB button. +2. Open [Workbench](https://workbench.pydevices.com/) and press the USB button. 3. Pick your board from the list. If Android doesn't see your board, turn on `Use WebUSB instead of WebSerial` in Settings and try again. diff --git a/docs/guides/connect-over-your-network.md b/docs/guides/connect-over-your-network.md index b835da71..94524cac 100644 --- a/docs/guides/connect-over-your-network.md +++ b/docs/guides/connect-over-your-network.md @@ -4,7 +4,7 @@ The board runs a web server and Workbench connects to it over WebREPL. Your comp The WebSocket this uses isn't encrypted, and a secure site like Workbench can't open one. To get around that, the board serves a small page over plain HTTP, and that page loads the IDE from `viper-ide.org`, which is ViperIDE's site, not Workbench's. To reach a board over the internet instead, use [a relay](connect-over-the-internet.md). -1. Connect [Workbench](https://pydevices.github.io/workbench/) to the board over USB ([how](connect-over-usb.md)). +1. Connect [Workbench](https://workbench.pydevices.com/) to the board over USB ([how](connect-over-usb.md)). 2. In the left panel, open `Package Manager` and install `viper-tools`. 3. Put this in the board's `main.py`: diff --git a/docs/guides/open-a-gallery-example.md b/docs/guides/open-a-gallery-example.md index d7178208..1c564717 100644 --- a/docs/guides/open-a-gallery-example.md +++ b/docs/guides/open-a-gallery-example.md @@ -1,9 +1,9 @@ # Open a gallery example -Any card of the [PyDevices gallery](https://pydevices.github.io/gallery/gallery/) opens in Workbench by name: +Any card of the [PyDevices gallery](https://gallery.omnipython.org/) opens in Workbench by name: ``` -https://pydevices.github.io/workbench/?vm=1&example=paint +https://workbench.pydevices.com/?vm=1&example=paint ``` That starts the simulator, writes the example's files to it and opens the entry file in the editor, ready for Run. diff --git a/docs/guides/share-a-package-with-an-install-link.md b/docs/guides/share-a-package-with-an-install-link.md index 3e8e6e64..d747b625 100644 --- a/docs/guides/share-a-package-with-an-install-link.md +++ b/docs/guides/share-a-package-with-an-install-link.md @@ -4,13 +4,13 @@ A link to Workbench can install your library or project onto whatever board the For instance, this installs [`aiodns`](https://github.com/vshymanskyy/aiodns): -[Install using Workbench](https://pydevices.github.io/workbench/?install=github:vshymanskyy/aiodns) +[Install using Workbench](https://workbench.pydevices.com/?install=github:vshymanskyy/aiodns) The image is served from ViperIDE's repository. ## Make the link -Use `https://pydevices.github.io/workbench/?install=YOUR_LINK`. `YOUR_LINK` is one of: +Use `https://workbench.pydevices.com/?install=YOUR_LINK`. `YOUR_LINK` is one of: - `github:org/repo` - `github:org/repo/path/to/package.json` @@ -35,6 +35,6 @@ Links in the readme are shown but can't be clicked, because a readme isn't allow ## Add the button to your README ```md -[Install using Workbench](https://pydevices.github.io/workbench/?install=YOUR_LINK) +[Install using Workbench](https://workbench.pydevices.com/?install=YOUR_LINK) ``` diff --git a/docs/index.md b/docs/index.md index f74ce1a9..9e2c5fc6 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,6 +1,6 @@ # Workbench -Workbench is a MicroPython IDE for the browser, with a built-in device simulator. Live at . +Workbench is a MicroPython IDE for the browser, with a built-in device simulator. Live at . ## Get started @@ -35,4 +35,4 @@ Workbench is a MicroPython IDE for the browser, with a built-in device simulator - [Changelog](changelog.md) -Also: [Examples gallery](https://pydevices.github.io/gallery/gallery/), [Roadmap](../ROADMAP.md), [Contributing](../CONTRIBUTING.md). +Also: [Examples gallery](https://gallery.omnipython.org/), [Roadmap](../ROADMAP.md), [Contributing](../CONTRIBUTING.md). diff --git a/docs/reference/features.md b/docs/reference/features.md index 94cdfc9a..1c02cd70 100644 --- a/docs/reference/features.md +++ b/docs/reference/features.md @@ -7,8 +7,8 @@ - [`WebREPL over internet 🌎`](../guides/connect-over-the-internet.md) - [`WebREPL in local network`](../guides/connect-over-your-network.md) - [`Bluetooth LE`](../guides/connect-over-bluetooth.md) - - [`P2P/WebRTC Bridge`](https://pydevices.github.io/workbench/bridge.html) - - [`Virtual Device`](https://pydevices.github.io/workbench/?vm=1), also on its own simulator toolbar button + - [`P2P/WebRTC Bridge`](https://workbench.pydevices.com/bridge.html) + - [`Virtual Device`](https://workbench.pydevices.com/?vm=1), also on its own simulator toolbar button - **File Editor** - Syntax highlighting for `.py`, `.json`, `.inf`, `.toml`, `.pem` - Auto expand/minify of `.json` files diff --git a/docs/reference/url-parameters.md b/docs/reference/url-parameters.md index eff17005..9d2dccaa 100644 --- a/docs/reference/url-parameters.md +++ b/docs/reference/url-parameters.md @@ -8,4 +8,4 @@ Workbench reads these from the address it's opened with. | `example=` | opens one gallery card: writes its files to the connected device and opens its entry file | [Open a gallery example](../guides/open-a-gallery-example.md) | | `install=` | installs a package on the board once one is connected | [Share a package](../guides/share-a-package-with-an-install-link.md) | | `wss=` | connects to a board through the secure WebSocket relay | [Connect over the internet](../guides/connect-over-the-internet.md) | -| `rtc=` | connects over a peer-to-peer WebRTC link, set up by the [bridge page](https://pydevices.github.io/workbench/bridge.html) | | +| `rtc=` | connects over a peer-to-peer WebRTC link, set up by the [bridge page](https://workbench.pydevices.com/bridge.html) | | diff --git a/src/pydevices/gallery.js b/src/pydevices/gallery.js index 7742663d..a687be8b 100644 --- a/src/pydevices/gallery.js +++ b/src/pydevices/gallery.js @@ -27,7 +27,7 @@ import { fetchJSON, fetchText, splitPath } from '../utils.js' -export const GALLERY_URL = 'https://pydevices.github.io/gallery/gallery/' +export const GALLERY_URL = 'https://gallery.omnipython.org/' /* How many lines the gallery scans for its `# key: a, b` headers */ const HEADER_LINES = 10 diff --git a/test/browser/gallery-open.spec.js b/test/browser/gallery-open.spec.js index eb174fae..b9f1bed6 100644 --- a/test/browser/gallery-open.spec.js +++ b/test/browser/gallery-open.spec.js @@ -12,7 +12,7 @@ import path from 'node:path' import { fileURLToPath } from 'node:url' import { terminalText, focusTerminal, distinctCanvasColors } from './helpers.js' -const GALLERY = 'https://pydevices.github.io/gallery/gallery/' +const GALLERY = 'https://gallery.omnipython.org/' const FIXTURES = path.join(path.dirname(fileURLToPath(import.meta.url)), 'fixtures', 'gallery') /* The app's service worker fetches on the page's behalf, and a request it