name: Build and Push Docker Image permissions: contents: read packages: write on: # push: # branches: # - main # - master release: types: [published] workflow_dispatch: jobs: build: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v3 - name: Setup Docker Buildx uses: docker/setup-buildx-action@v2 - name: Login to GitHub Container Registry uses: docker/login-action@v2 with: registry: ghcr.io username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Define lowercase variables id: vars run: | REPO_OWNER_LOWER=$(echo "$GITHUB_REPOSITORY_OWNER" | tr '[:upper:]' '[:lower:]') REPO_NAME_LOWER=$(echo "$GITHUB_REPOSITORY" | cut -d'/' -f2 | tr '[:upper:]' '[:lower:]') echo "REPO_OWNER_LOWER=$REPO_OWNER_LOWER" >> $GITHUB_ENV echo "REPO_NAME_LOWER=$REPO_NAME_LOWER" >> $GITHUB_ENV - name: Build and push Docker image uses: docker/build-push-action@v4 with: context: app_docker/ file: app_docker/Dockerfile push: true tags: | ghcr.io/${{ env.REPO_OWNER_LOWER }}/${{ env.REPO_NAME_LOWER }}:latest ghcr.io/${{ env.REPO_OWNER_LOWER }}/${{ env.REPO_NAME_LOWER }}:${{ github.sha }}