From 8792cb23f9c5e8da2426cfda8eab19e1cb9acbcb Mon Sep 17 00:00:00 2001 From: "Empting Eelco (ETAS-ECM/XPC-Fe2)" Date: Wed, 25 Feb 2026 07:23:48 +0000 Subject: [PATCH 1/8] Show smoke test in test reports --- tests/integration/smoke/smoke.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/tests/integration/smoke/smoke.py b/tests/integration/smoke/smoke.py index 75fd6e5b..710ffac3 100644 --- a/tests/integration/smoke/smoke.py +++ b/tests/integration/smoke/smoke.py @@ -16,9 +16,15 @@ format_logs, ) from pathlib import Path +from attribute_plugin import add_test_properties - +@add_test_properties( + partially_verifies=[], + test_type="interface-test", + derivation_technique="explorative-testing", +) def test_smoke(): + """Smoke test for the launch manager daemon.""" code, stdout, stderr = get_common_interface().run_until_file_deployed( "src/launch_manager_daemon/launch_manager" ) From b33f7fa06dcd8db4d72ac237155d3fac5c887a82 Mon Sep 17 00:00:00 2001 From: "Empting Eelco (ETAS-ECM/XPC-Fe2)" Date: Wed, 25 Feb 2026 07:27:19 +0000 Subject: [PATCH 2/8] Fix formatting --- tests/integration/smoke/smoke.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/tests/integration/smoke/smoke.py b/tests/integration/smoke/smoke.py index 710ffac3..923634aa 100644 --- a/tests/integration/smoke/smoke.py +++ b/tests/integration/smoke/smoke.py @@ -18,10 +18,11 @@ from pathlib import Path from attribute_plugin import add_test_properties + @add_test_properties( - partially_verifies=[], - test_type="interface-test", - derivation_technique="explorative-testing", + partially_verifies=[], + test_type="interface-test", + derivation_technique="explorative-testing", ) def test_smoke(): """Smoke test for the launch manager daemon.""" From 688abc59182a3a2f5195afb013b825054db88134 Mon Sep 17 00:00:00 2001 From: "Empting Eelco (ETAS-ECM/XPC-Fe2)" Date: Wed, 25 Feb 2026 08:37:11 +0100 Subject: [PATCH 3/8] Make failing test fail workflow --- .github/workflows/test_and_docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test_and_docs.yml b/.github/workflows/test_and_docs.yml index d413f8de..aaa975d1 100644 --- a/.github/workflows/test_and_docs.yml +++ b/.github/workflows/test_and_docs.yml @@ -48,7 +48,7 @@ jobs: upload-name: 'bazel-testlogs' build-docs: needs: run-tests - if: ${{ always() }} + if: ${{ needs.run-tests.result == 'success' }} uses: eclipse-score/cicd-workflows/.github/workflows/docs.yml@main permissions: contents: write From 0552bc0d258e6bcd5b0fda5fa6382b8af9c9da51 Mon Sep 17 00:00:00 2001 From: "Empting Eelco (ETAS-ECM/XPC-Fe2)" Date: Wed, 25 Feb 2026 09:57:57 +0100 Subject: [PATCH 4/8] Modify workflow --- .github/workflows/code_coverage.yml | 47 ++++++++++++++++++++++++++--- .github/workflows/test_and_docs.yml | 41 +++++++++++++------------ 2 files changed, 64 insertions(+), 24 deletions(-) diff --git a/.github/workflows/code_coverage.yml b/.github/workflows/code_coverage.yml index 26b20125..bae4853b 100644 --- a/.github/workflows/code_coverage.yml +++ b/.github/workflows/code_coverage.yml @@ -29,10 +29,14 @@ jobs: - name: Checkout Repository uses: actions/checkout@v6 - - name: Install lcov - run: | - sudo apt-get update - sudo apt-get install -y lcov + - name: Install dependencies + uses: eclipse-score/apt-install@main + with: + packages: | + lcov + fakechroot + cache: false + - name: Setup Bazel uses: bazel-contrib/setup-bazel@0.18.0 @@ -48,7 +52,7 @@ jobs: --test_output=errors \ --nocache_test_results \ --config=x86_64-linux \ - //src/... + //src/... //tests/... - name: Generate HTML Coverage Report shell: bash @@ -66,6 +70,16 @@ jobs: name: ${{ github.event.repository.name }}_cpp_coverage_report path: cpp_coverage/ retention-days: 10 + + - name: Upload test logs + if: always() + uses: actions/upload-artifact@v4 + with: + name: bazel-testlogs-cpp + path: | + bazel-testlogs/**/test.xml + bazel-testlogs/**/test.log + retention-days: 10 rust: runs-on: ubuntu-latest steps: @@ -104,3 +118,26 @@ jobs: name: ${{ github.event.repository.name }}_rust_coverage_report path: ${{ env.COVERAGE_DIR }} retention-days: 10 + + - name: Upload test logs + if: always() + uses: actions/upload-artifact@v4 + with: + name: bazel-testlogs-rust + path: | + bazel-testlogs/**/test.xml + bazel-testlogs/**/test.log + retention-days: 10 + + merge-testlogs: + needs: [cpp, rust] + if: always() + runs-on: ubuntu-latest + steps: + - name: Merge test log artifacts + uses: actions/upload-artifact/merge@v4 + with: + name: bazel-testlogs + pattern: bazel-testlogs-* + delete-merged: true + retention-days: 10 diff --git a/.github/workflows/test_and_docs.yml b/.github/workflows/test_and_docs.yml index aaa975d1..b0a97b64 100644 --- a/.github/workflows/test_and_docs.yml +++ b/.github/workflows/test_and_docs.yml @@ -20,15 +20,9 @@ permissions: id-token: write on: - pull_request_target: - types: [opened, reopened, synchronize] # Allows forks to trigger the docs build - push: - branches: - - main - merge_group: - types: [checks_requested] - release: - types: [created] + workflow_run: + workflows: ["Code Coverage"] + types: [completed] jobs: docs-verify: @@ -38,17 +32,26 @@ jobs: contents: read with: bazel-docs-verify-target: "//:docs_check" - run-tests: - uses: eclipse-score/cicd-workflows/.github/workflows/tests.yml@main - permissions: - contents: read - pull-requests: read - with: - bazel-target: 'test //src/... //tests/... --config=x86_64-linux' - upload-name: 'bazel-testlogs' + fetch-testlogs: + runs-on: ubuntu-latest + if: ${{ github.event.workflow_run.conclusion == 'success' }} + steps: + - name: Download test logs from Code Coverage run + uses: actions/download-artifact@v4 + with: + name: bazel-testlogs + path: bazel-testlogs + run-id: ${{ github.event.workflow_run.id }} + github-token: ${{ secrets.GITHUB_TOKEN }} + - name: Re-upload test logs for docs build + uses: actions/upload-artifact@v4 + with: + name: bazel-testlogs + path: bazel-testlogs/ + retention-days: 10 build-docs: - needs: run-tests - if: ${{ needs.run-tests.result == 'success' }} + needs: fetch-testlogs + if: ${{ github.event.workflow_run.conclusion == 'success' }} uses: eclipse-score/cicd-workflows/.github/workflows/docs.yml@main permissions: contents: write From 18cf5d13881ed446200d5ea0b46502108ecb123b Mon Sep 17 00:00:00 2001 From: "Empting Eelco (ETAS-ECM/XPC-Fe2)" Date: Wed, 25 Feb 2026 10:02:44 +0100 Subject: [PATCH 5/8] Fix pipeline run --- .github/workflows/code_coverage.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/code_coverage.yml b/.github/workflows/code_coverage.yml index bae4853b..b66c0306 100644 --- a/.github/workflows/code_coverage.yml +++ b/.github/workflows/code_coverage.yml @@ -32,11 +32,9 @@ jobs: - name: Install dependencies uses: eclipse-score/apt-install@main with: - packages: | - lcov - fakechroot + packages: lcov fakechroot cache: false - + - name: Setup Bazel uses: bazel-contrib/setup-bazel@0.18.0 From df555ecee43c53eecae18981702010dd345086c9 Mon Sep 17 00:00:00 2001 From: "Empting Eelco (ETAS-ECM/XPC-Fe2)" Date: Wed, 25 Feb 2026 11:24:41 +0100 Subject: [PATCH 6/8] Revert "Fix pipeline run" This reverts commit 18cf5d13881ed446200d5ea0b46502108ecb123b. --- .github/workflows/code_coverage.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/code_coverage.yml b/.github/workflows/code_coverage.yml index b66c0306..bae4853b 100644 --- a/.github/workflows/code_coverage.yml +++ b/.github/workflows/code_coverage.yml @@ -32,9 +32,11 @@ jobs: - name: Install dependencies uses: eclipse-score/apt-install@main with: - packages: lcov fakechroot + packages: | + lcov + fakechroot cache: false - + - name: Setup Bazel uses: bazel-contrib/setup-bazel@0.18.0 From de607dd5b319ede7bf40963d6b173e31baa1ef64 Mon Sep 17 00:00:00 2001 From: "Empting Eelco (ETAS-ECM/XPC-Fe2)" Date: Wed, 25 Feb 2026 11:25:01 +0100 Subject: [PATCH 7/8] Revert "Modify workflow" This reverts commit 0552bc0d258e6bcd5b0fda5fa6382b8af9c9da51. --- .github/workflows/code_coverage.yml | 47 +++-------------------------- .github/workflows/test_and_docs.yml | 41 ++++++++++++------------- 2 files changed, 24 insertions(+), 64 deletions(-) diff --git a/.github/workflows/code_coverage.yml b/.github/workflows/code_coverage.yml index bae4853b..26b20125 100644 --- a/.github/workflows/code_coverage.yml +++ b/.github/workflows/code_coverage.yml @@ -29,14 +29,10 @@ jobs: - name: Checkout Repository uses: actions/checkout@v6 - - name: Install dependencies - uses: eclipse-score/apt-install@main - with: - packages: | - lcov - fakechroot - cache: false - + - name: Install lcov + run: | + sudo apt-get update + sudo apt-get install -y lcov - name: Setup Bazel uses: bazel-contrib/setup-bazel@0.18.0 @@ -52,7 +48,7 @@ jobs: --test_output=errors \ --nocache_test_results \ --config=x86_64-linux \ - //src/... //tests/... + //src/... - name: Generate HTML Coverage Report shell: bash @@ -70,16 +66,6 @@ jobs: name: ${{ github.event.repository.name }}_cpp_coverage_report path: cpp_coverage/ retention-days: 10 - - - name: Upload test logs - if: always() - uses: actions/upload-artifact@v4 - with: - name: bazel-testlogs-cpp - path: | - bazel-testlogs/**/test.xml - bazel-testlogs/**/test.log - retention-days: 10 rust: runs-on: ubuntu-latest steps: @@ -118,26 +104,3 @@ jobs: name: ${{ github.event.repository.name }}_rust_coverage_report path: ${{ env.COVERAGE_DIR }} retention-days: 10 - - - name: Upload test logs - if: always() - uses: actions/upload-artifact@v4 - with: - name: bazel-testlogs-rust - path: | - bazel-testlogs/**/test.xml - bazel-testlogs/**/test.log - retention-days: 10 - - merge-testlogs: - needs: [cpp, rust] - if: always() - runs-on: ubuntu-latest - steps: - - name: Merge test log artifacts - uses: actions/upload-artifact/merge@v4 - with: - name: bazel-testlogs - pattern: bazel-testlogs-* - delete-merged: true - retention-days: 10 diff --git a/.github/workflows/test_and_docs.yml b/.github/workflows/test_and_docs.yml index b0a97b64..aaa975d1 100644 --- a/.github/workflows/test_and_docs.yml +++ b/.github/workflows/test_and_docs.yml @@ -20,9 +20,15 @@ permissions: id-token: write on: - workflow_run: - workflows: ["Code Coverage"] - types: [completed] + pull_request_target: + types: [opened, reopened, synchronize] # Allows forks to trigger the docs build + push: + branches: + - main + merge_group: + types: [checks_requested] + release: + types: [created] jobs: docs-verify: @@ -32,26 +38,17 @@ jobs: contents: read with: bazel-docs-verify-target: "//:docs_check" - fetch-testlogs: - runs-on: ubuntu-latest - if: ${{ github.event.workflow_run.conclusion == 'success' }} - steps: - - name: Download test logs from Code Coverage run - uses: actions/download-artifact@v4 - with: - name: bazel-testlogs - path: bazel-testlogs - run-id: ${{ github.event.workflow_run.id }} - github-token: ${{ secrets.GITHUB_TOKEN }} - - name: Re-upload test logs for docs build - uses: actions/upload-artifact@v4 - with: - name: bazel-testlogs - path: bazel-testlogs/ - retention-days: 10 + run-tests: + uses: eclipse-score/cicd-workflows/.github/workflows/tests.yml@main + permissions: + contents: read + pull-requests: read + with: + bazel-target: 'test //src/... //tests/... --config=x86_64-linux' + upload-name: 'bazel-testlogs' build-docs: - needs: fetch-testlogs - if: ${{ github.event.workflow_run.conclusion == 'success' }} + needs: run-tests + if: ${{ needs.run-tests.result == 'success' }} uses: eclipse-score/cicd-workflows/.github/workflows/docs.yml@main permissions: contents: write From 901a1b014e49351eab8ab3280c04e25d16ea9e99 Mon Sep 17 00:00:00 2001 From: "Empting Eelco (ETAS-ECM/XPC-Fe2)" Date: Wed, 25 Feb 2026 11:53:19 +0100 Subject: [PATCH 8/8] Add test dependencies --- .github/workflows/test_and_docs.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/test_and_docs.yml b/.github/workflows/test_and_docs.yml index aaa975d1..ebc99890 100644 --- a/.github/workflows/test_and_docs.yml +++ b/.github/workflows/test_and_docs.yml @@ -46,6 +46,7 @@ jobs: with: bazel-target: 'test //src/... //tests/... --config=x86_64-linux' upload-name: 'bazel-testlogs' + packages: 'fakechroot' build-docs: needs: run-tests if: ${{ needs.run-tests.result == 'success' }}