name: Publish Docker Image on: push: branches: - v* - master jobs: build: name: Build runs-on: ubuntu-latest steps: - name: Checkout base uses: actions/checkout@v2 with: fetch-depth: 0 - name: Set up QEMU uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v1 - name: Docker login env: DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} run: | echo "${DOCKER_PASSWORD}" | docker login --username "${DOCKER_USERNAME}" --password-stdin - name: Docker buildx image and push on master branch env: SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} if: github.ref == 'refs/heads/master' run: | docker buildx build --build-arg SSH_PRIVATE_KEY="${SSH_PRIVATE_KEY}" --output "type=image,push=true" --platform=linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64,linux/s390x --tag whyour/qinglong:latest docker/ - name: Replace branch without `v` if: startsWith(github.ref, 'refs/heads/') uses: actions/github-script@v1 id: version with: script: | return context.payload.ref.replace(/\/?refs\/heads\/v/, '') result-encoding: string - name: Docker buildx image and push on release env: SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} if: startsWith(github.ref, 'refs/heads/') run: | docker buildx build --build-arg SSH_PRIVATE_KEY="${SSH_PRIVATE_KEY}" --output "type=image,push=true" --platform=linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64,linux/s390x --tag whyour/qinglong:${{steps.version.outputs.result}} docker/ docker buildx build --build-arg SSH_PRIVATE_KEY="${SSH_PRIVATE_KEY}" --output "type=image,push=true" --platform=linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64,linux/s390x --tag whyour/qinglong:latest docker/