57 lines
2.2 KiB
YAML
57 lines
2.2 KiB
YAML
name: Build debian package
|
|
|
|
on:
|
|
release:
|
|
branches: '*'
|
|
types: [published]
|
|
|
|
env:
|
|
APP_NAME: alsa-scarlett-gui
|
|
APP_VERSION: ${{ github.event.release.tag_name }}
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-22.04
|
|
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
- name: Install build dependencies
|
|
run: |
|
|
sudo apt -y update
|
|
sudo apt -y install git make gcc libgtk-4-dev libasound2-dev libssl-dev
|
|
|
|
- name: Build from sources
|
|
run: |
|
|
make -C src -j4 PREFIX=/usr
|
|
|
|
- name: Prepare package workspace
|
|
run: |
|
|
mkdir -p ${{ github.workspace }}/deb-workspace/usr/bin \
|
|
${{ github.workspace }}/deb-workspace/usr/share/applications \
|
|
${{ github.workspace }}/deb-workspace/usr/share/icons/hicolor/256x256/apps \
|
|
${{ github.workspace }}/deb-workspace/usr/share/doc/${{ env.APP_NAME }}-${{ env.APP_VERSION }}
|
|
cp src/alsa-scarlett-gui ${{ github.workspace }}/deb-workspace/usr/bin/
|
|
cp src/vu.b4.alsa-scarlett-gui.desktop ${{ github.workspace }}/deb-workspace/usr/share/applications/
|
|
cp src/img/vu.b4.alsa-scarlett-gui.png ${{ github.workspace }}/deb-workspace/usr/share/icons/hicolor/256x256/apps/
|
|
cp -r *.md img demo ${{ github.workspace }}/deb-workspace/usr/share/doc/${{ env.APP_NAME }}-${{ env.APP_VERSION }}/
|
|
|
|
- name: Build debian package
|
|
uses: jiro4989/build-deb-action@v2
|
|
with:
|
|
package: ${{ env.APP_NAME }}
|
|
package_root: ${{ github.workspace }}/deb-workspace
|
|
maintainer: geoffreybennett
|
|
version: ${{ env.APP_VERSION }}
|
|
desc: ${{ env.APP_NAME }} is a Gtk4 GUI for the ALSA controls presented by the Linux kernel Focusrite Scarlett Gen 2/3 Mixer Driver.
|
|
|
|
- name: Upload Release Asset
|
|
uses: actions/upload-release-asset@v1
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
with:
|
|
upload_url: ${{ github.event.release.upload_url }}
|
|
asset_path: ./${{ env.APP_NAME }}_${{ env.APP_VERSION }}_amd64.deb
|
|
asset_name: ${{ env.APP_NAME }}_${{ env.APP_VERSION }}_amd64.deb
|
|
asset_content_type: application/vnd.debian.binary-package
|