build(deps): bump docker/build-push-action from 7.0.0 to 7.1.0 #4479
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: Build | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| branches: | |
| - main | |
| jobs: | |
| # Validates that we can compile on the targets below | |
| compile: | |
| strategy: | |
| matrix: | |
| go_version: | |
| - "1.25" | |
| - "1.26" | |
| goos: | |
| - darwin | |
| - freebsd | |
| - linux | |
| - netbsd | |
| - openbsd | |
| - windows | |
| goarch: | |
| - amd64 | |
| - arm64 | |
| name: cross-compilation (GOOS=${{ matrix.goos }}, GOARCH=${{ matrix.goarch }}) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6.0.2 | |
| - uses: actions/setup-go@v6.4.0 | |
| with: | |
| go-version: "1.x" | |
| - run: go build | |
| env: | |
| GOOS: ${{ matrix.goos }} | |
| GOARCH: ${{ matrix.goarch }} | |
| test: | |
| strategy: | |
| matrix: | |
| go_version: | |
| - "1.25" | |
| - "1.26" | |
| os: | |
| - macos | |
| - ubuntu | |
| - windows | |
| name: tests (${{ matrix.os }}/go-${{ matrix.go_version }}) | |
| runs-on: ${{ matrix.os }}-latest | |
| steps: | |
| - uses: actions/checkout@v6.0.2 | |
| - uses: actions/setup-go@v6.4.0 | |
| id: go | |
| with: | |
| go-version: ${{ matrix.go_version }} | |
| - name: run-tests-race | |
| run: go test -race -vet all -mod readonly ./... | |
| lint: | |
| name: lint | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6.0.2 | |
| - uses: golangci/golangci-lint-action@v9.2.0 | |
| staticcheck: | |
| name: staticcheck | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6.0.2 | |
| - uses: actions/setup-go@v6.4.0 | |
| id: go | |
| with: | |
| go-version: "1.26" | |
| - run: | | |
| go install honnef.co/go/tools/cmd/staticcheck@master | |
| - name: get staticcheck version | |
| id: get-staticcheck-version | |
| run: | | |
| echo "version=$(staticcheck --version | sed -e 's/,//g')" >>${GITHUB_OUTPUT} | |
| - name: staticcheck cache | |
| id: staticcheck-cache | |
| uses: actions/cache@v5.0.4 | |
| with: | |
| path: ~/.cache/staticcheck | |
| key: "${{ steps.get-staticcheck-version.outputs.version }}" | |
| - name: run staticcheck | |
| run: | | |
| staticcheck ./... | |
| build-artifact: | |
| name: build | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6.0.2 | |
| - uses: actions/setup-go@v6.4.0 | |
| id: go | |
| with: | |
| go-version: "1.26" | |
| - name: go-build | |
| run: go build -o fake-gcs-server | |
| env: | |
| CGO_ENABLED: 0 | |
| - name: sanity-check | |
| uses: docker://alpine | |
| with: | |
| entrypoint: sh | |
| args: -c "./fake-gcs-server -h" | |
| - name: upload binary | |
| uses: actions/upload-artifact@v7.0.0 | |
| with: | |
| name: fake-gcs-server | |
| path: ./fake-gcs-server | |
| retention-days: 1 | |
| test-examples: | |
| strategy: | |
| matrix: | |
| include: | |
| - lang: python | |
| docker-image: python:3.13 | |
| entrypoint: /bin/bash | |
| - lang: gsutil | |
| docker-image: python:3.11 | |
| entrypoint: /bin/bash | |
| - lang: gcloud | |
| docker-image: google/cloud-sdk:alpine | |
| entrypoint: /bin/sh | |
| - lang: node | |
| docker-image: node:20-alpine | |
| entrypoint: /bin/sh | |
| - lang: go | |
| docker-image: golang:1.26-alpine | |
| entrypoint: /bin/sh | |
| - lang: dotnet | |
| docker-image: mcr.microsoft.com/dotnet/sdk:5.0-alpine | |
| entrypoint: /bin/sh | |
| - lang: scala | |
| docker-image: mozilla/sbt:8u292_1.5.7 | |
| entrypoint: /bin/sh | |
| - lang: java | |
| docker-image: amazoncorretto:17 | |
| entrypoint: /bin/sh | |
| - lang: cpp | |
| docker-image: alpine:3.15.4 | |
| entrypoint: /bin/sh | |
| - lang: curl | |
| docker-image: alpine | |
| entrypoint: /bin/sh | |
| - lang: curl-both-scheme-default-ports | |
| docker-image: alpine | |
| entrypoint: /bin/sh | |
| - lang: curl-both-scheme-non-default-ports | |
| docker-image: alpine | |
| entrypoint: /bin/sh | |
| name: test-${{ matrix.lang }}-example | |
| runs-on: ubuntu-latest | |
| needs: | |
| - build-artifact | |
| - lint | |
| - staticcheck | |
| steps: | |
| - uses: actions/checkout@v6.0.2 | |
| - name: download binary | |
| uses: actions/download-artifact@v8.0.1 | |
| with: | |
| name: fake-gcs-server | |
| - name: fix permissions | |
| run: chmod +x fake-gcs-server | |
| - name: docker pull ${{ matrix.docker-image }} | |
| run: docker pull ${DOCKER_IMAGE} | |
| env: | |
| DOCKER_IMAGE: ${{ matrix.docker-image }} | |
| - name: test-${{ matrix.lang }}-example | |
| run: | | |
| docker run --entrypoint ${ENTRYPOINT} -v ${PWD}:${PWD} -w ${PWD} ${DOCKER_IMAGE} ci/run-${LANG}-example.sh | |
| env: | |
| DOCKER_IMAGE: ${{ matrix.docker-image }} | |
| ENTRYPOINT: ${{ matrix.entrypoint }} | |
| LANG: ${{ matrix.lang }} | |
| unblock-pr: | |
| name: unblock-pr | |
| runs-on: ubuntu-latest | |
| needs: | |
| - test-examples | |
| - test | |
| steps: | |
| - run: "true" |