Skip to content

Add RHEL 8, rename "from" to "env" #14

Add RHEL 8, rename "from" to "env"

Add RHEL 8, rename "from" to "env" #14

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-matrix:
name: Build & Test
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
env:
# Alpine
- alpine:3.19
- alpine:3.20
- alpine:3.21
- alpine:3.22
- alpine:latest
- alpine:edge
# Ubuntu
- ubuntu:24.04
- ubuntu:latest
# Debian
- debian:12.11
- debian:latest
- debian:unstable
# Fedora
- fedora:40
- fedora:41
- fedora:42
- fedora:43
- fedora:latest
- fedora:rawhide
# GCC versions
- gcc:15.2.0
- gcc:14.3.0
- gcc:13.4.0
- gcc:12.5.0
- gcc:latest
# Clang versions
- +env.llvm --llvm_major_version=19
- +env.llvm --llvm_major_version=20
vcpkg_arg: &vcpkg_arg
- use_vcpkg=false
- use_vcpkg=true
include:
# Add Almalinux (RHEL) targets, alwasy using vcpkg
- { env: almalinux:10, vcpkg_arg: use_vcpkg=true }
# RHEL ≤9 requires a newer GCC, using the GCC toolset:
- { env: almalinux:9 --gts_version=14, vcpkg_arg: use_vcpkg=true }
- { env: almalinux:9 --gts_version=13, vcpkg_arg: use_vcpkg=true }
- { env: almalinux:9 --gts_version=12, vcpkg_arg: use_vcpkg=true }
# RHEL 8
- { env: almalinux:8 --gts_version=13, vcpkg_arg: use_vcpkg=true }
- { env: almalinux:8 --gts_version=12, vcpkg_arg: use_vcpkg=true }
steps:
- *checkout
- name: Build
run: |
bash tools/earthly.sh +build \
--env=${{matrix.env}} \
--${{matrix.vcpkg_arg}}
# This step will use the same cached +build results as long as all Earthly
# build arguments are equivalent. Make sure of that!
- name: Test
run: |
bash tools/earthly.sh -a +test/results.xml results.xml \
--env=${{matrix.env}} \
--${{matrix.vcpkg_arg}}