name: Docker Build and Push on: push: branches: - main - beta jobs: docker: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 with: fetch-depth: 0 - name: Get version id: get_version run: | LATEST_TAG=$(git tag | sort -V | tail -n1) echo "latest_tag=${LATEST_TAG}" >> $GITHUB_ENV - name: Set channel id: set_channel run: | if [[ ${{ github.ref }} == 'refs/heads/beta' ]]; then echo "CHANNEL=beta" >> $GITHUB_ENV else echo "CHANNEL=stable" >> $GITHUB_ENV fi - name: Set up QEMU uses: docker/setup-qemu-action@v3 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Login to Docker Hub uses: docker/login-action@v3 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Build and push for beta branch if: github.ref == 'refs/heads/beta' uses: docker/build-push-action@v5 with: context: . platforms: linux/amd64,linux/arm64,linux/arm/v7 push: true tags: cy01/blackhole:beta build-args: | VERSION=${{ env.latest_tag }} CHANNEL=${{ env.CHANNEL }} - name: Build and push for main branch if: github.ref == 'refs/heads/main' uses: docker/build-push-action@v5 with: context: . platforms: linux/amd64,linux/arm64,linux/arm/v7 push: true tags: | cy01/blackhole:latest cy01/blackhole:${{ env.latest_tag }} build-args: | VERSION=${{ env.latest_tag }} CHANNEL=${{ env.CHANNEL }}