debian_packages.yml 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. name: Debian Packages
  2. permissions: read-all
  3. on:
  4. workflow_dispatch:
  5. push:
  6. tags:
  7. - '[0-9]+.[0-9]+.[0-9]+'
  8. schedule:
  9. - cron: '0 0 * * 1,4' # Runs at 00:00 UTC on Monday and Thursday
  10. pull_request:
  11. branches: [ main ]
  12. paths:
  13. - 'packaging/debian/**' # Only run on changes to the debian packaging files
  14. jobs:
  15. test-packages:
  16. if: (github.event_name == 'schedule' && github.repository_owner == 'miniflux')
  17. || github.event_name == 'pull_request'
  18. name: Test Packages
  19. runs-on: ubuntu-latest
  20. steps:
  21. - uses: actions/checkout@v6
  22. with:
  23. fetch-depth: 0
  24. - name: Set up QEMU
  25. uses: docker/setup-qemu-action@v4
  26. - name: Set up Docker Buildx
  27. uses: docker/setup-buildx-action@v4
  28. id: buildx
  29. with:
  30. install: true
  31. - name: Available Docker Platforms
  32. run: echo ${{ steps.buildx.outputs.platforms }}
  33. - name: Build Debian Packages
  34. run: make debian-packages
  35. - name: List generated files
  36. run: ls -l *.deb
  37. build-packages-manually:
  38. if: github.event_name == 'workflow_dispatch'
  39. name: Build Packages Manually
  40. runs-on: ubuntu-latest
  41. steps:
  42. - uses: actions/checkout@v6
  43. with:
  44. fetch-depth: 0
  45. - name: Set up QEMU
  46. uses: docker/setup-qemu-action@v4
  47. - name: Set up Docker Buildx
  48. uses: docker/setup-buildx-action@v4
  49. id: buildx
  50. with:
  51. install: true
  52. - name: Available Docker Platforms
  53. run: echo ${{ steps.buildx.outputs.platforms }}
  54. - name: Build Debian Packages
  55. run: make debian-packages
  56. - name: Upload package
  57. uses: actions/upload-artifact@v7
  58. with:
  59. name: packages
  60. path: "*.deb"
  61. if-no-files-found: error
  62. retention-days: 3
  63. publish-packages:
  64. if: github.event_name == 'push' && github.repository_owner == 'miniflux'
  65. name: Publish Packages
  66. runs-on: ubuntu-latest
  67. steps:
  68. - uses: actions/checkout@v6
  69. with:
  70. fetch-depth: 0
  71. - name: Set up QEMU
  72. uses: docker/setup-qemu-action@v4
  73. - name: Set up Docker Buildx
  74. uses: docker/setup-buildx-action@v4
  75. id: buildx
  76. with:
  77. install: true
  78. - name: Available Docker Platforms
  79. run: echo ${{ steps.buildx.outputs.platforms }}
  80. - name: Build Debian Packages
  81. run: make debian-packages
  82. - name: List generated files
  83. run: ls -l *.deb
  84. - name: Upload packages to repository
  85. env:
  86. FURY_TOKEN: ${{ secrets.FURY_TOKEN }}
  87. run: for f in *.deb; do curl -F package=@$f https://$FURY_TOKEN@push.fury.io/miniflux/; done