Skip to content

ci: add build-check workflow for multi-component CI pipeline#61

Merged
fslongjin merged 2 commits into
masterfrom
jinlong-ci-add-build-check
Apr 23, 2026
Merged

ci: add build-check workflow for multi-component CI pipeline#61
fslongjin merged 2 commits into
masterfrom
jinlong-ci-add-build-check

Conversation

@fslongjin
Copy link
Copy Markdown
Member

  • Add GitHub Actions workflow to build and verify CubeMaster, Cubelet, agent, network-agent and CubeShim components
  • Implement builder image caching with automatic rebuild on Dockerfile changes
  • Use matrix strategy for parallel component builds with binary verification
  • Configure path-based triggers for relevant source directories

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 23, 2026

Claude finished @fslongjin's task in 3m 57s —— View job


PR Review: ci: add build-check workflow

  • Gather context: read changed files and commit history
  • DCO check: verify Signed-off-by trailer
  • Code quality and best practices review
  • Bug and security review
  • Performance review
  • Post inline comments and final summary

DCO Check

The commit 2a4fc71 includes a valid Signed-off-by: jinlong <jinlong@tencent.com> trailer. DCO check passes.


Summary

Overall, this is a well-structured CI workflow. The matrix strategy for parallel builds, builder image caching with fallback logic, and binary verification are all good patterns. Below are the issues found, ranked by severity:

Must Fix:

  1. actions/checkout@v6 does not exist (line 98) — The latest version is v4. This will cause the workflow to fail immediately. The existing build-builder-image.yml correctly uses @v4.

Should Fix:
2. Missing CubeAPI component (line 6) — The Makefile has a cubeapi target and CubeAPI/ exists in the repo, but it's absent from both the path triggers and the build matrix. Changes to CubeAPI source won't trigger CI.
3. Binary verification error is uninformative (lines 189-192) — test -x fails silently without indicating which binary was missing. Adding an ::error:: annotation would make debugging much easier.

Suggestions:
4. Add workflow_dispatch trigger (line 15) — The existing build-builder-image.yml supports manual runs; this workflow should too for debugging purposes.
5. No dependency caching across matrix jobs (line 96) — All 5 parallel jobs independently download Go modules and Cargo deps. Adding actions/cache could significantly reduce build times.
6. continue-on-error: true on GHCR login may mask issues (line 138) — Consider adding a warning step when login fails so auth issues aren't silently swallowed.

Comment thread .github/workflows/build-check.yml
Comment thread .github/workflows/build-check.yml
Comment thread .github/workflows/build-check.yml
Comment thread .github/workflows/build-check.yml
expected_bins: |
_output/bin/network-agent

steps:
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No dependency caching across matrix jobs. Each matrix job independently downloads Go modules and Cargo dependencies. Consider adding caching steps (e.g., actions/cache for ~/go/pkg/mod and ~/.cargo/registry) to speed up builds, especially since 5 parallel jobs all download similar dependencies.

Note: Since builder-run runs inside Docker with mounted volumes, the cache mount paths need to align with BUILDER_HOME inside the container. This may require some coordination with the Makefile.

Comment thread .github/workflows/build-check.yml
- Add GitHub Actions workflow to build and verify CubeMaster, Cubelet, agent,
network-agent and CubeShim components
- Implement builder image caching with automatic rebuild on Dockerfile changes
- Use matrix strategy for parallel component builds with binary verification
- Configure path-based triggers for relevant source directories

Signed-off-by: jinlong <jinlong@tencent.com>
@fslongjin fslongjin force-pushed the jinlong-ci-add-build-check branch from 2a4fc71 to d6817c2 Compare April 23, 2026 09:52
- Add CubeAPI to the build-check workflow for CI pipeline
- Configure path-based triggers for CubeAPI changes
- Implement build command and expected binaries for CubeAPI component

Signed-off-by: jinlong <jinlong@tencent.com>
@fslongjin fslongjin merged commit 85ab046 into master Apr 23, 2026
12 checks passed
@chenhengqi chenhengqi deleted the jinlong-ci-add-build-check branch April 24, 2026 03:04
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