Skip to content

presets nostdfs distinct build dir to save time #2036

presets nostdfs distinct build dir to save time

presets nostdfs distinct build dir to save time #2036

Workflow file for this run

name: ci
on:
push:
paths:
- "**.c"
- "**.h"
- "**.cpp"
- "**.f90"
- "**.F90"
- "**/CMakeLists.txt"
- "**.cmake"
- ".github/workflows/ci.yml"
workflow_dispatch:
# avoid wasted runs
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
ubuntu26-gcc:
runs-on: ubuntu-26.04
timeout-minutes: 15
strategy:
matrix:
gcc-version: [15]
env: &gcc-env
CC: gcc-${{ matrix.gcc-version }}
CXX: g++-${{ matrix.gcc-version }}
FC: gfortran-${{ matrix.gcc-version }}
steps:
- &checkout
uses: actions/checkout@v7
- uses: ./.github/workflows/composite-build
- &cpp23
name: C++23 workflow
run: cmake --workflow cpp23
- name: ISO_Fortran_binding.h workflow
if: matrix.gcc-version >= 12
run: cmake --workflow isofortran
- name: Debug workflow
run: cmake --workflow debug --fresh
ubuntu24-gcc:
runs-on: ubuntu-24.04
timeout-minutes: 15
strategy:
matrix:
gcc-version: [9, 10, 11, 12, 13, 14]
env: *gcc-env
steps:
- name: GCC APT
if: matrix.gcc-version < 12
run: |
sudo apt update -y
sudo apt install -y --no-install-recommends gcc-${{ matrix.gcc-version }} g++-${{ matrix.gcc-version }} gfortran-${{ matrix.gcc-version }}
- *checkout
- uses: ./.github/workflows/composite-build
- name: ISO_Fortran_binding.h workflow
if: matrix.gcc-version >= 12
run: cmake --workflow isofortran
- name: C++17 workflow
if: matrix.gcc-version == 9
run: cmake --workflow cpp17 --fresh
shared:
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- *checkout
- name: build and test
run: cmake --workflow shared
- name: install package
run: cmake --install build-shared
- name: example
working-directory: example
run: cmake --workflow shared
ubuntu26-flang:
runs-on: ubuntu-26.04
timeout-minutes: 15
strategy:
matrix:
llvm-version: [22]
env:
CC: clang-${{ matrix.llvm-version }}
CXX: clang++-${{ matrix.llvm-version }}
FC: flang-${{ matrix.llvm-version }}
steps:
# - name: Apt LLVM
# run: |
# wget https://apt.llvm.org/llvm.sh
# chmod +x llvm.sh
# sudo ./llvm.sh ${{ matrix.llvm-version }}
# sudo apt-get update
- name: install Flang
run: sudo apt install --no-install-recommends flang-${{ matrix.llvm-version }}
- *checkout
- uses: ./.github/workflows/composite-build
- *cpp23
- name: Debug workflow
run: cmake --workflow debug --fresh
# works, save CI time
# gcc-7-8:
# runs-on: ubuntu-latest
# container:
# image: ubuntu:20.04
# env:
# DEBIAN_FRONTEND: noninteractive
# timeout-minutes: 15
# strategy:
# matrix:
# gcc-version: [8]
# env: *gcc-env
# steps:
# - name: install compilers
# run: |
# apt update -y
# apt install -y --no-install-recommends ca-certificates gpg curl ninja-build ${{ env.CC }} ${{ env.CXX }} ${{ env.FC }}
# - name: install CMake
# run: |
# curl -s https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | tee /usr/share/keyrings/kitware-archive-keyring.gpg >/dev/null
# echo 'deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ focal main' | tee /etc/apt/sources.list.d/kitware.list >/dev/null
# apt-get update
# test -f /usr/share/doc/kitware-archive-keyring/copyright || rm /usr/share/keyrings/kitware-archive-keyring.gpg
# apt-get install --no-install-recommends -y kitware-archive-keyring
# apt-get install --no-install-recommends -y cmake
# - *checkout
# - uses: ./.github/workflows/composite-build
cmake-older:
timeout-minutes: 30
runs-on: ubuntu-latest
strategy:
matrix:
cmake_version: ["3.25.3"]
steps:
- *checkout
- uses: ./.github/workflows/composite-cmake
- name: workflow without std::filesystem
run: $CMAKE --workflow --preset nostdfs
- name: configure
run: $CMAKE --workflow --preset default
- name: install package
run: $CMAKE --install build