Skip to content

ci: extract reusable bazel-ci workflow with parallel builds#7

Merged
clappingmonkey merged 4 commits intomainfrom
ci/reusable-workflow
Mar 17, 2026
Merged

ci: extract reusable bazel-ci workflow with parallel builds#7
clappingmonkey merged 4 commits intomainfrom
ci/reusable-workflow

Conversation

@clappingmonkey
Copy link
Copy Markdown
Owner

  • Create bazel-ci.yaml reusable workflow for test, build, and publish
  • Simplify test.yaml to call reusable workflow (removes duplication)
  • Simplify release.yaml to call reusable workflow
  • Add workflow_dispatch trigger with dry-run option for manual runs
  • Implement matrix strategy for parallel cross-compilation (5 platforms)
  • Unify cache keys: bazel-{branch}-{lockfile-hash} for better sharing
  • Add restore-keys fallback to main branch cache for new branches

Benefits:

  • ~60% less workflow code duplication
  • ~4 min faster releases (parallel platform builds vs sequential)
  • Better cache hit rates (PR cache warms post-merge builds)

- Create bazel-ci.yaml reusable workflow for test, build, and publish
- Simplify test.yaml to call reusable workflow (removes duplication)
- Simplify release.yaml to call reusable workflow
- Add workflow_dispatch trigger with dry-run option for manual runs
- Implement matrix strategy for parallel cross-compilation (5 platforms)
- Unify cache keys: bazel-{branch}-{lockfile-hash} for better sharing
- Add restore-keys fallback to main branch cache for new branches

Benefits:
- ~60% less workflow code duplication
- ~4 min faster releases (parallel platform builds vs sequential)
- Better cache hit rates (PR cache warms post-merge builds)
Configure changelog-sections to organize release notes:
- Features, Bug Fixes, Performance, Reverts, Documentation shown
- Internal changes (ci, test, chore, refactor, build) hidden

This keeps the CHANGELOG focused on user-facing changes.
- Add x-release-please-version annotation to MODULE.bazel
- Update version to 0.2.0 to match manifest
- Remove undocumented 'search' regex from extra-files config

The annotation approach is the documented method for generic updaters.
- Move .release-please-config.json → .github/release-please-config.json
- Move .release-please-manifest.json → .github/release-please-manifest.json
- Update release.yaml to reference new config paths

Groups all GitHub-related configuration together.
@clappingmonkey clappingmonkey merged commit df0798b into main Mar 17, 2026
6 checks passed
@clappingmonkey clappingmonkey deleted the ci/reusable-workflow branch March 17, 2026 20:01
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