name: Debian Packages permissions: read-all on: workflow_dispatch: push: tags: - '[0-9]+.[0-9]+.[0-9]+' pull_request: branches: [ main ] jobs: test-packages: if: github.event.pull_request name: Test Packages runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - name: Set up QEMU uses: docker/setup-qemu-action@v3 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 id: buildx with: install: true - name: Available Docker Platforms run: echo ${{ steps.buildx.outputs.platforms }} - name: Build Debian Packages run: make debian-packages - name: List generated files run: ls -l *.deb build-packages-manually: if: github.event_name != 'pull_request' && github.event_name != 'push' name: Build Packages Manually runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - name: Set up QEMU uses: docker/setup-qemu-action@v3 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 id: buildx with: install: true - name: Available Docker Platforms run: echo ${{ steps.buildx.outputs.platforms }} - name: Build Debian Packages run: make debian-packages - name: Upload package uses: actions/upload-artifact@v4 with: name: packages path: "*.deb" if-no-files-found: error retention-days: 3 publish-packages: if: github.event_name == 'push' name: Publish Packages runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - name: Set up QEMU uses: docker/setup-qemu-action@v3 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 id: buildx with: install: true - name: Available Docker Platforms run: echo ${{ steps.buildx.outputs.platforms }} - name: Build Debian Packages run: make debian-packages - name: List generated files run: ls -l *.deb - name: Upload packages to repository env: FURY_TOKEN: ${{ secrets.FURY_TOKEN }} run: for f in *.deb; do curl -F package=@$f https://$FURY_TOKEN@push.fury.io/miniflux/; done