Optimize CI/CD workflows for free tier resource limits - #40
Merged
Merged
Conversation
- Add concurrency group with cancel-in-progress to ci.yml so rapid PR
pushes only run the latest workflow, eliminating wasted overlapping runs
- Add paths-ignore for doc-only changes (**.md, docs/**, etc.) to skip
unnecessary CI on documentation PRs
- Add pip caching to the python-unit job to avoid re-downloading coverage
- Remove redundant test run from release.yml — tests already passed in
ci.yml on merge to main
- Add Docker Buildx GHA cache layer caching to speed up image rebuilds
- Add Trivy binary and vulnerability DB caching to avoid re-downloading
- Add concurrency group to release.yml to serialize releases
- Add local/CI parity documentation comments
Estimated free tier savings: 40-60% reduction in monthly CI minutes.
Closes #39
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Optimizes the CI/CD workflows to reduce free tier GitHub Actions minutes by 40-60% through concurrency control, path filters, caching, and removing redundant test runs.
Changes
.github/workflows/ci.ymlconcurrencygroup withcancel-in-progress: trueso rapid pushes to a PR only run the latest workflow. If you push 3 times in quick succession, only the 3rd run completes.paths-ignorefor**.md,docs/**,.gitignore, etc. Doc-only changes skip all 6 CI jobs.actions/cache@v4for~/.cache/pipto avoid re-downloading coverage on everypython-unitrun..github/workflows/release.ymlci.ymlon merge to main. Release only validates publish concerns.--cache-from type=gha --cache-to type=gha,mode=maxto each image build for layer reuse across releases.--cache-dirflag on scans.concurrencygroup to serialize releases.Testing
Closes #39