diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 670b9b1..7e9a9a6 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,14 +1,12 @@ name: Build on: - # Trigger the workflow on push or pull request, - # but only for the main branch push: branches: - - main + - "**" + tags: + - "v*.*.*" pull_request: - branches: - - main env: # environment variables (available in any part of the action) PYTHON_VERSION: 3.11 @@ -21,36 +19,50 @@ jobs: - name: Create more disk space run: sudo rm -rf /usr/share/dotnet && sudo rm -rf /opt/ghc && sudo rm -rf "/usr/local/share/boost" && sudo rm -rf "$AGENT_TOOLSDIRECTORY" - - name: Git checkout - uses: actions/checkout@v4 + # - name: Git checkout + # uses: actions/checkout@v4 + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@v5 + with: + images: ghcr.io/${{ github.repository }} + tags: | + type=schedule + type=ref,event=branch + type=ref,event=pr + type=semver,pattern={{version}} + type=semver,pattern={{major}}.{{minor}} + type=semver,pattern={{major}} + type=sha - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - - name: Login to Docker Hub + - name: Login to GHCR + if: github.event_name != 'pull_request' uses: docker/login-action@v3 with: registry: ghcr.io username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - - name: Extract metadata (tags, labels) for Docker - id: meta - uses: docker/metadata-action@v5 - with: - images: ghcr.io/${{ github.repository }} - - name: Build and push id: push uses: docker/build-push-action@v6 with: - context: . - push: true - tags: ${{ steps.meta.outputs.tags }} + push: ${{ github.event_name != 'pull_request' }} + # tags: ${{ steps.meta.outputs.tags }} + tags: cprex:latest labels: ${{ steps.meta.outputs.labels }} + cache-from: type=gha + cache-to: type=gha,mode=max + load: true - name: Image digest - run: echo ${{ steps.push.outputs.digest }} + run: | + echo ${{ steps.push.outputs.digest }} + docker image inspect cprex:latest + docker history cprex:latest # - name: Generate artifact attestation # uses: actions/attest-build-provenance@v1