publish-docker.yml 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. name: Publish Docker image
  2. on:
  3. push:
  4. branches: [main]
  5. release:
  6. types: [published]
  7. jobs:
  8. publish:
  9. name: Publish
  10. runs-on: ubuntu-latest
  11. steps:
  12. - name: Maximize build space
  13. uses: easimon/maximize-build-space@master
  14. with:
  15. root-reserve-mb: 8192
  16. swap-size-mb: 18432
  17. remove-dotnet: 'true'
  18. remove-android: 'true'
  19. remove-haskell: 'true'
  20. - name: Checkout
  21. uses: actions/checkout@v3
  22. - name: Set up QEMU
  23. uses: docker/setup-qemu-action@v2
  24. - name: Set up Docker Buildx
  25. uses: docker/setup-buildx-action@v2
  26. - name: Log in to Docker Hub
  27. uses: docker/login-action@v2
  28. with:
  29. username: ${{ secrets.DOCKER_USERNAME }}
  30. password: ${{ secrets.DOCKER_PASSWORD }}
  31. - name: Extract metadata (tags, labels) for Docker
  32. id: meta
  33. uses: docker/metadata-action@v4
  34. with:
  35. images: hoppscotch/hoppscotch
  36. flavor: |
  37. latest=true
  38. prefix=
  39. suffix=
  40. - name: Build and push Docker image
  41. uses: docker/build-push-action@v3
  42. with:
  43. context: .
  44. push: true
  45. platforms: linux/amd64,linux/arm64
  46. tags: ${{ steps.meta.outputs.tags }}
  47. labels: ${{ steps.meta.outputs.labels }}