build-nightly-container.yml 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. name: Build and release container directly from master
  2. on:
  3. push:
  4. branches:
  5. - "master"
  6. paths-ignore:
  7. - "*.md"
  8. - LICENCE
  9. - TRANSLATION
  10. - invidious.service
  11. - .git*
  12. - .editorconfig
  13. - screenshots/*
  14. - .github/ISSUE_TEMPLATE/*
  15. - kubernetes/**
  16. jobs:
  17. release:
  18. runs-on: ubuntu-latest
  19. steps:
  20. - name: Checkout
  21. uses: actions/checkout@v4
  22. - name: Set up QEMU
  23. uses: docker/setup-qemu-action@v3
  24. with:
  25. platforms: arm64
  26. - name: Set up Docker Buildx
  27. uses: docker/setup-buildx-action@v3
  28. - name: Login to registry
  29. uses: docker/login-action@v3
  30. with:
  31. registry: quay.io
  32. username: ${{ secrets.QUAY_USERNAME }}
  33. password: ${{ secrets.QUAY_PASSWORD }}
  34. - name: Docker meta
  35. id: meta
  36. uses: docker/metadata-action@v5
  37. with:
  38. images: quay.io/invidious/invidious
  39. tags: |
  40. type=sha,format=short,prefix={{date 'YYYY.MM.DD'}}-,enable=${{ github.ref == format('refs/heads/{0}', 'master') }}
  41. type=raw,value=master,enable=${{ github.ref == format('refs/heads/{0}', 'master') }}
  42. labels: |
  43. quay.expires-after=12w
  44. - name: Build and push Docker AMD64 image for Push Event
  45. uses: docker/build-push-action@v5
  46. with:
  47. context: .
  48. file: docker/Dockerfile
  49. platforms: linux/amd64
  50. labels: ${{ steps.meta.outputs.labels }}
  51. push: true
  52. tags: ${{ steps.meta.outputs.tags }}
  53. build-args: |
  54. "release=1"
  55. - name: Docker meta
  56. id: meta-arm64
  57. uses: docker/metadata-action@v5
  58. with:
  59. images: quay.io/invidious/invidious
  60. flavor: |
  61. suffix=-arm64
  62. tags: |
  63. type=sha,format=short,prefix={{date 'YYYY.MM.DD'}}-,enable=${{ github.ref == format('refs/heads/{0}', 'master') }}
  64. type=raw,value=master,enable=${{ github.ref == format('refs/heads/{0}', 'master') }}
  65. labels: |
  66. quay.expires-after=12w
  67. - name: Build and push Docker ARM64 image for Push Event
  68. uses: docker/build-push-action@v5
  69. with:
  70. context: .
  71. file: docker/Dockerfile.arm64
  72. platforms: linux/arm64/v8
  73. labels: ${{ steps.meta-arm64.outputs.labels }}
  74. push: true
  75. tags: ${{ steps.meta-arm64.outputs.tags }}
  76. build-args: |
  77. "release=1"