Skip to content

Commit

Permalink
Prevent issues with Docker Hub rate limits in CI (#704)
Browse files Browse the repository at this point in the history
Switches to the new GitHub Actions runner groups to:
1. Avoid the rate limit issues mentioned in:
   heroku/buildpacks-go#283
2. To update to Ubuntu 24.04

Also pre-pulls the builder and run images to prevent duplicate
pulls and impact on rate limits, as mentioned in:
heroku/buildpacks-python#223

See also:
https://salesforce.quip.com/bu6UA0KImOxJ#temp:C:GZR57becb9df8d94f80b132168fd
https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2404-Readme.md

GUS-W-16238120.
  • Loading branch information
edmorley authored Jul 17, 2024
1 parent 7fae421 commit 3530d64
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 4 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/check_changelog.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ permissions:

jobs:
check-changelog:
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
if: (!contains(github.event.pull_request.labels.*.name, 'skip changelog'))
steps:
- name: Checkout
Expand Down
18 changes: 15 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ env:
jobs:
lint:
name: Rust Code Linting
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v4
Expand All @@ -32,7 +32,7 @@ jobs:

unit-test:
name: Unit Tests
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v4
Expand All @@ -47,7 +47,7 @@ jobs:

integration-test:
name: Integration Tests (${{ matrix.buildpack-directory }}, ${{matrix.builder}}, ${{matrix.arch}})
runs-on: ${{ matrix.arch == 'arm64' && 'pub-hk-ubuntu-22.04-arm-large' || 'pub-hk-ubuntu-22.04-large' }}
runs-on: ${{ matrix.arch == 'arm64' && 'pub-hk-ubuntu-24.04-arm-large' || 'pub-hk-ubuntu-24.04-large' }}
strategy:
fail-fast: false
matrix:
Expand Down Expand Up @@ -80,6 +80,18 @@ jobs:
uses: Swatinem/rust-cache@v2
- name: Install Pack CLI
uses: buildpacks/github-actions/[email protected]
# The images are pulled up front to prevent duplicate pulls due to the tests being run concurrently.
- name: Pull builder image
run: docker pull ${{ env.INTEGRATION_TEST_BUILDER }}
- name: Pull run image
# Using `docker inspect` rather than `pack builder inspect` since the latter makes
# additional requests to Docker Hub even when the image is available locally.
run: |
RUN_IMAGE=$(
docker inspect --format='{{index .Config.Labels "io.buildpacks.builder.metadata"}}' '${{ env.INTEGRATION_TEST_BUILDER }}' \
| jq --exit-status --raw-output '.stack.runImage.image'
)
docker pull "${RUN_IMAGE}"
- name: Run integration tests
working-directory: ${{ matrix.buildpack-directory }}
# Runs only tests annotated with the `ignore` attribute (which in this repo, are the integration tests).
Expand Down

0 comments on commit 3530d64

Please sign in to comment.