Files
UltraGrid/.github/workflows/ccpp.yml
Martin Pulec 12191627b3 CI: Ubuntu 16.04 compile fix
Use gcc-5 as a CUDA host compiler in Linux if available. This version
is supported up to current CUDA version while being available in U16.04.
2020-03-24 08:06:09 +01:00

130 lines
3.8 KiB
YAML

name: C/C++ CI
on:
push:
branches:
- ci
- master
- devel
paths:
- '.github/scripts/**'
- '.github/workflows/ccpp.yml'
- '**.c'
- '**.cpp'
- '**.cu'
- '**.h'
- '**.hpp'
- '**.m'
- '**.mm'
- 'autogen.sh'
- 'configure.ac'
- 'data/scripts/**'
- 'Makefile.in'
jobs:
Ubuntu:
if: github.repository == 'CESNET/UltraGrid' || github.repository == 'MartinPulec/UltraGrid'
name: run Ubuntu
runs-on: ubuntu-latest
env:
sdk_pass: ${{ secrets.sdk_pass }}
steps:
- uses: actions/checkout@v1
with:
submodules: true
- name: bootstrap
run: .github/scripts/Linux/prepare.sh
- name: configure
run: ./autogen.sh --enable-qt --with-cuda-host-compiler=$CUDA_HOST_COMPILER --enable-plugins --with-live555=/usr/local
- name: make
run: make -j4
- name: make check
run: make check
- name: make distcheck
run: make distcheck
- name: AppImage
run: APPIMAGE=`data/scripts/Linux-AppImage/create-appimage.sh` && mkdir UltraGrid-CI-Linux && mv $APPIMAGE UltraGrid-CI-Linux
- name: Upload build
uses: actions/upload-artifact@v1
with:
name: UltraGrid CI Linux build
path: UltraGrid-CI-Linux
macOS:
if: github.repository == 'CESNET/UltraGrid' || github.repository == 'MartinPulec/UltraGrid'
name: run macOS
runs-on: macos-latest
env:
sdk_pass: ${{ secrets.sdk_pass }}
steps:
- uses: actions/checkout@v1
with:
submodules: true
- name: bootstrap
run: .github/scripts/macOS/prepare.sh
- name: configure
run: ./autogen.sh --enable-qt --with-live555=/usr/local
- name: make
run: make -j4 osx-gui-dmg
- name: make check
run: make check
- name: make distcheck
run: make distcheck
- name: Upload build
uses: actions/upload-artifact@v1
with:
name: UltraGrid CI macOS build
path: UltraGrid.dmg
Windows:
if: github.repository == 'CESNET/UltraGrid' || github.repository == 'MartinPulec/UltraGrid'
name: run Windows
runs-on: windows-latest
env:
MSYS2_PATH_TYPE: inherit
sdk_pass: ${{ secrets.sdk_pass }}
steps:
- uses: actions/checkout@v1
with:
submodules: true
- name: Find MSVC
run: .github/scripts/Windows/find_msvc.ps1
- name: bootsrap
run: .github/scripts/Windows/prepare.ps1
- name: Cache MSYS2
id: cache-msys2
uses: actions/cache@v1
with:
path: C:\msys64
key: cache-msys2
- name: bootsrap MSYS2
if: steps.cache-msys2.outputs.cache-hit != 'true'
run: |
choco install --no-progress msys2 --params "/NoUpdate /InstallDir:C:\msys64"
C:\msys64\usr\bin\bash -lc '$GITHUB_WORKSPACE/.github/scripts/Windows/prepare_msys.sh'
- name: configure
run: C:\msys64\usr\bin\bash -lc "./autogen.sh --enable-qt --disable-ndi --with-live555=/usr/local"
- name: make
run: C:\msys64\usr\bin\bash -lc "make -j4"
- name: make check
run: C:\msys64\usr\bin\bash -lc "make check"
- name: make dist-check
run: C:\msys64\usr\bin\bash -lc "make distcheck"
- name: add DLL depends
run: |
C:\msys64\usr\bin\bash -lc 'cp gui/QT/uv-qt.exe bin'
C:\msys64\usr\bin\bash -lc 'rm bin/run_tests.exe; IFS=\"|\"; for exe in bin/*exe; do for n in `data/scripts/get_dll_depends.sh \"$exe\" | tr \"\n\" \"|\"`; do cp \"$n\" bin; done; done'
C:\msys64\usr\bin\bash -lc 'windeployqt bin/uv-qt.exe'
C:\msys64\usr\bin\bash -lc 'cp data/update.ps1 bin'
C:\msys64\usr\bin\bash -lc 'mv bin UltraGrid-CI-Win'
- name: Upload build
uses: actions/upload-artifact@v1
with:
name: UltraGrid CI Windows build
path: UltraGrid-CI-Win
# vi: set expandtab sw=2: