name: docker on: push: branches: - main tags: - '*' jobs: build: runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v3 - name: Extract DOCKER_TAG using tag name if: startsWith(github.ref, 'refs/tags/') run: | echo "DOCKER_TAG=${GITHUB_REF/refs\/tags\//}" >> $GITHUB_ENV - name: Use default DOCKER_TAG if: startsWith(github.ref, 'refs/tags/') != true run: | echo "DOCKER_TAG=latest" >> $GITHUB_ENV - name: Set lowercase repository name run: | echo "REPOSITORY_LC=${REPOSITORY,,}" >>${GITHUB_ENV} env: REPOSITORY: '${{ github.repository }}' - name: Set up Docker Buildx uses: docker/setup-buildx-action@v1 - name: Login to GitHub registry uses: docker/login-action@v1 with: username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} registry: ghcr.io - uses: docker/build-push-action@v2 with: push: true tags: ghcr.io/${{ env.REPOSITORY_LC }}:${{ env.DOCKER_TAG }}