Skip to content

CI: modernize actions, add release automation and Dependabot#2

Merged
TX-RX merged 1 commit into
mainfrom
ci-modernization
Jul 8, 2026
Merged

CI: modernize actions, add release automation and Dependabot#2
TX-RX merged 1 commit into
mainfrom
ci-modernization

Conversation

@TX-RX

@TX-RX TX-RX commented Jul 8, 2026

Copy link
Copy Markdown
Owner

Housekeeping so the fork can actually build and cut its own releases.

Build workflow ( + 'build.yml' + )

  • Trigger on push to + 'main' + , PRs to + 'main' + , tag pushes + 'v*' + , and + 'workflow_dispatch' + (manual runs from the Actions UI).
  • Bump + 'actions/checkout' + , + 'actions/cache' + , + 'actions/setup-node' + and + 'pnpm/action-setup' + to their v4 releases.
  • Node 18 → 22, pnpm 8 → 10.
  • + 'ubuntu-22.04' + + 'ubuntu-24.04' + , + 'macos-13' + + 'macos-14' + (older images are on GitHub's deprecation timer).
  • Remove the + 'cargo update' + step from every build. It silently upgraded transitive deps on every push; reproducibility should come from + 'Cargo.lock' + , and any intentional dependency bumps should come through Dependabot PRs.

Release job

  • Runs only when a + 'refs/tags/v*' + push arrives.
  • Depends on all three platform builds, so it only fires after they succeed.
  • Downloads their artifacts and publishes a GitHub Release with auto-generated notes and every binary attached.
  • Uses + 'contents: write' + scoped to just this job (least-privilege).

Dependabot ( + '.github/dependabot.yml' + )

  • Weekly PRs for + 'cargo' + , + 'npm' + (in + 'client/' + ), and + 'github-actions' + .
  • Group minor+patch bumps so we don't drown in PRs.
  • Majors surface individually — those get real review before we accept the breakage.

Explicitly does not touch upstream logic or dependencies. Anything beyond CI/security posture belongs in the other PRs on this fork.

Build workflow:
- Bump actions/checkout, actions/cache, actions/setup-node to v4;
  pnpm/action-setup to v4.
- Bump Node.js 18 -> 22, pnpm 8 -> 10.
- Bump ubuntu-22.04 -> ubuntu-24.04 and macos-13 -> macos-14 (the older
  images are on GitHub's deprecation path).
- Trigger on push to main, PRs to main, tag pushes matching v*, and
  workflow_dispatch (manual trigger from the Actions tab).
- Drop the `cargo update` step in each build so builds are reproducible
  against the committed Cargo.lock. Dependency bumps should come via
  Dependabot PRs, not silently on every push.

New release job in the same workflow:
- Runs only on tag pushes (refs/tags/v*).
- Depends on all three platform builds.
- Downloads their artifacts and publishes a GitHub Release with
  auto-generated notes and all binaries attached.
- Uses least-privilege permissions (contents: write only for release).

Dependabot config:
- Weekly updates for cargo, npm (client/), and github-actions.
- Group minor+patch bumps to keep PR noise down; majors surface
  individually so they get real review.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@TX-RX
TX-RX force-pushed the ci-modernization branch from efc4cae to 0acbebf Compare July 8, 2026 17:31
@TX-RX
TX-RX merged commit 4e9f19b into main Jul 8, 2026
4 checks passed
@TX-RX
TX-RX deleted the ci-modernization branch July 8, 2026 17:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant