diff --git a/.codecov.yml b/.codecov.yml index 15614a36..eb24ff31 100644 --- a/.codecov.yml +++ b/.codecov.yml @@ -4,7 +4,6 @@ # See https://docs.codecov.io/docs/codecovyml-reference codecov: - token: b5e588e8-7b85-46f1-bad6-e0a5c19d7d67 require_ci_to_pass: no # codecov reports its results independent of whether CI passed notify: wait_for_ci: no # codecov has not to wait until the CI is finished to post its results diff --git a/.github/workflows/ci_cmake.yml b/.github/workflows/ci_cmake.yml index 0f10359f..f9ca0cfd 100644 --- a/.github/workflows/ci_cmake.yml +++ b/.github/workflows/ci_cmake.yml @@ -35,9 +35,7 @@ jobs: matrix: SHARG_NO_TDL: [ON, OFF] container: - image: ghcr.io/seqan/gcc-14 - volumes: - - /home/runner:/home/runner + image: ghcr.io/seqan/gcc-latest steps: - name: Checkout uses: actions/checkout@v4 @@ -47,7 +45,7 @@ jobs: - name: Install dependencies if: matrix.SHARG_NO_TDL == 'OFF' run: | - git clone --depth 1 --single-branch --branch 0.8.0 https://github.com/jbeder/yaml-cpp.git + git clone --depth 1 --single-branch --branch master https://github.com/jbeder/yaml-cpp.git cd yaml-cpp && mkdir build && cd build cmake ../ -DCMAKE_BUILD_TYPE=Debug \ -DYAML_CPP_BUILD_CONTRIB=OFF \ diff --git a/.github/workflows/ci_coverage.yml b/.github/workflows/ci_coverage.yml index e2cb481f..e7f28824 100644 --- a/.github/workflows/ci_coverage.yml +++ b/.github/workflows/ci_coverage.yml @@ -33,11 +33,9 @@ jobs: strategy: fail-fast: false matrix: - compiler: ["gcc-14"] + compiler: ["gcc-latest"] container: image: ghcr.io/seqan/${{ matrix.compiler }} - volumes: - - /home/runner:/home/runner steps: - name: Checkout uses: actions/checkout@v4 @@ -75,17 +73,20 @@ jobs: --filter ${GITHUB_WORKSPACE}/test/include/sharg/test \ --exclude ${GITHUB_WORKSPACE}/include/sharg/contrib \ --exclude ${GITHUB_WORKSPACE}/include/sharg/std \ - --exclude-lines-by-pattern '^\s*$' \ - --exclude-lines-by-pattern '^\s*};$' \ - --exclude-unreachable-branches \ - --exclude-throw-branches \ + --exclude-lines-by-pattern '^\s*}|^\s*};' \ --exclude-noncode-lines \ + --exclude-throw-branches \ + --exclude-unreachable-branches \ + --merge-mode-functions separate \ -j \ --cobertura \ --output ${GITHUB_WORKSPACE}/build/coverage_report.xml - name: Submit coverage build - uses: codecov/codecov-action@v3.1.5 + uses: codecov/codecov-action@v5.4.3 with: - files: build/coverage_report.xml + disable_search: true fail_ci_if_error: false + files: build/coverage_report.xml + plugins: noop + token: ${{ secrets.CODECOV_TOKEN }} diff --git a/.github/workflows/lint.yml b/.github/workflows/ci_lint.yml similarity index 100% rename from .github/workflows/lint.yml rename to .github/workflows/ci_lint.yml diff --git a/.github/workflows/ci_linux.yml b/.github/workflows/ci_linux.yml index 7c61bcd2..8a1b126c 100644 --- a/.github/workflows/ci_linux.yml +++ b/.github/workflows/ci_linux.yml @@ -33,14 +33,9 @@ jobs: strategy: fail-fast: false matrix: - compiler: ["clang-19", "clang-18", "clang-17", "gcc-14", "gcc-13", "gcc-12", "intel"] - include: - - compiler: "intel" - cxx_flags: "-fp-model=strict -Wno-overriding-option" + compiler: ["clang-latest", "clang-second-latest", "clang-third-latest", "gcc-latest", "gcc-second-latest", "gcc-third-latest", "intel"] container: image: ghcr.io/seqan/${{ matrix.compiler }} - volumes: - - /home/runner:/home/runner steps: - name: Checkout uses: actions/checkout@v4 diff --git a/.github/workflows/ci_macos.yml b/.github/workflows/ci_macos.yml index 397aba5d..569ce89f 100644 --- a/.github/workflows/ci_macos.yml +++ b/.github/workflows/ci_macos.yml @@ -28,12 +28,12 @@ defaults: jobs: build: name: ${{ matrix.compiler }} - runs-on: macos-14 + runs-on: macos-latest if: github.repository_owner == 'seqan' || github.event_name == 'workflow_dispatch' || github.event.label.name == 'lint' strategy: fail-fast: false matrix: - compiler: ["clang-19", "clang-18", "clang-17", "gcc-14", "gcc-13", "gcc-12"] + compiler: ["clang-latest", "clang-second-latest", "clang-third-latest", "gcc-latest", "gcc-second-latest", "gcc-third-latest"] steps: - name: Checkout uses: actions/checkout@v4 diff --git a/.github/workflows/ci_misc.yml b/.github/workflows/ci_misc.yml index b0fc35ae..07b5b033 100644 --- a/.github/workflows/ci_misc.yml +++ b/.github/workflows/ci_misc.yml @@ -33,15 +33,10 @@ jobs: strategy: fail-fast: false matrix: - compiler: ["clang-19", "gcc-14", "gcc-12", "intel"] + compiler: ["clang-latest", "gcc-latest", "gcc-third-latest", "intel"] build: ["snippet", "header"] - include: - - compiler: "intel" - cxx_flags: "-fp-model=strict -Wno-overriding-option" container: image: ghcr.io/seqan/${{ matrix.compiler }} - volumes: - - /home/runner:/home/runner steps: - name: Checkout uses: actions/checkout@v4 diff --git a/.github/workflows/api.yml b/.github/workflows/cron_api.yml similarity index 96% rename from .github/workflows/api.yml rename to .github/workflows/cron_api.yml index f3bb10e4..47514def 100644 --- a/.github/workflows/api.yml +++ b/.github/workflows/cron_api.yml @@ -32,11 +32,9 @@ jobs: strategy: fail-fast: false matrix: - compiler: ["gcc-14", "gcc-13", "gcc-12"] + compiler: ["gcc-latest", "gcc-second-latest", "gcc-third-latest"] container: image: ghcr.io/seqan/${{ matrix.compiler }} - volumes: - - /home/runner:/home/runner steps: - name: Checkout uses: actions/checkout@v4 diff --git a/.github/workflows/cron_codeql.yml b/.github/workflows/cron_codeql.yml index deaf4570..c7e67418 100644 --- a/.github/workflows/cron_codeql.yml +++ b/.github/workflows/cron_codeql.yml @@ -15,6 +15,7 @@ concurrency: env: SHARG_NO_VERSION_CHECK: 1 + CODEQL_EXTRACTOR_CPP_AUTOINSTALL_DEPENDENCIES: false TZ: Europe/Berlin defaults: @@ -29,9 +30,7 @@ jobs: permissions: security-events: write container: - image: ghcr.io/seqan/gcc-14 - volumes: - - /home/runner:/home/runner + image: ghcr.io/seqan/gcc-second-latest steps: - name: Checkout uses: actions/checkout@v4 diff --git a/.github/workflows/ci_cpm.yml b/.github/workflows/cron_cpm.yml similarity index 100% rename from .github/workflows/ci_cpm.yml rename to .github/workflows/cron_cpm.yml diff --git a/include/sharg/detail/format_tdl.hpp b/include/sharg/detail/format_tdl.hpp index d10ceb63..7bd2f6c9 100644 --- a/include/sharg/detail/format_tdl.hpp +++ b/include/sharg/detail/format_tdl.hpp @@ -214,12 +214,13 @@ class format_tdl : format_base tags.insert("output"); } - parameters.push_back(tdl::Node{ - .name = config.long_id, - .description = description, - .tags = std::move(tags), - .value = tdl::StringValue{valueAsStr}, - }); + // gcc 15 doesn't like having the push_back as a one-liner. + parameters.push_back(tdl::Node{.name = config.long_id, .description = description}); + + auto & node = parameters.back(); + node.tags = std::move(tags); + node.value = tdl::StringValue{valueAsStr}; + info.cliMapping.emplace_back("--" + config.long_id, config.long_id); }, config); diff --git a/include/sharg/detail/type_name_as_string.hpp b/include/sharg/detail/type_name_as_string.hpp index b736e548..37bf305e 100644 --- a/include/sharg/detail/type_name_as_string.hpp +++ b/include/sharg/detail/type_name_as_string.hpp @@ -13,6 +13,7 @@ # include #endif // defined(__GNUC__) || defined(__clang__) +#include #include #include #include