From c516cfa9fab7226006c83a5d2df7a6c65488c551 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C5=ABdolfs=20O=C5=A1i=C5=86=C5=A1?= Date: Tue, 13 Oct 2026 11:59:22 +0200 Subject: [PATCH] Prefix explorer CI with `explorer-` Desktop's GitHub workflows are already prefixed `desktop-`. With both projects in one repo, the prefix shows which project a workflow or Buildkite step belongs to. --- .buildkite/{e2e.yml => explorer-e2e.yml} | 15 +++++---- ...de-checks.yml => explorer-node-checks.yml} | 32 +++++++++---------- .buildkite/{rust.yml => explorer-rust.yml} | 8 ++--- .../{visual.yml => explorer-visual.yml} | 20 ++++++------ .buildkite/pipeline.yml | 22 ++++++------- .../{check-build.yml => explorer-build.yml} | 4 +-- .../{check.yml => explorer-check.yml} | 2 +- .../{check-e2e.yml => explorer-e2e.yml} | 4 +-- ...yml => explorer-http-client-unit-test.yml} | 4 +-- .../{check-rust.yml => explorer-rust.yml} | 2 +- ...k-unit-test.yml => explorer-unit-test.yml} | 4 +-- .../{check-visual.yml => explorer-visual.yml} | 2 +- .ryph/setup.yml | 4 +-- CLAUDE.md | 2 +- scripts/check-ci | 4 +-- 15 files changed, 66 insertions(+), 63 deletions(-) rename .buildkite/{e2e.yml => explorer-e2e.yml} (77%) rename .buildkite/{node-checks.yml => explorer-node-checks.yml} (85%) rename .buildkite/{rust.yml => explorer-rust.yml} (95%) rename .buildkite/{visual.yml => explorer-visual.yml} (92%) rename .github/workflows/{check-build.yml => explorer-build.yml} (96%) rename .github/workflows/{check.yml => explorer-check.yml} (94%) rename .github/workflows/{check-e2e.yml => explorer-e2e.yml} (97%) rename .github/workflows/{check-http-client-unit-test.yml => explorer-http-client-unit-test.yml} (88%) rename .github/workflows/{check-rust.yml => explorer-rust.yml} (98%) rename .github/workflows/{check-unit-test.yml => explorer-unit-test.yml} (89%) rename .github/workflows/{check-visual.yml => explorer-visual.yml} (99%) diff --git a/.buildkite/e2e.yml b/.buildkite/explorer-e2e.yml similarity index 77% rename from .buildkite/e2e.yml rename to .buildkite/explorer-e2e.yml index 2564d23bc..c0f4e2fac 100644 --- a/.buildkite/e2e.yml +++ b/.buildkite/explorer-e2e.yml @@ -2,19 +2,20 @@ # parallel with fixture creation, and asserts the pinned rad and radicle-httpd # versions are on PATH. # -# This step shares the `deps` volume with the steps in node-checks.yml. Keep the -# cache paths the same as the ones there, and see that file for how the volume -# works and why this step waits for check. +# This step shares the `deps` volume with the steps in explorer-node-checks.yml. +# Keep the cache paths the same as the ones there, and see that file for how the +# volume works and why this step waits for explorer-check. env: CI: "true" NPM_CONFIG_CACHE: ".npm-cache" steps: - - label: "๐ŸŽญ e2e" - key: e2e - # The check step in node-checks.yml seeds the shared volume. - depends_on: check + - label: "๐ŸŽญ explorer e2e" + key: explorer-e2e + # The explorer-check step in explorer-node-checks.yml seeds the shared + # volume. + depends_on: explorer-check timeout_in_minutes: 30 cache: name: deps diff --git a/.buildkite/node-checks.yml b/.buildkite/explorer-node-checks.yml similarity index 85% rename from .buildkite/node-checks.yml rename to .buildkite/explorer-node-checks.yml index 75a7296b0..6261689ee 100644 --- a/.buildkite/node-checks.yml +++ b/.buildkite/explorer-node-checks.yml @@ -1,7 +1,7 @@ -# One `deps` cache volume serves every step here and the e2e step in e2e.yml. -# The volume is mounted at /cache/bkcache on the agent, and the configured paths -# become links into it. A container step must therefore mount that directory, or -# every link dangles and the job persists nothing. +# One `deps` cache volume serves every step here and the e2e step in +# explorer-e2e.yml. The volume is mounted at /cache/bkcache on the agent, and the +# configured paths become links into it. A container step must therefore mount +# that directory, or every link dangles and the job persists nothing. # # A job does not write the volume in place. It gets a private copy at start, and # that copy becomes the version the next job sees if the job exits 0. Concurrent @@ -49,7 +49,7 @@ __defs: - NPM_CONFIG_CACHE # Keep this list the same in every step that attaches the volume, here and in - # e2e.yml. + # explorer-e2e.yml. deps_cache: &deps_cache name: deps paths: @@ -61,8 +61,8 @@ __defs: - ".lintcache" steps: - - label: "๐Ÿ”Ž check" - key: check + - label: "๐Ÿ”Ž explorer check" + key: explorer-check timeout_in_minutes: 10 cache: *deps_cache plugins: @@ -75,9 +75,9 @@ steps: - ./scripts/install-binaries - npm run check - - label: "๐Ÿงช unit-tests" - key: unit-tests - depends_on: check + - label: "๐Ÿงช explorer unit-tests" + key: explorer-unit-tests + depends_on: explorer-check timeout_in_minutes: 10 cache: *deps_cache plugins: @@ -88,9 +88,9 @@ steps: # The http-client suite talks to a real radicle-httpd, so it needs the pinned # binaries on PATH even though it runs under vitest rather than Playwright. - - label: "๐Ÿ”Œ http-client-tests" - key: http-client-tests - depends_on: check + - label: "๐Ÿ”Œ explorer http-client-tests" + key: explorer-http-client-tests + depends_on: explorer-check timeout_in_minutes: 15 cache: *deps_cache artifact_paths: @@ -105,9 +105,9 @@ steps: # playwright.buildSmoke.config.ts sets globalSetup to undefined, so this step # needs a browser but no Radicle binaries or fixtures. - - label: "๐Ÿ— build-smoke" - key: build-smoke - depends_on: check + - label: "๐Ÿ— explorer build-smoke" + key: explorer-build-smoke + depends_on: explorer-check timeout_in_minutes: 30 cache: *deps_cache artifact_paths: diff --git a/.buildkite/rust.yml b/.buildkite/explorer-rust.yml similarity index 95% rename from .buildkite/rust.yml rename to .buildkite/explorer-rust.yml index d61dce5d7..dce5d3019 100644 --- a/.buildkite/rust.yml +++ b/.buildkite/explorer-rust.yml @@ -42,8 +42,8 @@ __defs: steps: # RUSTFLAGS is set on the build only, not on the test run. - - label: "๐Ÿฆ€ test" - key: test + - label: "๐Ÿฆ€ explorer test" + key: explorer-rust-test timeout_in_minutes: 30 cache: name: rust-test @@ -54,8 +54,8 @@ steps: - cargo test --workspace --all-features - cargo test -p radicle-httpd - - label: "๐Ÿฆ€ lint" - key: lint + - label: "๐Ÿฆ€ explorer lint" + key: explorer-rust-lint timeout_in_minutes: 30 cache: name: rust-lint diff --git a/.buildkite/visual.yml b/.buildkite/explorer-visual.yml similarity index 92% rename from .buildkite/visual.yml rename to .buildkite/explorer-visual.yml index debe74dc1..1b5fd1d79 100644 --- a/.buildkite/visual.yml +++ b/.buildkite/explorer-visual.yml @@ -10,7 +10,7 @@ # branch step had to fail on purpose to keep its copy out, and it left the volume # at its empty first version until a master job went green. Artifacts have # neither problem, and they free the one cache volume a step can attach for the -# shared `deps` volume from node-checks.yml. +# shared `deps` volume from explorer-node-checks.yml. # # A job knows its own build id and no other, so the branch step asks the REST API # for the newest passed master build. No credential a job already holds can do @@ -28,13 +28,15 @@ env: NPM_CONFIG_CACHE: ".npm-cache" steps: - - label: "๐Ÿ“ธ visual update snapshots" - key: visual-update-snapshots + - label: "๐Ÿ“ธ explorer visual update snapshots" + key: explorer-visual-update-snapshots branches: "master" - # The check step in node-checks.yml seeds the shared volume. - depends_on: check + # The explorer-check step in explorer-node-checks.yml seeds the shared + # volume. + depends_on: explorer-check timeout_in_minutes: 30 - # Keep these paths the same as the ones in node-checks.yml and e2e.yml. + # Keep these paths the same as the ones in explorer-node-checks.yml and + # explorer-e2e.yml. cache: &deps_cache name: deps paths: @@ -81,10 +83,10 @@ steps: # cannot keep the build out of the passed state that publishes the set. - npm run test:e2e -- --project visual-desktop visual-mobile --update-snapshots --retries=2 - - label: "๐Ÿ“ธ visual" - key: visual + - label: "๐Ÿ“ธ explorer visual" + key: explorer-visual branches: "!master" - depends_on: check + depends_on: explorer-check timeout_in_minutes: 30 cache: *deps_cache artifact_paths: diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index db55d1fb8..b9d5b5e10 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -4,14 +4,14 @@ # # The broker creates exactly one Buildkite pipeline per Radicle repo, so every # suite lands in this single build. Cache volumes are scoped to the pipeline, so -# the same name in two uploaded files is one volume: node-checks.yml, e2e.yml and -# visual.yml all attach `deps` on purpose. Share a name only where that is safe, -# because a step that commits a volume version discards what a concurrent step -# wrote to the same volume. +# the same name in two uploaded files is one volume: explorer-node-checks.yml, +# explorer-e2e.yml and explorer-visual.yml all attach `deps` on purpose. Share a +# name only where that is safe, because a step that commits a volume version +# discards what a concurrent step wrote to the same volume. # -# Upload node-checks.yml before e2e.yml: the e2e step depends on the `check` key -# defined there, and Buildkite rejects a step whose dependency is not yet part of -# the build. +# Upload explorer-node-checks.yml before explorer-e2e.yml: the e2e step depends +# on the `explorer-check` key defined there, and Buildkite rejects a step whose +# dependency is not yet part of the build. # # Superseded builds are not cancelled. Buildkite has no YAML equivalent of the # GitHub Actions cancel-in-progress. @@ -19,7 +19,7 @@ steps: - label: ":pipeline: upload" commands: - - buildkite-agent pipeline upload .buildkite/node-checks.yml - - buildkite-agent pipeline upload .buildkite/e2e.yml - - buildkite-agent pipeline upload .buildkite/visual.yml - - buildkite-agent pipeline upload .buildkite/rust.yml + - buildkite-agent pipeline upload .buildkite/explorer-node-checks.yml + - buildkite-agent pipeline upload .buildkite/explorer-e2e.yml + - buildkite-agent pipeline upload .buildkite/explorer-visual.yml + - buildkite-agent pipeline upload .buildkite/explorer-rust.yml diff --git a/.github/workflows/check-build.yml b/.github/workflows/explorer-build.yml similarity index 96% rename from .github/workflows/check-build.yml rename to .github/workflows/explorer-build.yml index ccaebb73a..24fcfe389 100644 --- a/.github/workflows/check-build.yml +++ b/.github/workflows/explorer-build.yml @@ -1,4 +1,4 @@ -name: check-build +name: explorer-build on: push: workflow_dispatch: @@ -7,7 +7,7 @@ env: FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true jobs: - check-build: + build: timeout-minutes: 30 runs-on: ubuntu-latest steps: diff --git a/.github/workflows/check.yml b/.github/workflows/explorer-check.yml similarity index 94% rename from .github/workflows/check.yml rename to .github/workflows/explorer-check.yml index a1d30f35e..573c77027 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/explorer-check.yml @@ -1,4 +1,4 @@ -name: check +name: explorer-check on: push: workflow_dispatch: diff --git a/.github/workflows/check-e2e.yml b/.github/workflows/explorer-e2e.yml similarity index 97% rename from .github/workflows/check-e2e.yml rename to .github/workflows/explorer-e2e.yml index 43998c975..46ae9b785 100644 --- a/.github/workflows/check-e2e.yml +++ b/.github/workflows/explorer-e2e.yml @@ -1,4 +1,4 @@ -name: check-e2e +name: explorer-e2e on: push: workflow_dispatch: @@ -7,7 +7,7 @@ env: FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true jobs: - check-e2e: + e2e: timeout-minutes: 30 runs-on: ubuntu-latest steps: diff --git a/.github/workflows/check-http-client-unit-test.yml b/.github/workflows/explorer-http-client-unit-test.yml similarity index 88% rename from .github/workflows/check-http-client-unit-test.yml rename to .github/workflows/explorer-http-client-unit-test.yml index b663ec1cc..9ca88d6c9 100644 --- a/.github/workflows/check-http-client-unit-test.yml +++ b/.github/workflows/explorer-http-client-unit-test.yml @@ -1,4 +1,4 @@ -name: check-http-client-unit-test +name: explorer-http-client-unit-test on: push: workflow_dispatch: @@ -7,7 +7,7 @@ env: FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true jobs: - check-http-client-unit-test: + http-client-unit-test: runs-on: ubuntu-latest steps: - name: Checkout diff --git a/.github/workflows/check-rust.yml b/.github/workflows/explorer-rust.yml similarity index 98% rename from .github/workflows/check-rust.yml rename to .github/workflows/explorer-rust.yml index a1f18786a..bc1118694 100644 --- a/.github/workflows/check-rust.yml +++ b/.github/workflows/explorer-rust.yml @@ -1,4 +1,4 @@ -name: check-rust +name: explorer-rust on: push: workflow_dispatch: diff --git a/.github/workflows/check-unit-test.yml b/.github/workflows/explorer-unit-test.yml similarity index 89% rename from .github/workflows/check-unit-test.yml rename to .github/workflows/explorer-unit-test.yml index a46ed2f71..007becc1a 100644 --- a/.github/workflows/check-unit-test.yml +++ b/.github/workflows/explorer-unit-test.yml @@ -1,4 +1,4 @@ -name: check-unit-test +name: explorer-unit-test on: push: workflow_dispatch: @@ -7,7 +7,7 @@ env: FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true jobs: - check-unit-test: + unit-test: runs-on: ubuntu-latest steps: - name: Checkout diff --git a/.github/workflows/check-visual.yml b/.github/workflows/explorer-visual.yml similarity index 99% rename from .github/workflows/check-visual.yml rename to .github/workflows/explorer-visual.yml index a2d0c217a..93ed8b237 100644 --- a/.github/workflows/check-visual.yml +++ b/.github/workflows/explorer-visual.yml @@ -1,4 +1,4 @@ -name: check-visual +name: explorer-visual on: push: workflow_dispatch: diff --git a/.ryph/setup.yml b/.ryph/setup.yml index 39b0d51b1..aea6d13ed 100644 --- a/.ryph/setup.yml +++ b/.ryph/setup.yml @@ -9,9 +9,9 @@ steps: # The cargo warm steps only fill the image's target/ directories. At run # time cargo builds what a command needs when it runs, so a run that works # on another workspace member doesn't wait for two Rust workspaces. - - name: warm clippy (check-rust lint, image builds only) + - name: warm clippy (explorer-rust lint, image builds only) run: '[ "$RYPH_SETUP_PHASE" != image ] || RUSTFLAGS="-D warnings" cargo clippy --workspace --all-features --tests --locked' - - name: warm the Rust test build (check-rust test, image builds only) + - name: warm the Rust test build (explorer-rust test, image builds only) run: '[ "$RYPH_SETUP_PHASE" != image ] || cargo test --workspace --all-features --no-run --locked' # desktop/ is its own npm package and Cargo workspace. - name: install desktop npm dependencies diff --git a/CLAUDE.md b/CLAUDE.md index ca34f531d..a0b1e0ff9 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -21,7 +21,7 @@ checks and conventions: | `workers/` | explorer | Cloudflare workers (open-graph images) | | `scripts/` | explorer | Check, CI and e2e helper scripts | | `desktop/` | desktop | Tauri app: Svelte frontend in `desktop/src/`, Rust in `desktop/crates/` | -| `.github/workflows/` | both | GitHub CI: `check*.yml` for explorer, `desktop-*.yml` for desktop | +| `.github/workflows/` | both | GitHub CI: `explorer-*.yml` for explorer, `desktop-*.yml` for desktop | | `.buildkite/` | explorer | Radicle CI pipelines | | `.ryph/` | both | Dev machine image and setup for agents, see `.ryph/environment.md` | diff --git a/scripts/check-ci b/scripts/check-ci index 3062eb6ee..88452f941 100755 --- a/scripts/check-ci +++ b/scripts/check-ci @@ -1,10 +1,10 @@ #!/usr/bin/env bash # Runs the same checks as the explorer's GitHub workflows (.github/workflows/ -# check*.yml) and keeps the full output with per-step timings in +# explorer-*.yml) and keeps the full output with per-step timings in # tests/tmp/check-ci.log. That log lives outside tests/artifacts, which # Playwright clears when the e2e run starts. # -# Leaves out check-visual.yml: its baselines exist only as CI artifacts. The +# Leaves out explorer-visual.yml: its baselines exist only as CI artifacts. The # desktop app in desktop/ has its own desktop/scripts/check-ci. set -uo pipefail