chore(deps): update dependency @openai/codex to v0.135.0 (#472) #44
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
| name: Base Image | |
| on: | |
| push: | |
| branches: [main] | |
| paths: | |
| - images/Dockerfile.base-image* | |
| - scripts/base-image-tag.sh | |
| - .github/workflows/base-image.yml | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| packages: write | |
| jobs: | |
| build: | |
| name: build (${{ matrix.image.name }}, ${{ matrix.platform.platform }}) | |
| runs-on: ${{ matrix.platform.runner }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| image: | |
| - name: debian | |
| dockerfile: images/Dockerfile.base-image-debian | |
| repository: ghcr.io/buildkite/cleanroom-base/debian | |
| - name: debian-ruby | |
| dockerfile: images/Dockerfile.base-image-debian-ruby | |
| repository: ghcr.io/buildkite/cleanroom-base/debian-ruby | |
| - name: debian-docker | |
| dockerfile: images/Dockerfile.base-image-debian-docker | |
| repository: ghcr.io/buildkite/cleanroom-base/debian-docker | |
| - name: debian-agents | |
| dockerfile: images/Dockerfile.base-image-debian-agents | |
| repository: ghcr.io/buildkite/cleanroom-base/debian-agents | |
| - name: alpine | |
| dockerfile: images/Dockerfile.base-image | |
| repository: ghcr.io/buildkite/cleanroom-base/alpine | |
| - name: alpine-docker | |
| dockerfile: images/Dockerfile.base-image-docker | |
| repository: ghcr.io/buildkite/cleanroom-base/alpine-docker | |
| - name: alpine-agents | |
| dockerfile: images/Dockerfile.base-image-agents | |
| repository: ghcr.io/buildkite/cleanroom-base/alpine-agents | |
| platform: | |
| - platform: linux/amd64 | |
| platform_key: linux-amd64 | |
| runner: ubuntu-24.04 | |
| - platform: linux/arm64 | |
| platform_key: linux-arm64 | |
| runner: ubuntu-24.04-arm | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: docker/setup-buildx-action@v4 | |
| - uses: docker/login-action@v4 | |
| with: | |
| registry: ghcr.io | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| - uses: docker/build-push-action@v7 | |
| id: build | |
| with: | |
| context: . | |
| file: ${{ matrix.image.dockerfile }} | |
| platforms: ${{ matrix.platform.platform }} | |
| outputs: type=image,name=${{ matrix.image.repository }},push-by-digest=true,name-canonical=true,push=true | |
| - name: Export image digest | |
| run: | | |
| set -euo pipefail | |
| mkdir -p "$RUNNER_TEMP/digests" | |
| digest="${{ steps.build.outputs.digest }}" | |
| if [[ -z "$digest" ]]; then | |
| echo "build digest missing" >&2 | |
| exit 1 | |
| fi | |
| touch "$RUNNER_TEMP/digests/${digest#sha256:}" | |
| - uses: actions/upload-artifact@v7 | |
| with: | |
| name: digests__${{ matrix.image.name }}__${{ matrix.platform.platform_key }} | |
| path: ${{ runner.temp }}/digests/* | |
| if-no-files-found: error | |
| retention-days: 1 | |
| merge: | |
| name: merge (${{ matrix.image.name }}) | |
| runs-on: ubuntu-24.04 | |
| needs: build | |
| if: ${{ always() }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| image: | |
| - name: debian | |
| dockerfile: images/Dockerfile.base-image-debian | |
| repository: ghcr.io/buildkite/cleanroom-base/debian | |
| - name: debian-ruby | |
| dockerfile: images/Dockerfile.base-image-debian-ruby | |
| repository: ghcr.io/buildkite/cleanroom-base/debian-ruby | |
| - name: debian-docker | |
| dockerfile: images/Dockerfile.base-image-debian-docker | |
| repository: ghcr.io/buildkite/cleanroom-base/debian-docker | |
| - name: debian-agents | |
| dockerfile: images/Dockerfile.base-image-debian-agents | |
| repository: ghcr.io/buildkite/cleanroom-base/debian-agents | |
| - name: alpine | |
| dockerfile: images/Dockerfile.base-image | |
| repository: ghcr.io/buildkite/cleanroom-base/alpine | |
| - name: alpine-docker | |
| dockerfile: images/Dockerfile.base-image-docker | |
| repository: ghcr.io/buildkite/cleanroom-base/alpine-docker | |
| - name: alpine-agents | |
| dockerfile: images/Dockerfile.base-image-agents | |
| repository: ghcr.io/buildkite/cleanroom-base/alpine-agents | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Compute base image tag | |
| id: meta | |
| run: | | |
| echo "base_tag=$(scripts/base-image-tag.sh '${{ matrix.image.name }}' '${{ matrix.image.dockerfile }}')" >> "$GITHUB_OUTPUT" | |
| - uses: actions/download-artifact@v8 | |
| with: | |
| pattern: digests__${{ matrix.image.name }}__* | |
| path: ${{ runner.temp }}/digests | |
| merge-multiple: true | |
| if-no-files-found: ignore | |
| - uses: docker/setup-buildx-action@v4 | |
| - uses: docker/login-action@v4 | |
| with: | |
| registry: ghcr.io | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Create manifest list | |
| working-directory: ${{ runner.temp }}/digests | |
| env: | |
| BASE_TAG: ${{ steps.meta.outputs.base_tag }} | |
| EXPECTED_DIGEST_COUNT: "2" | |
| REPOSITORY: ${{ matrix.image.repository }} | |
| run: | | |
| set -euo pipefail | |
| shopt -s nullglob | |
| digests=(*) | |
| if [[ ${#digests[@]} -ne ${EXPECTED_DIGEST_COUNT} ]]; then | |
| echo "expected ${EXPECTED_DIGEST_COUNT} platform digests for ${REPOSITORY}, found ${#digests[@]}" >&2 | |
| exit 1 | |
| fi | |
| refs=() | |
| for digest in "${digests[@]}"; do | |
| refs+=("${REPOSITORY}@sha256:${digest}") | |
| done | |
| docker buildx imagetools create \ | |
| -t "${REPOSITORY}:latest" \ | |
| -t "${REPOSITORY}:${BASE_TAG}" \ | |
| -t "${REPOSITORY}:${GITHUB_SHA}" \ | |
| "${refs[@]}" | |
| - name: Inspect manifest list | |
| run: docker buildx imagetools inspect "${{ matrix.image.repository }}:latest" |