-
Notifications
You must be signed in to change notification settings - Fork 1
Improve build workflow with latest actions, enhanced caching, reliability features, security attestations, and PR support #19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve build workflow with latest actions, enhanced caching, reliability features, security attestations, and PR support #19
Conversation
Co-authored-by: solsson <[email protected]>
…d caching Co-authored-by: solsson <[email protected]>
@copilot provenance/SBOM is necessary, make sure we include that in pushed images |
Co-authored-by: solsson <[email protected]>
Fixed! Provenance and SBOM attestations are now enabled for all pushed Docker images. The |
|
@copilot Enable the workflow for any PR that has the "push" label |
- Add pull_request trigger for labeled, synchronize, and opened events - Add conditional check to only run workflow for pushes to main, workflow_dispatch, or PRs with "push" label - Maintains existing functionality while enabling selective PR builds Co-authored-by: solsson <[email protected]>
Enabled! The workflow now triggers on PRs with the "push" label. Added pull_request events (labeled, synchronize, opened) with a conditional check to only run the build job when:
Changes in commit 6a9c995. |
512b399 to
6a9c995
Compare
e743136 to
e59f9d0
Compare
by removing the helm package source for the Yolean/ystack#63 workaround after installation
e59f9d0 to
0684bd2
Compare
|
I've confirmed that there are cached steps in for example builder-base-gcc and builder-base-gcloud. Buildkit outputs |
9caf62e to
2b211da
Compare
This PR comprehensively improves the Docker build workflow to address efficiency, reliability, and maintainability concerns while using the latest stable action versions and maintaining proper security attestations. Additionally, enables selective PR builds for testing changes before merge.
Key Improvements
Updated to Latest Action Versions
These updates provide bug fixes, security improvements, and performance enhancements from the latest releases.
Enhanced Caching Strategy
Implemented a sophisticated two-tier cache system that significantly improves build performance:
This provides:
Reliability and Observability Improvements
BUILDKIT_PROGRESS=plaincontinue-on-error: falseDOCKER_BUILDKIT=1Security and Attestation Features
attestations: write,id-token: write)Workflow Enhancements
workflow_dispatchwith force rebuild optionTechnical Details
The
test.shscript was enhanced to generate the improved workflow while maintaining full backward compatibility. The dependency detection system was refactored to properly integrate build contexts into the YAML structure, fixing previous syntax issues.Key changes to the generation logic:
base_actionfunctionBenefits
The changes maintain full compatibility with existing functionality while providing substantial improvements to build efficiency, reliability, and security. All 50+ Docker images continue to build in the same order with proper dependency handling, but now with better caching, error handling, modern tooling, proper security attestations, and the ability to test builds on PRs before merging.
Validation
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.