taskwarrior-tui/.github/workflows/cd.yml
2024-11-13 21:31:31 +01:00

102 lines
No EOL
2.7 KiB
YAML

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