publish-docker.yml 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. name: Publish Docker image
  2. on:
  3. push:
  4. branches: [main]
  5. release:
  6. types: [published]
  7. jobs:
  8. push_to_registry:
  9. name: Push Docker image to Docker Hub
  10. runs-on: ubuntu-latest
  11. steps:
  12. - name: Check out the repo
  13. uses: actions/checkout@v3
  14. - name: Set up QEMU
  15. uses: docker/setup-qemu-action@v2
  16. - name: Set up Docker Buildx
  17. uses: docker/setup-buildx-action@v2
  18. - name: Log in to Docker Hub
  19. uses: docker/login-action@v2
  20. with:
  21. username: ${{ secrets.DOCKER_USERNAME }}
  22. password: ${{ secrets.DOCKER_PASSWORD }}
  23. - name: Extract metadata (tags, labels) for Docker
  24. id: meta
  25. uses: docker/metadata-action@v4
  26. with:
  27. images: hoppscotch/hoppscotch
  28. flavor: |
  29. latest=true
  30. prefix=
  31. suffix=
  32. - name: Build and push Docker image
  33. uses: docker/build-push-action@v3
  34. with:
  35. context: .
  36. push: true
  37. platforms: linux/amd64,linux/arm64/v8,linux/arm/v7
  38. tags: ${{ steps.meta.outputs.tags }}
  39. labels: ${{ steps.meta.outputs.labels }}