From bd9fc845861c7673d84791844bcea27afab14328 Mon Sep 17 00:00:00 2001 From: Kelly Kinkade Date: Thu, 6 Nov 2025 14:38:59 -0600 Subject: [PATCH 1/3] update workflows to use gcc 11/13/15 instead of gcc 10/12, because it's not 2023 anymore --- .github/workflows/build-linux.yml | 2 +- .github/workflows/test.yml | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml index 3bc931305a..c2d946e300 100644 --- a/.github/workflows/build-linux.yml +++ b/.github/workflows/build-linux.yml @@ -66,7 +66,7 @@ on: default: false gcc-ver: type: string - default: "10" + default: "11" jobs: build-linux64: diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index a73bb3f82d..323d1a9883 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -59,9 +59,11 @@ jobs: fail-fast: false matrix: include: - - gcc: 10 + - gcc: 11 # baseline compatibility with ubuntu LTS 22.04 plugins: "default" - - gcc: 12 + - gcc: 13 # future compatibility with ubuntu LTS 24.04 + plugins: "all" + - gcc: 15 # cutting-edge plugins: "all" test-windows: From b30d606a2fc5670fcbf7040e104942f2568dbc7b Mon Sep 17 00:00:00 2001 From: Kelly Kinkade Date: Thu, 6 Nov 2025 14:41:32 -0600 Subject: [PATCH 2/3] reduce due to limitations of LTS 22.04 --- .github/workflows/test.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 323d1a9883..a428435941 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -61,9 +61,7 @@ jobs: include: - gcc: 11 # baseline compatibility with ubuntu LTS 22.04 plugins: "default" - - gcc: 13 # future compatibility with ubuntu LTS 24.04 - plugins: "all" - - gcc: 15 # cutting-edge + - gcc: 12 # highest available in ubuntu 22.04 plugins: "all" test-windows: From 66807805d2148016aef06246cee338e538643296 Mon Sep 17 00:00:00 2001 From: Kelly Kinkade Date: Thu, 6 Nov 2025 15:12:19 -0600 Subject: [PATCH 3/3] correct references to gcc-10 --- .github/workflows/test.yml | 2 +- docs/dev/github-workflows.rst | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index a428435941..175a1adf48 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -96,7 +96,7 @@ jobs: dfhack_repo: ${{ inputs.dfhack_repo }} dfhack_ref: ${{ inputs.dfhack_ref }} os: ubuntu - compiler: gcc-10 + compiler: gcc-11 plugins: default config: default diff --git a/docs/dev/github-workflows.rst b/docs/dev/github-workflows.rst index fa1c36b66c..ea71e1a2b6 100644 --- a/docs/dev/github-workflows.rst +++ b/docs/dev/github-workflows.rst @@ -46,8 +46,8 @@ tuned our build and test workflows to minimize spurious cache misses and keep the fast path fast. Caches are namespaced by key prefixes, and we have one key prefix per build -context. For example, release builds on gcc-10 are kept in one cache namespace, -whereas test builds on gcc-10 are kept separate. MSVC release and test builds +context. For example, release builds on gcc-11 are kept in one cache namespace, +whereas test builds on gcc-11 are kept separate. MSVC release and test builds similarly have their own namespaces. Each cache has a maximum size that is enforced by the business logic that writes the cache data.