1
0
mirror of https://github.com/Llewellynvdm/conky.git synced 2025-01-28 17:48:39 +00:00

Add Ubuntu 24.04 to CI & release assets

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.
This commit is contained in:
Brenden Matthews 2024-06-10 21:21:06 -04:00
parent 31590ddafc
commit ea7cf33f87
3 changed files with 31 additions and 59 deletions

View File

@ -12,9 +12,11 @@ on:
paths-ignore:
- web/**
- doc/**
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build:
strategy:
@ -22,59 +24,12 @@ jobs:
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
@ -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

View File

@ -25,6 +25,7 @@ jobs:
os:
- ubuntu-20.04
- ubuntu-22.04
- ubuntu-24.04
arch:
- x86_64
permissions:
@ -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'
@ -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 \

2
requirements-dev.txt Normal file
View File

@ -0,0 +1,2 @@
pyyaml
jinja2