Skip to content

Significantly simplify dep setup and add more CI platforms #9

Significantly simplify dep setup and add more CI platforms

Significantly simplify dep setup and add more CI platforms #9

Workflow file for this run

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}}