-
Notifications
You must be signed in to change notification settings - Fork 9.3k
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
Speed up CI setup to ~25-~40s with actions/cache use #34321
base: master
Are you sure you want to change the base?
Conversation
75986b2
to
f66aa76
Compare
c1c4b3a
to
46a0c94
Compare
The process replay job took 46s so this does not fully address the bounty or the sub-bounty requirements |
- id: docker-cache-restore | ||
uses: ./.github/workflows/auto-cache | ||
with: | ||
path: .ci_cache/docker | ||
restore-keys: docker-${{ hashFiles('Dockerfile.openpilot_base', 'tools/install_ubuntu_dependencies.sh', 'tools/install_python_dependencies.sh', 'uv.lock', '.github/workflows/setup/action.yaml') }} | ||
key: docker-${{ hashFiles('Dockerfile.openpilot_base', 'tools/install_ubuntu_dependencies.sh', 'tools/install_python_dependencies.sh', 'uv.lock', '.github/workflows/setup/action.yaml') }} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We don't want to do all that extra caching when using a namespace runner, aka when this condition is true: ((github.repository == 'commaai/openpilot') && ((github.event_name != 'pull_request') || (github.event.pull_request.head.repo.full_name == 'commaai/openpilot')))
if: steps.docker-cache-restore.outputs.cache-hit != 'true' | ||
uses: actions/cache/save@v4 | ||
env: | ||
ZSTD_NBTHREADS: 0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's interesting. How much does it affect the total setup time?
For #30706
Github actions cache speed is quite inconsistent (varies from 50MB/s to 300+MB/s), so worst case scenario is ~40s.
Example run: https://github.com/commaai/openpilot/actions/runs/12552012526