publish-docker-nightly.yaml 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. name: Docker Nightly Publish (amd64)
  2. on:
  3. push:
  4. branches: [ staging ]
  5. workflow_dispatch:
  6. permissions:
  7. contents: read
  8. jobs:
  9. docker:
  10. runs-on: ubuntu-latest
  11. steps:
  12. - name: Checkout
  13. uses: actions/checkout@v4
  14. - name: Set up Docker Buildx
  15. uses: docker/setup-buildx-action@v3
  16. - name: Login to Docker Hub
  17. uses: docker/login-action@v3
  18. with:
  19. username: ${{ secrets.DOCKERHUB_USERNAME }}
  20. password: ${{ secrets.DOCKERHUB_TOKEN }}
  21. - name: Extract metadata
  22. run: |
  23. echo "SHORT_SHA=${GITHUB_SHA::7}" >> $GITHUB_ENV
  24. echo "DATE_TAG=$(date +%Y%m%d)" >> $GITHUB_ENV
  25. - name: Build and push nightly image (amd64 only)
  26. uses: docker/build-push-action@v5
  27. env:
  28. BUILDKIT_PROGRESS: plain
  29. with:
  30. context: .
  31. file: ./RackPeek.Web/Dockerfile
  32. platforms: linux/amd64
  33. push: true
  34. target: final
  35. tags: |
  36. aptacode/rackpeek:nightly
  37. aptacode/rackpeek:nightly-${{ env.SHORT_SHA }}
  38. cache-from: type=gha
  39. cache-to: type=gha,mode=max