# Trigger this workflow only to manually create a Docker release; this should only be used # in extraordinary circumstances, as Docker releases are normally created automatically as # part of the automated release workflow. name: release-manual-docker on: workflow_dispatch: inputs: ref: default: '' description: 'Reference (tag / SHA):' env: REGISTRY: docker.io IMAGE_NAME: parseplatform/parse-server jobs: build: runs-on: ubuntu-18.04 permissions: contents: read packages: write steps: - name: Determine branch name id: branch run: echo "::set-output name=branch_name::${GITHUB_REF#refs/*/}" - name: Checkout repository uses: actions/checkout@v2 with: ref: ${{ github.event.inputs.ref }} - name: Set up QEMU id: qemu uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v1 - name: Log into Docker Hub if: github.event_name != 'pull_request' uses: docker/login-action@v1 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Extract Docker metadata id: meta uses: docker/metadata-action@v3 with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} # The following parameter is modified to manually make pre-releases on the `master` branch; # change this accordingly before adding release automation. flavor: | latest=false # The following parameter is modified to manually make pre-releases on the `master` branch; # change this accordingly before adding release automation. tags: | type=semver,enable=true,pattern={{version}},value=${{ github.event.inputs.ref }} - name: Build and push Docker image uses: docker/build-push-action@v2 with: context: . platforms: linux/amd64, linux/arm/v6, linux/arm/v7, linux/arm64/v8 push: ${{ github.event_name != 'pull_request' }} tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }}