name: CD on: release: types: [published] push: tags: - v* permissions: contents: write jobs: build: uses: ./.github/workflows/build.yml generate_coverage: uses: ./.github/workflows/generate_coverage.yml homebrew: name: Bump Homebrew formula runs-on: macos-latest steps: - name: Update Homebrew formula if: startsWith(github.ref, 'refs/tags/') uses: dawidd6/action-homebrew-bump-formula@v3 with: token: ${{secrets.HOMEBREW_TOKEN}} formula: taskwarrior-tui deb: name: Publish deb package runs-on: ubuntu-latest steps: - name: Check out Git repository uses: actions/checkout@v4 - uses: clechasseur/rs-cargo@v2 with: command: build args: --release - name: Install cargo-deb run: cargo install cargo-deb - name: Build deb package run: cargo deb -p taskwarrior-tui -o target/debian/taskwarrior-tui.deb - name: Upload artifacts uses: actions/upload-artifact@v4 with: name: taskwarrior-tui-deb path: target/debian/taskwarrior-tui.deb - name: Releasing assets if: startsWith(github.ref, 'refs/tags/') uses: softprops/action-gh-release@v2 with: files: | target/debian/*.deb env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} rpm: name: Publish rpm package runs-on: ubuntu-latest steps: - name: Check out Git repository uses: actions/checkout@v4 - uses: clechasseur/rs-cargo@v2 with: command: build args: --release - name: Install rpm run: sudo apt-get install rpm - name: Install cargo-rpm run: cargo install cargo-rpm - name: Build rpm package run: cargo rpm build - name: Upload artifacts uses: actions/upload-artifact@v4 with: name: taskwarrior-tui-rpm path: target/release/rpmbuild/RPMS/x86_64/taskwarrior-tui-*.x86_64.rpm - name: Releasing assets if: startsWith(github.ref, 'refs/tags/') uses: softprops/action-gh-release@v2 with: files: | target/release/rpmbuild/RPMS/x86_64/taskwarrior-tui-*.x86_64.rpm env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} aur: name: Publish aur package runs-on: ubuntu-latest steps: - name: Check out Git repository uses: actions/checkout@v4 - uses: clechasseur/rs-cargo@v2 with: command: build args: --release - name: Install cargo-aur run: cargo install cargo-aur - name: Build aur package run: cargo aur