From f9456f3948f3276fce02ff0ca0b0265d967fa478 Mon Sep 17 00:00:00 2001 From: Marten Seemann Date: Sat, 16 Mar 2024 17:54:55 +1000 Subject: [PATCH] ci: build interop runner image --- .github/workflows/build-interop-docker.yml | 45 ++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 .github/workflows/build-interop-docker.yml diff --git a/.github/workflows/build-interop-docker.yml b/.github/workflows/build-interop-docker.yml new file mode 100644 index 0000000..4357ed6 --- /dev/null +++ b/.github/workflows/build-interop-docker.yml @@ -0,0 +1,45 @@ +name: Build interop Docker image +on: + push: + branches: + - master + - interop-runner + tags: + - 'v*' + +jobs: + interop: + runs-on: ${{ fromJSON(vars['DOCKER_RUNNER_UBUNTU'] || '"ubuntu-latest"') }} + steps: + - uses: actions/checkout@v4 + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + with: + platforms: linux/amd64,linux/arm64 + - name: Login to Docker Hub + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + - name: set tag name + id: tag + # Tagged releases won't be picked up by the interop runner automatically, + # but they can be useful when debugging regressions. + run: | + if [[ $GITHUB_REF == refs/tags/* ]]; then + echo "tag=${GITHUB_REF#refs/tags/}" | tee -a $GITHUB_OUTPUT; + echo "gitref=${GITHUB_REF#refs/tags/}" | tee -a $GITHUB_OUTPUT; + else + echo 'tag=latest' | tee -a $GITHUB_OUTPUT; + echo 'gitref=${{ github.sha }}' | tee -a $GITHUB_OUTPUT; + fi + - uses: docker/build-push-action@v5 + with: + context: "{{defaultContext}}:interop" + platforms: linux/amd64,linux/arm64 + push: true + build-args: | + GITREF=${{ steps.tag.outputs.gitref }} + tags: martenseemann/webtransport-go-interop:${{ steps.tag.outputs.tag }}