Skip to content

Disable vulkan for xvfb on ubuntu 24.04. #37

Disable vulkan for xvfb on ubuntu 24.04.

Disable vulkan for xvfb on ubuntu 24.04. #37

# Create an Ubuntu 24.04 package on a github release event.
# This assumes that the cadabra version is the same as the
# release name, and it will attempt to add the .deb file
# to the release assets.
name: Ubuntu-24.04 package
on: [push]
# on:
# release:
# types: [created]
jobs:
build:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v3
# - name: Exit if not on devel branch
# if: github.ref != 'refs/heads/devel'
# run: exit 1
- name: Set up GitHub CLI
run: |
sudo apt-get update
sudo apt-get install -y gh
- name: Authenticate GitHub CLI
run: gh auth setup-git
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Get dependencies
run: sudo apt-get update && sudo DEBIAN_FRONTEND=noninteractive apt-get install git cmake ninja-build python3-dev g++ libpcre3 libpcre3-dev libgmp3-dev libgtkmm-3.0-dev libboost-all-dev libgmp-dev libsqlite3-dev uuid-dev libmpfr-dev libmpc-dev && python3 --version && which python3 && python3 -m pip install --upgrade pip && python3 -m pip install wheel && python3 -m pip install sympy gmpy2 numpy
- name: configure
run: mkdir build && cd build && cmake -G Ninja -DPACKAGING_MODE=ON -DENABLE_MATHEMATICA=OFF -DCMAKE_INSTALL_PREFIX=/usr ..
- name: Make
run: cd build && cmake --build .
- name: Create the .deb package
run: cd build && cpack
- name: Set version variables from output of cmake
run: |
VER=$(cat build/VERSION)
echo "VERSION=$VER" >> $GITHUB_ENV
- name: Upload Release Assets
run: |
gh release upload "${{ env.VERSION }}" build/cadabra2-${{ env.VERSION }}-ubuntu-24.04-noble.deb --clobber
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
test:
needs: build
runs-on: ubuntu-24.04
steps:
- name: Get and install package
run: |
sudo apt install xvfb
export VERSION=$(curl -s https://api.github.com/repos/kpeeters/cadabra2/releases|& jq .[0].tag_name -r)
export DEBNAME=cadabra2-${VERSION}-ubuntu-24.04-noble.deb
wget https://github.com/kpeeters/cadabra2/releases/download/${VERSION}/${DEBNAME}
sudo apt -y update
sudo apt -y upgrade
sudo apt -y install ./${DEBNAME}
- name: Test simple cli run
run: printf "import sys\nprint(sys.path)\nimport cdb.main\nex:=(A+B) (C+D);\ndistribute(ex);\nquit()\n" > tst.cdb && cadabra2 tst.cdb
- name: Test gtk app launch
run: |
DISABLE_VULKAN=1 xvfb-run -a cadabra2-gtk &
APP_PID=$!
sleep 10
if kill -0 $APP_PID 2>/dev/null; then
echo "Application started successfully"
kill $APP_PID
exit 0
else
echo "Application failed to start"
exit 1
fi