name: build on: push: branches: [ main ] jobs: build: runs-on: ubuntu-latest strategy: matrix: architecture: [ amd64, arm64v8 ] steps: - name: Checkout uses: actions/checkout@v3 with: fetch-depth: 0 # get entire git tree, required for nerdbank gitversioning - name: Login to GitHub Container Registry uses: docker/login-action@v2 with: registry: ghcr.io username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Build and push the Docker image shell: pwsh run: | Push-Location src $version = (nbgv get-version -f json | ConvertFrom-Json).SimpleVersion Write-Host "Version $version" Pop-Location if ('${{ matrix.architecture }}' -eq 'arm64v8') { sudo apt-get install qemu binfmt-support qemu-user-static docker run --rm --privileged multiarch/qemu-user-static --reset -p yes } docker build . -t ghcr.io/g3rv4/fakerelay:latest-${{ matrix.architecture }} --build-arg ARCH=${{ matrix.architecture }} docker tag ghcr.io/g3rv4/fakerelay:latest-${{ matrix.architecture }} ghcr.io/g3rv4/fakerelay:$version-${{ matrix.architecture }} docker push ghcr.io/g3rv4/fakerelay:latest-${{ matrix.architecture }} docker push ghcr.io/g3rv4/fakerelay:$version-${{ matrix.architecture }} if ('${{ matrix.architecture }}' -eq 'amd64') { docker tag ghcr.io/g3rv4/fakerelay:latest-${{ matrix.architecture }} ghcr.io/g3rv4/fakerelay:latest docker push ghcr.io/g3rv4/fakerelay:latest }