tg2sip/.github/workflows/main.yml

85 lines
2.4 KiB
YAML

name: CI
on: [push, pull_request]
jobs:
build:
name: Native Build
runs-on: ubuntu-latest
strategy:
matrix:
tag: [bionic, centos7]
container: infactum/tg2sip-builder:${{ matrix.tag }}
steps:
- uses: actions/checkout@v2
- name: Build
run: |
[ -d "/opt/rh" ] && source /opt/rh/devtoolset-7/enable
mkdir build && cd build
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
cmake -DCMAKE_BUILD_TYPE=Release ..
cmake --build . -j $(grep -c ^processor /proc/cpuinfo);
- uses: actions/upload-artifact@v2
with:
name: tg2sip_${{ matrix.tag }}
path: |
build/tg2sip
build/gen_db
build/settings.ini
# AppImage generation cannot be fully done inside container
# because of FUSE requirements
- name: Prepare AppImage
if: matrix.tag == 'centos7'
run: |
linuxdeploy --appdir tg2sip -e build/tg2sip
linuxdeploy --appdir gen_db -e build/gen_db
- uses: actions/upload-artifact@v2
if: matrix.tag == 'centos7'
with:
name: tmp
path: |
tg2sip/
gen_db/
appimage:
name: Pack AppImage
needs: [build]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/download-artifact@v2
with:
name: tmp
path: tmp
- name: Prepare
run: |
wget https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage -O appimagetool.AppImage
chmod +x appimagetool.AppImage
wget https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage -O linuxdeploy.AppImage
chmod +x linuxdeploy.AppImage
- name: Pack
run: |
./linuxdeploy.AppImage --appdir tmp/tg2sip -d buildenv/tg2sip.desktop -i buildenv/icon.svg
./linuxdeploy.AppImage --appdir tmp/gen_db -d buildenv/gen_db.desktop -i buildenv/icon.svg
chmod +x tmp/tg2sip/usr/bin/tg2sip
chmod +x tmp/gen_db/usr/bin/gen_db
./appimagetool.AppImage tmp/tg2sip
./appimagetool.AppImage tmp/gen_db
- uses: actions/upload-artifact@v2
with:
name: tg2sip_universal
path: |
tg2sip-x86_64.AppImage
gen_db-x86_64.AppImage
settings.ini;