Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update CI configuration #189

Merged
merged 10 commits into from
Jun 3, 2024
10 changes: 6 additions & 4 deletions .github/workflows/codecov.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,11 @@ jobs:

- name: Build
run: |
brew install gcc@13 lcov ninja binutils
brew install gcc@14 lcov ninja binutils
brew link --force binutils
cmake -E make_directory ${{runner.workspace}}/build
cd ${{runner.workspace}}/build
cmake ${GITHUB_WORKSPACE} -GNinja -DCMAKE_CXX_COMPILER=g++-13 -DCMAKE_CXX_FLAGS="--coverage" -DCMAKE_EXE_LINKER_FLAGS="--coverage"
cmake ${GITHUB_WORKSPACE} -GNinja -DCMAKE_CXX_COMPILER=g++-14 -DCMAKE_CXX_FLAGS="--coverage" -DCMAKE_EXE_LINKER_FLAGS="--coverage"
cmake --build .

- name: Run tests
Expand All @@ -35,11 +35,13 @@ jobs:
- name: Generate coverage report
working-directory: ${{runner.workspace}}/build/test/CMakeFiles/test-flux.dir
run: |
lcov --directory . --capture --gcov gcov-13 --output-file coverage.info
lcov --directory . --capture --gcov gcov-14 --output-file coverage.info
lcov --remove coverage.info '*/test/*' --output-file coverage.info

- name: Upload coverage report
uses: codecov/codecov-action@v3
uses: codecov/codecov-action@v4
with:
files: ${{runner.workspace}}/build/test/CMakeFiles/test-flux.dir/coverage.info
token: ${{secrets.CODECOV_TOKEN}}
verbose: true

29 changes: 11 additions & 18 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ on:
jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
permissions:
actions: read
contents: read
Expand All @@ -35,21 +35,14 @@ jobs:
language: [ 'cpp' ]
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
# Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support
include:
- install: |
brew install gcc@13 ninja binutils
brew link --force binutils

steps:
- name: Checkout repository
uses: actions/checkout@master

- name: Set up Homebrew
uses: Homebrew/actions/setup-homebrew@master

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
Expand All @@ -62,8 +55,8 @@ jobs:

# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
#- name: Autobuild
# uses: github/codeql-action/autobuild@v2
- name: Autobuild
uses: github/codeql-action/autobuild@v3

# ℹ️ Command-line programs to run using the OS shell.
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
Expand All @@ -74,13 +67,13 @@ jobs:
# - run: |
# echo "Run, Build Application using script"
# ./location_of_script_within_repo/buildscript.sh
- run: |
${{matrix.install}}
cmake -E make_directory ${{runner.workspace}}/build
cd ${{runner.workspace}}/build
cmake ${GITHUB_WORKSPACE} -GNinja -DCMAKE_CXX_COMPILER=g++-13
cmake --build .
#- run: |
# ${{matrix.install}}
# cmake -E make_directory ${{runner.workspace}}/build
# cd ${{runner.workspace}}/build
# cmake ${GITHUB_WORKSPACE} -GNinja -DCMAKE_CXX_COMPILER=g++-13
# cmake --build .


- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
uses: github/codeql-action/analyze@v3
4 changes: 2 additions & 2 deletions .github/workflows/generate-single-header.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,11 @@ jobs:

- name: Build
run: |
brew install gcc@13 binutils
brew install gcc@14 binutils
brew link --force binutils
cmake -E make_directory ${{runner.workspace}}/build
cd ${{runner.workspace}}/build
cmake ${GITHUB_WORKSPACE} -DCMAKE_CXX_COMPILER=g++-13 -DFLUX_BUILD_TOOLS=On
cmake ${GITHUB_WORKSPACE} -DCMAKE_CXX_COMPILER=g++-14 -DFLUX_BUILD_TOOLS=On
cmake --build . --target make_single_header

- name: Run
Expand Down
14 changes: 13 additions & 1 deletion .github/workflows/linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
compiler: [GCC-11, GCC-12, GCC-13, Clang-17]
compiler: [GCC-11, GCC-12, GCC-13, GCC-14, Clang-17, Clang-18]
test_with: [Headers, Module]
build_type: [Debug, Release]

Expand All @@ -22,6 +22,8 @@ jobs:
test_with: Module
- compiler: GCC-13
test_with: Module
- compiler: GCC-14
test_with: Module

include:
- compiler: GCC-11
Expand All @@ -39,11 +41,21 @@ jobs:
install: |
brew install gcc@13 ninja binutils
brew link --force binutils
- compiler: GCC-14
cxx: g++-14
install: |
brew install gcc@14 ninja binutils
brew link --force binutils
- compiler: Clang-17
cxx: $(brew --prefix llvm@17)/bin/clang++
install: |
brew install llvm@17 ninja binutils
brew link --force binutils
- compiler: Clang-18
cxx: $(brew --prefix llvm@18)/bin/clang++
install: |
brew install llvm@18 ninja binutils
brew link --force binutils

steps:
- uses: actions/checkout@master
Expand Down
6 changes: 5 additions & 1 deletion .github/workflows/macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
runs-on: macos-latest
strategy:
matrix:
compiler: [GCC-13, LLVM-Clang-16, LLVM-Clang-17]
compiler: [GCC-13, LLVM-Clang-16, LLVM-Clang-17, LLVM-Clang-18]
test_with: [Headers, Module]
build_type: [Debug, Release]

Expand All @@ -38,6 +38,10 @@ jobs:
cxx: $(brew --prefix llvm@17)/bin/clang++
install: |
brew install llvm@17 ninja
- compiler: LLVM-Clang-18
cxx: $(brew --prefix llvm@18)/bin/clang++
install: |
brew install llvm@18 ninja


steps:
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/santizers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@ jobs:
matrix:
sanitizer: [ubsan, asan]
include:
- cxx: g++-13
- cxx: g++-14
install: |
brew install gcc@13 ninja binutils
brew install gcc@14 ninja binutils
brew link --force binutils

steps:
Expand All @@ -35,7 +35,7 @@ jobs:
cmake -GNinja \
-DFLUX_ENABLE_ASAN=${{matrix.sanitizer == 'asan'}} \
-DFLUX_ENABLE_UBSAN=${{matrix.sanitizer == 'ubsan'}} \
-DCMAKE_CXX_COMPILER=g++-13 \
-DCMAKE_CXX_COMPILER=g++-14 \
$GITHUB_WORKSPACE

- name: Build
Expand Down
Loading