publish-docker-nightly.yaml 1.2 KB

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