name: Release on: workflow_run: workflows: - Build types: - completed branches: - master jobs: dockerhub: if: ${{ github.event.workflow_run.conclusion == 'success' }} runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - id: meta name: Docker meta uses: docker/metadata-action@v5 with: images: ${{ github.repository }} tags: | type=semver,pattern={{version}} type=semver,pattern={{major}}.{{minor}} type=semver,pattern={{major}} type=edge,branch=${{ github.event.repository.default_branch }} - id: version name: Set up build version run: | if [[ $GITHUB_REF_TYPE == "tag" ]]; then VERSION=${GITHUB_REF#refs/tags/} else BRANCH_NAME=${GITHUB_REF#refs/heads/} SHORT_SHA=$(git rev-parse --short $GITHUB_SHA) VERSION="${BRANCH_NAME}-${SHORT_SHA}" fi echo "### Version: $VERSION" >> $GITHUB_STEP_SUMMARY echo "version=$VERSION" >> "$GITHUB_OUTPUT" - name: Set up QEMU uses: docker/setup-qemu-action@v3 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Log in to the Container registry uses: docker/login-action@v3 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Build and Push uses: docker/build-push-action@v5 with: push: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} platforms: linux/amd64,linux/arm64 build-args: | VERSION=${{ steps.version.outputs.version }} COMMIT=${{ github.sha }}