From 197ab2c6f6bbdef7b7c7eea3f8741aa9c106dc13 Mon Sep 17 00:00:00 2001 From: Diogo Matsubara Date: Wed, 18 Dec 2024 12:12:05 +0100 Subject: [PATCH] fix: Add CI status and change build-check to ci (#833) * fix: Add CI status and change build-check to ci Align zenoh-pico with the rest of the zenoh ecosystem in terms of CI, - rename build-check.yml to ci.yml - Include CI status check to ci.yml * chore: fix test name * fix: experiment with reusable workflow * fix: make integration and build-static reusable * fix: make multicast tests reusable * fix: typo in job name --- .github/workflows/build-shared.yaml | 5 +-- .github/workflows/build-static.yaml | 5 +-- .../workflows/{build-check.yaml => ci.yml} | 36 +++++++++++++++++-- .github/workflows/integration.yaml | 7 +--- .github/workflows/multicast.yaml | 7 +--- 5 files changed, 38 insertions(+), 22 deletions(-) rename .github/workflows/{build-check.yaml => ci.yml} (87%) diff --git a/.github/workflows/build-shared.yaml b/.github/workflows/build-shared.yaml index bc07b2a7c..902479231 100644 --- a/.github/workflows/build-shared.yaml +++ b/.github/workflows/build-shared.yaml @@ -14,10 +14,7 @@ name: build-shared on: - push: - branches: [ '**' ] - pull_request: - branches: [ '**' ] + workflow_call: jobs: build: diff --git a/.github/workflows/build-static.yaml b/.github/workflows/build-static.yaml index 4b853c7a7..bfb13e433 100644 --- a/.github/workflows/build-static.yaml +++ b/.github/workflows/build-static.yaml @@ -14,10 +14,7 @@ name: build-static on: - push: - branches: [ '**' ] - pull_request: - branches: [ '**' ] + workflow_call: jobs: build: diff --git a/.github/workflows/build-check.yaml b/.github/workflows/ci.yml similarity index 87% rename from .github/workflows/build-check.yaml rename to .github/workflows/ci.yml index f9881bbcb..fbd6ca374 100644 --- a/.github/workflows/build-check.yaml +++ b/.github/workflows/ci.yml @@ -11,13 +11,15 @@ # Contributors: # ZettaScale Zenoh Team, # -name: build-check +name: CI on: push: branches: ["**"] pull_request: branches: ["**"] + schedule: + - cron: "0 6 * * 1-5" jobs: run_tests: @@ -282,7 +284,7 @@ jobs: if: always() run: kill ${{ steps.run-zenoh.outputs.zenohd-pid }} - no_routeur: + no_router: name: Test examples without router runs-on: ubuntu-latest steps: @@ -304,3 +306,33 @@ jobs: with: config: '.markdownlint.yaml' globs: '**/README.md' + + build_shared: + name: Build shared libs + uses: ./.github/workflows/build-shared.yaml + + build_static: + name: Build static libs + uses: ./.github/workflows/build-static.yaml + + integration: + name: Run integration tests + uses: ./.github/workflows/integration.yaml + + multicast: + name: Run multicast tests + uses: ./.github/workflows/multicast.yaml + + # NOTE: In GitHub repository settings, the "Require status checks to pass + # before merging" branch protection rule ensures that commits are only merged + # from branches where specific status checks have passed. These checks are + # specified manually as a list of workflow job names. Thus we use this extra + # job to signal whether all CI checks have passed. + ci: + name: CI status checks + runs-on: ubuntu-latest + needs: [run_tests, check_format, c99_build, raweth_build, zenoh_build, modular_build, unstable_build, st_build, fragment_test, attachment_test, memory_leak_test, no_router, markdown_lint, build_shared, build_static, integration, multicast] + if: always() + steps: + - name: Check whether all jobs pass + run: echo '${{ toJson(needs) }}' | jq -e 'all(.result == "success")' diff --git a/.github/workflows/integration.yaml b/.github/workflows/integration.yaml index 8b938a042..021674289 100644 --- a/.github/workflows/integration.yaml +++ b/.github/workflows/integration.yaml @@ -14,12 +14,7 @@ name: integration on: - push: - branches: ["**"] - pull_request: - branches: ["**"] - schedule: - - cron: "0 6 * * 1-5" + workflow_call: jobs: build: diff --git a/.github/workflows/multicast.yaml b/.github/workflows/multicast.yaml index 3686a7ee0..1fe0fa96e 100644 --- a/.github/workflows/multicast.yaml +++ b/.github/workflows/multicast.yaml @@ -14,12 +14,7 @@ name: multicast on: - push: - branches: ["**"] - pull_request: - branches: ["**"] - schedule: - - cron: "0 6 * * 1-5" + workflow_call: jobs: build: