Significantly simplify dep setup and add more CI platforms #9
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build and Test | |
on: [push, pull_request] | |
jobs: | |
check-format: | |
name: Check Formatting | |
runs-on: ubuntu-latest | |
steps: | |
- &checkout | |
name: Checkout | |
uses: actions/checkout@v4 | |
- &get-uv | |
name: Get UV | |
uses: astral-sh/setup-uv@v6 | |
with: | |
version: 0.8.15 | |
- name: Check Formatting | |
run: make format-check PYTHON_RUN="uv run --group=format" | |
build-alpine: | |
strategy: | |
matrix: | |
alpine_version: | |
- "3.19" | |
- "3.20" | |
- "3.21" | |
- "3.22" | |
- latest | |
- edge | |
# This arg is formatted in this way so that it is easily understandable in | |
# the GitHub Actions web interface | |
vcpkg_arg: &vcpkg_arg | |
- use_vcpkg=false | |
- use_vcpkg=true | |
name: Build on Alpine | |
runs-on: ubuntu-latest | |
steps: | |
- *checkout | |
- name: Run Build | |
run: | | |
bash tools/earthly.sh +build-alpine \ | |
--alpine_version=${{matrix.alpine_version}} \ | |
--${{matrix.vcpkg_arg}} | |
build-ubuntu: | |
strategy: | |
matrix: | |
ubuntu_version: | |
- "24.04" | |
- latest | |
vcpkg_arg: *vcpkg_arg | |
name: Build on Ubuntu | |
runs-on: ubuntu-latest | |
steps: | |
- *checkout | |
- run: | | |
bash tools/earthly.sh +build-ubuntu \ | |
--ubuntu_version=${{matrix.ubuntu_version}} \ | |
--${{matrix.vcpkg_arg}} | |
build-debian: | |
strategy: | |
fail-fast: true | |
matrix: | |
debian_version: | |
- "12.11" | |
- latest | |
- unstable | |
vcpkg_arg: *vcpkg_arg | |
name: Build on Debian | |
runs-on: ubuntu-latest | |
steps: | |
- *checkout | |
- run: | | |
bash tools/earthly.sh +build-debian \ | |
--debian_version=${{matrix.debian_version}} \ | |
--${{matrix.vcpkg_arg}} | |
build-gcc-matrix: | |
strategy: | |
fail-fast: true | |
matrix: | |
gcc_version: | |
- 15.2.0 | |
- 14.3.0 | |
- 13.4.0 | |
- 12.5.0 | |
runs-on: ubuntu-latest | |
name: "Build with GCC" | |
steps: | |
- *checkout | |
- name: Build | |
run: | | |
bash tools/earthly.sh +build-gcc \ | |
--gcc_version=${{matrix.gcc_version}} | |
build-clang-matrix: | |
strategy: | |
fail-fast: true | |
matrix: | |
version_arg: | |
- clang_version_major=20 | |
- clang_version_major=19 | |
runs-on: ubuntu-latest | |
name: Build with Clang | |
steps: | |
- *checkout | |
- name: Build | |
run: | | |
bash tools/earthly.sh +build-clang \ | |
--${{matrix.version_arg}} |