diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 6711b97c6..1475c5991 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -6,23 +6,32 @@ name: Publish Docker image on: push jobs: - push_to_registry: - name: Push Docker image to GitHub Packages + publish: + name: Publish Image runs-on: ubuntu-latest steps: - - name: Checkout - uses: actions/checkout@v2 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 - - name: Login to GitHub Container Registry - uses: docker/login-action@v1 - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - name: Build and push - uses: docker/build-push-action@v2 - with: - context: . - push: true - tags: ghcr.io/${{ github.repository_owner }}/superalgos:latest + - uses: actions/checkout@v2 + - name: Preparation + id: prep + run: | + REGISTRY="docker.pkg.github.com" + IMAGE="${REGISTRY}/${{ github.repository }}/${{ github.event.repository.name }}" + TAGS="${IMAGE}:${{ github.sha }}" + if [[ $GITHUB_REF == ref/head/master ]]; then + TAGS="${TAGS},${IMAGE}:latest" + fi + echo ::set-output name=tags::${TAGS} + - name: Docker Buildx setup + uses: docker/setup-buildx-action@v1 + - name: Login in to registry + uses: docker/login-action@v1 + with: + registry: docker.pkg.github.com + username: ${{ github.actor }} + password: ${{ github.token }} + - name: Push to registry + uses: docker/build-push-action@v2 + with: + push: true + file: ./Dockerfile + tags: ${{ steps.prep.outputs.tags }}