Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 27 additions & 11 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,17 +9,23 @@ on:

jobs:
ubuntu-gcc-build:
name: ubuntu-${{ matrix.compiler }}-cpp${{ matrix.cppVersion }}-build
runs-on: ubuntu-latest
name: ${{ matrix.os }}-${{ matrix.compiler }}-cpp${{ matrix.cppVersion }}-build
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
compiler: [gcc-12, gcc-14]
cppVersion: [20] # TODO (FOREVER) make c++23 happy
compiler: [gcc-12, gcc-13, gcc-15]
cppVersion: [20, 23] # TODO (FOREVER) make c++23 happy
include:
- compiler: gcc-12
cxx: g++-12
- compiler: gcc-14
cxx: g++-14
os: ubuntu-24.04
- compiler: gcc-13
cxx: g++-13
os: ubuntu-latest
- compiler: gcc-15
cxx: g++-15
os: ubuntu-latest

steps:
- uses: actions/checkout@v6
Expand Down Expand Up @@ -65,17 +71,27 @@ jobs:
key: ubuntu-${{ matrix.compiler }}-for_run-${{ github.sha }}-cpp-${{ matrix.cppVersion }}

ubuntu-clang-build:
name: ubuntu-build-${{ matrix.compiler }}-C++${{ matrix.cppVersion }}
runs-on: ubuntu-latest
name: ${{ matrix.os }}-${{ matrix.compiler }}-C++${{ matrix.cppVersion }}-build
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
cppVersion: [20] # TODO (FOREVER) make c++23 happy
compiler: [clang++-16, clang++-18]
cppVersion: [20, 23] # TODO (FOREVER) make c++23 happy
compiler: [clang++-16, clang++-20, clang++-22]
exclude:
# Clang 16 is not happy with c++23
- compiler: clang++-16
cppVersion: 23
include:
- compiler: clang++-16
enable_file_prefix_map: true
- compiler: clang++-18
os: ubuntu-24.04
- compiler: clang++-20
enable_file_prefix_map: true
os: ubuntu-latest
- compiler: clang++-22
enable_file_prefix_map: true
os: ubuntu-latest

steps:
- uses: actions/checkout@v6
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/generate_files.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
ActionPriorityLists
profiles
.git
key: ubuntu-clang++-16-for_run-${{ github.sha }}-cpp-20
key: ubuntu-clang++-20-for_run-${{ github.sha }}-cpp-20

- uses: actions/checkout@v6

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@ jobs:
#if: github.base_ref == github.event.repository.default_branch || github.ref_name == github.event.repository.default_branch
uses: ./.github/workflows/spec_test.yml
with:
cache-key: ubuntu-clang++-16-for_run-${{ github.sha }}-cpp-20
cache-key: ubuntu-clang++-20-for_run-${{ github.sha }}-cpp-20
is-ptr: false
spec-matrix: ${{ needs.spec-test-selection.outputs.spec-matrix }}

Expand All @@ -183,7 +183,7 @@ jobs:
#if: github.base_ref == github.event.repository.default_branch || github.ref_name == github.event.repository.default_branch
uses: ./.github/workflows/spec_test.yml
with:
cache-key: ubuntu-clang++-16-for_run-${{ github.sha }}-cpp-20
cache-key: ubuntu-clang++-20-for_run-${{ github.sha }}-cpp-20
is-ptr: true
spec-matrix: ${{ needs.spec-test-selection.outputs.spec-matrix }}

Expand Down
21 changes: 16 additions & 5 deletions .github/workflows/ubuntu_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,17 +9,28 @@ env:

jobs:
ubuntu-test:
name: ubuntu-${{ matrix.compiler }}-cpp-${{ matrix.cppVersion }}-${{ matrix.type }}
runs-on: ubuntu-latest
name: ${{ matrix.os }}-${{ matrix.compiler }}-cpp-${{ matrix.cppVersion }}-${{ matrix.type }}
runs-on: ${{ matrix.os }}
env:
CACHE_KEY: ubuntu-${{ matrix.compiler }}-for_run-${{ github.sha }}-cpp-${{ matrix.cppVersion }}
UBSAN_OPTIONS: print_stacktrace=1

strategy:
fail-fast: false
matrix:
cppVersion: [20] # TODO (FOREVER) make c++23 happy
compiler: [clang++-16, clang++-18, gcc-12, gcc-14]
cppVersion: [20, 23] # TODO (FOREVER) make c++23 happy
compiler: [clang++-16, clang++-20, clang++-22, gcc-12, gcc-13, gcc-15]
exclude:
# clang 16 is not happy with c++23
- compiler: clang++-16
cppVersion: 23
include:
- { compiler: clang++-16, os: ubuntu-24.04 }
- { compiler: gcc-12, os: ubuntu-24.04 }
- { compiler: clang++-20, os: ubuntu-latest }
- { compiler: clang++-22, os: ubuntu-latest }
- { compiler: gcc-13, os: ubuntu-latest }
- { compiler: gcc-15, os: ubuntu-latest }

steps:
- uses: actions/cache@v5
Expand All @@ -41,7 +52,7 @@ jobs:
run: ${{ runner.workspace }}/b/ninja/simc $SIMC_ARGS $SIMC_PROFILE iterations=10 fight_style=DungeonSlice allow_experimental_specializations=1 cleanup_threads=1

- name: Clear Cache
if: ( matrix.compiler != 'clang++-16' || matrix.cppVersion != '20' ) && github.event_name == 'push'
if: ( matrix.compiler != 'clang++-20' || matrix.cppVersion != '20' ) && github.event_name == 'push'
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: gh cache delete ${{ env.CACHE_KEY }}
1 change: 1 addition & 0 deletions engine/lib/tcb/span.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ This is an implementation of C++20's std::span
#include <array>
#include <cstddef>
#include <cstdint>
#include <exception>
#include <type_traits>

#ifndef TCB_SPAN_NO_EXCEPTIONS
Expand Down
2 changes: 2 additions & 0 deletions engine/sim/profileset_control.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,8 @@ profileset_controller_t::profileset_controller_t( sim_t* sim, unsigned int id )
assert( sim && sim->parent );
}

profileset_controller_t::~profileset_controller_t() = default;

const std::string profileset_controller_t::message( call_point_e call_point )
{
std::string msg = fmt::format( "Profileset {} was canceled by Profileset Controller {} after {}",
Expand Down
2 changes: 1 addition & 1 deletion engine/sim/profileset_control.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ struct profileset_controller_t : private noncopyable
std::vector<std::unique_ptr<option_t>> options;

profileset_controller_t( sim_t*, unsigned int );
virtual ~profileset_controller_t() = default;
virtual ~profileset_controller_t();

const std::string message( call_point_e );
void add_option( std::unique_ptr<option_t>&& );
Expand Down
Loading