Skip to content

feat: version 0.6.0 #91

feat: version 0.6.0

feat: version 0.6.0 #91

Workflow file for this run

name: CI
on:
push:
branches:
- main
pull_request:
branches:
- main
release:
types: [published]
jobs:
commits:
name: commits
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: webiny/[email protected]
linter:
name: linter
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: sudo apt update && sudo apt install -y libgtk-4-dev libglib2.0-dev
- name: Clippy
run: cargo clippy --all --all-features -- -D warnings
- name: Format
run: cargo fmt --all -- --check
build:
strategy:
fail-fast: false
matrix:
arch: [x86_64, aarch64]
include:
- arch: x86_64
image: amd64_builder
- arch: aarch64
image: arm64_builder
name: build ${{ matrix.arch }}
runs-on: ubuntu-latest
needs: linter
permissions: write-all
steps:
- uses: actions/checkout@v4
- name: Set up qemu
uses: docker/setup-qemu-action@v2
- name: Set up docker buildx
uses: docker/setup-buildx-action@v1
- name: Create builder image
run: |
docker buildx create --use
docker buildx inspect --bootstrap
docker buildx build . -t ${{ matrix.image }} -f docker/${{ matrix.image }}/Dockerfile
- name: List images
run: docker images
- name: Build project
run: >
docker run --rm -v ${{ github.workspace }}:/workspace -w /workspace
${{ matrix.image }}
cargo build --release
- name: Install packaging dependencies
run: >
sudo apt update && sudo apt install -y
build-essential
ruby
ruby-dev
rubygems
rpm
libarchive-tools
- name: Install fpm
run: sudo gem install fpm
- name: Build debian package
run: >
fpm -t deb -p airgorah_${{ matrix.arch }}.deb --architecture native
--depends policykit-1
--depends "libgtk-4-1 (>= 4.6.0)"
--depends dbus-x11
--depends wireshark-common
--depends iproute2
--depends mdk4
--depends crunch
- name: Save debian artifact
uses: actions/upload-artifact@v3
with:
name: airgorah_${{ matrix.arch }}.deb
path: ./airgorah_${{ matrix.arch }}.deb
if-no-files-found: error
- name: Build redhat package
run: >
fpm -t rpm -p airgorah_${{ matrix.arch }}.rpm --architecture native
--depends polkit
--depends "gtk4-devel >= 4.6.0"
--depends dbus-x11
--depends wireshark-cli
--depends iproute
- name: Save redhat artifact
uses: actions/upload-artifact@v3
with:
name: airgorah_${{ matrix.arch }}.rpm
path: ./airgorah_${{ matrix.arch }}.rpm
if-no-files-found: error
- name: Build archlinux package
run: >
fpm -t pacman -p airgorah_${{ matrix.arch }}.pkg.tar.zst --architecture native
--depends polkit
--depends gtk4
--depends dbus
--depends wireshark-cli
--depends iproute2
--depends mdk4
- name: Save archlinux artifact
uses: actions/upload-artifact@v3
with:
name: airgorah_${{ matrix.arch }}.pkg.tar.zst
path: ./airgorah_${{ matrix.arch }}.pkg.tar.zst
if-no-files-found: error
- name: Get release version
id: 'tag'
if: github.event_name == 'release'
run: echo "tag=${{ github.ref_name }}" | sed 's/v//' >> $GITHUB_OUTPUT
- name: Rename packages
if: github.event_name == 'release'
run: |
cp ./airgorah_${{ matrix.arch }}.deb ./airgorah_${{ steps.tag.outputs.tag }}_${{ matrix.arch }}.deb
cp ./airgorah_${{ matrix.arch }}.rpm ./airgorah_${{ steps.tag.outputs.tag }}_${{ matrix.arch }}.rpm
cp ./airgorah_${{ matrix.arch }}.pkg.tar.zst ./airgorah_${{ steps.tag.outputs.tag }}_${{ matrix.arch }}.pkg.tar.zst
- name: Upload packages
if: github.event_name == 'release'
uses: softprops/action-gh-release@v1
with:
files: |
./airgorah_${{ steps.tag.outputs.tag }}_${{ matrix.arch }}.deb
./airgorah_${{ steps.tag.outputs.tag }}_${{ matrix.arch }}.rpm
./airgorah_${{ steps.tag.outputs.tag }}_${{ matrix.arch }}.pkg.tar.zst
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}