name: Release
on:
push:
tags:
- "v*"
permissions:
contents: write
jobs:
build-and-release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y libudev-dev
- name: Install cargo-deb and cargo-generate-rpm
run: |
cargo install cargo-deb
cargo install cargo-generate-rpm
- name: Build release binary
run: cargo build --release
- name: Build Debian package
run: cargo deb
- name: Build RPM package
run: cargo generate-rpm
- name: Create tarball
run: |
tar -czf rgm-linux-x86_64.tar.gz -C target/release rgm
- name: Create Release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
with:
files: |
rgm-linux-x86_64.tar.gz
target/debian/*.deb
target/generate-rpm/*.rpm
draft: false
prerelease: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}