From 5f5ccc530754520a82c66af19b075879690f103b Mon Sep 17 00:00:00 2001 From: Enrico Seiler Date: Sun, 27 Oct 2024 17:19:54 +0100 Subject: [PATCH 1/3] [FIX] CI --- .github/workflows/cron_avx2.yml | 90 +++++++++++---------- .github/workflows/cron_latest_libraries.yml | 11 ++- 2 files changed, 53 insertions(+), 48 deletions(-) diff --git a/.github/workflows/cron_avx2.yml b/.github/workflows/cron_avx2.yml index fdeb836d7f..7bb494aa25 100644 --- a/.github/workflows/cron_avx2.yml +++ b/.github/workflows/cron_avx2.yml @@ -26,39 +26,32 @@ defaults: jobs: build: - name: ${{ matrix.build }} gcc${{ matrix.compiler }} + name: ${{ matrix.build }} ${{ matrix.compiler }} runs-on: ubuntu-22.04 timeout-minutes: 300 if: github.repository_owner == 'seqan' || github.event_name == 'workflow_dispatch' strategy: fail-fast: false matrix: - compiler: [11, 12, 13] + compiler: ["clang-18", "clang-17", "gcc-14", "gcc-13", "gcc-12", "gcc-11", "intel"] build: [unit, snippet, performance, 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 SeqAn3 + - name: Checkout uses: actions/checkout@v4 - with: - path: seqan3 - - - name: Setup compiler - uses: seqan/actions/setup-compiler@main - with: - compiler: gcc-${{ matrix.compiler }} - - - name: Install CMake - uses: seqan/actions/setup-cmake@main - with: - cmake: 3.16.9 - name: Configure tests run: | - mkdir seqan3-build - cd seqan3-build - cmake ../seqan3/test/${{ matrix.build }} -DCMAKE_BUILD_TYPE=Release \ - -DSEQAN3_BENCHMARK_MIN_TIME=0.01 \ - -DCMAKE_CXX_FLAGS="-mavx2" + mkdir build && cd build + cmake ../test/${{ matrix.build }} -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_CXX_FLAGS="-mavx2 ${{ matrix.cxx_flags }}" \ + -DSEQAN3_BENCHMARK_MIN_TIME=0.01 case "${{ matrix.build }}" in unit) make gtest_main;; snippet) make gtest_main;; @@ -67,8 +60,8 @@ jobs: esac - name: Build tests + working-directory: build run: | - cd seqan3-build make -k 2>&1 | tee build.log - name: Setup Python @@ -80,38 +73,47 @@ jobs: - name: Process Log if: ${{ failure() }} run: | - FILE="seqan3/.github/ISSUE_TEMPLATE/cron_comment_template.md" - python3 seqan3/.github/workflows/scripts/process_compiler_error_log.py seqan3-build/build.log >> $FILE + FILE=".github/ISSUE_TEMPLATE/cron_comment_template.md" + python3 .github/workflows/scripts/process_compiler_error_log.py build/build.log >> $FILE - name: Create comment body if: ${{ failure() }} id: comment-body run: | - FILE="seqan3/.github/ISSUE_TEMPLATE/cron_comment_template.md" - URL="$GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID" - sed -i "s@{{ build }}@${{ matrix.build }}@" $FILE - sed -i "s@{{ compiler }}@${{ matrix.compiler }}@" $FILE - sed -i "s@{{ url }}@$URL@" $FILE - echo "body<> $GITHUB_OUTPUT - cat $FILE >> $GITHUB_OUTPUT - echo "EOF" >> $GITHUB_OUTPUT + if [[ "${{ job.status }}" == "success" ]]; then + echo "body=Success ${{ matrix.build }} on ${{ matrix.compiler }}" >> $GITHUB_OUTPUT + else + FILE=".github/ISSUE_TEMPLATE/cron_comment_template.md" + URL="$GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID" + sed -i "s@{{ build }}@${{ matrix.build }}@" $FILE + sed -i "s@{{ compiler }}@${{ matrix.compiler }}@" $FILE + sed -i "s@{{ url }}@$URL@" $FILE + echo "body<> $GITHUB_OUTPUT + cat $FILE >> $GITHUB_OUTPUT + echo "EOF" >> $GITHUB_OUTPUT + fi - name: Reopen issue - if: ${{ failure() }} - uses: octokit/request-action@v2.x - with: - route: PATCH /repos/{owner}/{repo}/issues/{issue_number} - owner: ${{ github.repository_owner }} - repo: seqan3 - issue_number: ${{ env.ISSUE }} - state: "open" + if: failure() + run: gh issue reopen ${{ env.ISSUE }} env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GH_TOKEN: ${{ secrets.SEQAN_ACTIONS_PAT }} + GH_REPO: ${{ github.repository }} - - name: Create comment - if: ${{ failure() }} + - name: Find Comment + if: always() + uses: peter-evans/find-comment@v3 + id: find_comment + with: + issue-number: ${{ env.ISSUE }} + body-includes: ${{ matrix.build }} on ${{ matrix.compiler }} + + - name: Update comment + if: always() uses: peter-evans/create-or-update-comment@v4 with: + comment-id: ${{ steps.find_comment.outputs.comment-id }} issue-number: ${{ env.ISSUE }} body: ${{ steps.comment-body.outputs.body }} - + edit-mode: replace + token: ${{ secrets.SEQAN_ACTIONS_PAT }} diff --git a/.github/workflows/cron_latest_libraries.yml b/.github/workflows/cron_latest_libraries.yml index fcfaa208f0..98b59d3d37 100644 --- a/.github/workflows/cron_latest_libraries.yml +++ b/.github/workflows/cron_latest_libraries.yml @@ -5,6 +5,9 @@ name: Latest Libraries on: + # Will always run on the default branch + schedule: + - cron: "0 4 * * SUN" # Enables a manual trigger, may run on any branch workflow_dispatch: @@ -23,7 +26,7 @@ defaults: jobs: build: - name: ${{ matrix.build }} gcc${{ matrix.compiler }} + name: ${{ matrix.build }} ${{ matrix.compiler }} runs-on: ubuntu-22.04 timeout-minutes: 300 if: github.repository_owner == 'seqan' || github.event_name == 'workflow_dispatch' @@ -54,9 +57,9 @@ jobs: - name: Configure tests run: | mkdir build && cd build - cmake ../seqan3/test/${{ matrix.build }} -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_CXX_FLAGS="${{ matrix.cxx_flags }}" \ - -DSEQAN3_BENCHMARK_MIN_TIME=0.01 + cmake ../test/${{ matrix.build }} -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_CXX_FLAGS="${{ matrix.cxx_flags }}" \ + -DSEQAN3_BENCHMARK_MIN_TIME=0.01 case "${{ matrix.build }}" in unit) make gtest_main;; snippet) make gtest_main;; From 27a16956b369c2e9d3f40d0fe1687db48f8819fd Mon Sep 17 00:00:00 2001 From: Enrico Seiler Date: Sun, 27 Oct 2024 18:46:57 +0100 Subject: [PATCH 2/3] [FIX] Intel 2025.0 variadic templates --- .../range/container_push_back_benchmark.cpp | 18 +++++++++--------- .../range/container_seq_read_benchmark.cpp | 18 +++++++++--------- .../range/container_seq_write_benchmark.cpp | 18 +++++++++--------- 3 files changed, 27 insertions(+), 27 deletions(-) diff --git a/test/performance/range/container_push_back_benchmark.cpp b/test/performance/range/container_push_back_benchmark.cpp index 277ff54143..5f25e9ead7 100644 --- a/test/performance/range/container_push_back_benchmark.cpp +++ b/test/performance/range/container_push_back_benchmark.cpp @@ -20,13 +20,13 @@ template using sdsl_int_vec = sdsl::int_vector; template -using small_vec = seqan3::small_vector; +using small_vec = seqan3::small_vector; // ============================================================================ // push_back // ============================================================================ -template