2323 build :
2424 runs-on : ${{ matrix.os }}
2525 timeout-minutes : 30
26+ container : ${{ matrix.container || '' }}
2627 defaults :
2728 run :
2829 shell : ${{ matrix.shell }}
@@ -42,12 +43,13 @@ jobs:
4243 architecture : x86_64
4344 shell : pwsh
4445 build_type : msvc
45- # Linux (use 20.04 for broader glibc compatibility in AppImage/packages )
46- - os : ubuntu-20.04
46+ # Linux (use container for broader glibc compatibility)
47+ - os : ubuntu-latest
4748 os_name : linux
4849 architecture : x86_64
4950 shell : bash
5051 build_type : unix
52+ container : ubuntu:20.04
5153 # macOS (ARM64 - macos-latest uses M1 runners)
5254 - os : macos-latest
5355 os_name : macos
@@ -60,22 +62,28 @@ jobs:
6062 with :
6163 fetch-depth : 0
6264
63- # =========== Linux Setup ===========
65+ # =========== Linux Setup (in Ubuntu 20.04 container) ===========
66+ - name : Install build tools (Linux container)
67+ if : matrix.os_name == 'linux'
68+ run : |
69+ apt-get update
70+ apt-get install -y software-properties-common wget git file zip
71+
6472 - name : Install GCC 13 (Ubuntu)
6573 if : matrix.os_name == 'linux'
6674 run : |
6775 # Add PPA for GCC 13 (needed on Ubuntu 20.04)
68- sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
69- sudo apt-get update
70- sudo apt-get install -y gcc-13 g++-13
71- sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 100
72- sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-13 100
73- sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc-13 100
74- sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++-13 100
76+ add-apt-repository -y ppa:ubuntu-toolchain-r/test
77+ apt-get update
78+ apt-get install -y gcc-13 g++-13
79+ update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 100
80+ update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-13 100
81+ update-alternatives --install /usr/bin/cc cc /usr/bin/gcc-13 100
82+ update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++-13 100
7583
7684 - name : Install dependencies (Linux)
7785 if : matrix.os_name == 'linux'
78- run : sudo apt-get -y install libhidapi-dev rpm libfuse2
86+ run : apt-get -y install libhidapi-dev rpm libfuse2 cmake ninja-build
7987
8088 # =========== macOS Setup ===========
8189 - name : Cache Homebrew
0 commit comments