name: build-and-upload-docker on: release: types: [published] jobs: build-and-upload: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@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.DOCKER_HUB_USERNAME }} password: ${{ secrets.DOCKER_HUB_TOKEN }} - name: Parse release version id: get_version run: | # Remove 'refs/tags/' if present, fallback to GITHUB_REF_NAME if possible ref="${GITHUB_REF#refs/tags/}" if [ -z "$ref" ]; then ref="${GITHUB_REF_NAME:-}" fi echo "release_tag=$ref" >> "$GITHUB_OUTPUT" - name: Build and push run: | chmod +x ./build-and-push.sh ./build-and-push.sh "${{ steps.get_version.outputs.release_tag }}"