name: RPM Packages permissions: read-all on: workflow_dispatch: push: tags: - '[0-9]+.[0-9]+.[0-9]+' schedule: - cron: '0 0 * * 1,4' # Runs at 00:00 UTC on Monday and Thursday pull_request: branches: [ main ] paths: - 'packaging/rpm/**' # Only run on changes to the rpm packaging files jobs: test-package: if: github.event_name == 'schedule' || github.event_name == 'pull_request' name: Test Packages runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 with: fetch-depth: 0 - name: Build RPM Package run: make rpm - name: List generated files run: ls -l *.rpm build-package-manually: if: github.event_name == 'workflow_dispatch' name: Build Packages Manually runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 with: fetch-depth: 0 - name: Build RPM Package run: make rpm - name: Upload package uses: actions/upload-artifact@v4 with: name: packages path: "*.rpm" if-no-files-found: error retention-days: 3 publish-package: if: github.event_name == 'push' name: Publish Packages runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 with: fetch-depth: 0 - name: Build RPM Package run: make rpm - name: List generated files run: ls -l *.rpm - name: Upload package to repository env: FURY_TOKEN: ${{ secrets.FURY_TOKEN }} run: for f in *.rpm; do curl -F package=@$f https://$FURY_TOKEN@push.fury.io/miniflux/; done