Skip to content

Try and fix linux build #28

Try and fix linux build

Try and fix linux build #28

name: Build-debian
on:
push:
pull_request:
workflow_dispatch:
env:
VULKAN_SDK_VERSION: 1.275.0
jobs:
debian:
runs-on: [self-hosted, linux, x64, gpu]
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Install Dependencies
run: |
sudo apt-get update
sudo apt-get -y install \
build-essential \
git \
cmake \
pkgconf \
libgtkmm-3.0-dev \
libcairomm-1.0-dev \
libsigc++-2.0-dev \
libyaml-cpp-dev \
catch2 \
libglfw3-dev \
curl \
xzip \
liblxi-dev \
dvipng \
texlive \
texlive-fonts-extra \
texlive-extra-utils \
libhidapi-dev
- name: Clone and Build FFTS Library
run: |
git clone https://github.com/anthonix/ffts.git /tmp/ffts
pushd /tmp/ffts
mkdir build
cd build
cmake \
-DENABLE_SHARED=ON \
..
make -j
sudo make install
popd
- name: Install Vulkan SDK
run: |
pushd ~
mkdir vulkan
cd vulkan
wget https://sdk.lunarg.com/sdk/download/${{ env.VULKAN_SDK_VERSION }}/linux/vulkansdk-linux-x86_64-${{ env.VULKAN_SDK_VERSION }}.tar.gz
tar xf vulkansdk-linux-x86_64-${{ env.VULKAN_SDK_VERSION }}.tar.gz
- name: Build
run: |
source =~/vulkan/${{ env.VULKAN_SDK_VERSION }}/setup-env.sh
mkdir build
cd build
cmake \
-DCMAKE_BUILD_TYPE=Release \
-DBUILD_DOCS=ON \
..
make -j 32
- name: Run Tests
if: ${{ true }} # Temporary re-enabled Run Tests
run: |
cd build
make test
- name: Upload Artifacts
if: ${{ always() }}
uses: actions/upload-artifact@v3
with:
name: ngscopeclient-linux
path: |
build/src/ngscopeclient/ngscopeclient
build/src/ngscopeclient/icons/*
build/src/ngscopeclient/shaders/*
build/lib/scopehal/libscopehal.so
build/lib/scopeprotocols/libscopeprotocols.so
- name: Upload Documentation
uses: actions/upload-artifact@v3
with:
name: ngscopeclient-manual
path: build/doc/ngscopeclient-manual.pdf
- name: Upload Test Log
if: ${{ always() }}
uses: actions/upload-artifact@v3
with:
name: ngscopeclient-test_log
path: build/Testing/Temporary/LastTest.log
cycle-debian-vm:
runs-on: [self-hosted, orchestrator]
needs: [debian]
if: ${{ false }}
steps:
- name: Cycle vm
shell: bash
env:
XOA_URL: ${{ secrets.XOA_URL }}
XOA_USER: ${{ secrets.XOA_USER }}
XOA_PASSWORD: ${{ secrets.XOA_PASSWORD }}
run: |
pushd ~
./cycle-debian.sh