Skip to content

Commit

Permalink
Add Ubuntu 24.04 to CI & release assets
Browse files Browse the repository at this point in the history
Removed the complex compiler version build matrix. Instead, we'll just
use whatever is the latest for each Ubuntu release of clang and GCC.

Added a requirements-dev.txt and use a venv for build.
  • Loading branch information
brndnmtthws committed Jun 11, 2024
1 parent 31590dd commit ea7cf33
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 59 deletions.
72 changes: 17 additions & 55 deletions .github/workflows/build-and-test-linux.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,69 +12,24 @@ on:
paths-ignore:
- web/**
- doc/**

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
build:
strategy:
matrix:
os:
- ubuntu-20.04
- ubuntu-22.04
- ubuntu-24.04
x11: [ON, OFF]
wayland: [ON, OFF]
compiler:
- clang
- gcc
compiler_version:
- 9
- 10
- 11
- 12
- 13
- 14
- 15
exclude:
# 9 only exists for gcc
- compiler: clang
compiler_version: 9

# 13, 14, 15 only exist for clang
- compiler: gcc
compiler_version: 13
- compiler: gcc
compiler_version: 14
- compiler: gcc
compiler_version: 15

# ubuntu-20.04
- os: ubuntu-20.04
compiler: gcc
compiler_version: 11
- os: ubuntu-20.04
compiler: gcc
compiler_version: 12
- os: ubuntu-20.04
compiler: clang
compiler_version: 13
- os: ubuntu-20.04
compiler: clang
compiler_version: 14
- os: ubuntu-20.04
compiler: clang
compiler_version: 15

# ubuntu-22.04
- os: ubuntu-22.04
compiler: clang
compiler_version: 10
- os: ubuntu-22.04
compiler: clang
compiler_version: 11
- os: ubuntu-22.04
compiler: clang
compiler_version: 12
runs-on: ${{ matrix.os }}
steps:
- run: sudo apt-get -qq update
Expand Down Expand Up @@ -115,22 +70,29 @@ jobs:
ncurses-dev \
ninja-build \
wayland-protocols
- name: Install libc++
- name: Install clang and libc++
if: matrix.compiler == 'clang'
run: |
sudo apt-get install -yqq --no-install-recommends \
libc++-${{ matrix.compiler_version }}-dev \
libc++abi-${{ matrix.compiler_version }}-dev
clang \
libc++-dev \
libc++abi-dev
- name: Install gcc
if: matrix.compiler == 'gcc'
run: |
sudo apt-get install -yqq --no-install-recommends \
gcc \
g++
- name: Checkout
uses: actions/checkout@v4
- name: Configure with CMake
run: |
set -x # show the commands we're running
[[ "${{ matrix.compiler }}" == "clang"* ]] && CC=clang-${{ matrix.compiler_version }}
[[ "${{ matrix.compiler }}" == "clang"* ]] && CXX=clang++-${{ matrix.compiler_version }}
[[ "${{ matrix.compiler }}" == "clang"* ]] && CC=clang
[[ "${{ matrix.compiler }}" == "clang"* ]] && CXX=clang++
[[ "${{ matrix.compiler }}" == "gcc"* ]] && CC=gcc-${{ matrix.compiler_version }}
[[ "${{ matrix.compiler }}" == "gcc"* ]] && CXX=g++-${{ matrix.compiler_version }}
[[ "${{ matrix.compiler }}" == "gcc"* ]] && CC=gcc
[[ "${{ matrix.compiler }}" == "gcc"* ]] && CXX=g++
# Enable librsvg by default, disable for older versions of Ubuntu
Expand Down
16 changes: 12 additions & 4 deletions .github/workflows/publish-appimage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ jobs:
os:
- ubuntu-20.04
- ubuntu-22.04
- ubuntu-24.04
arch:
- x86_64
permissions:
Expand Down Expand Up @@ -69,14 +70,17 @@ jobs:
ncurses-dev \
ninja-build \
pandoc \
python3 \
wayland-protocols \
&&
pip3 install --upgrade pyyaml
wayland-protocols
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-python@v5
with:
python-version: '3.12'
cache: 'pip' # caching pip dependencies
cache-dependency-path: 'requirements-dev.txt'
- run: pip install -r requirements-dev.txt
- name: Import GPG Deploy Key
# only run on main branch
if: github.ref == 'refs/heads/main'
Expand All @@ -91,6 +95,10 @@ jobs:
if: matrix.os == 'ubuntu-22.04'
run: |
echo "CLANG_VERSION=15" | tee -a $GITHUB_ENV
- name: Set clang version to 18 for ubuntu-24.04
if: matrix.os == 'ubuntu-24.04'
run: |
echo "CLANG_VERSION=18" | tee -a $GITHUB_ENV
- name: Install libc++, set CC and CXX env vars
run: |
sudo apt-get install -yqq --no-install-recommends \
Expand Down
2 changes: 2 additions & 0 deletions requirements-dev.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
pyyaml
jinja2

0 comments on commit ea7cf33

Please sign in to comment.