From 2cfdf1ce695857cf0a185db633406802ffd216cf Mon Sep 17 00:00:00 2001 From: Bruno Schmitt <7152025+boschmitt@users.noreply.github.com> Date: Mon, 25 Nov 2024 22:08:31 +0100 Subject: [PATCH] [ci] Fixes to docs, PR and PR cleanup workflows. (#9) * Fix paths that triggers different library testing jobs. * Fix condition to run library testing jobs. * Make docs-building workflow callable and use it on PR workflows. * On the PR cleanup workflow, there is no need to install GitHub CLI. Signed-off-by: boschmitt <7152025+boschmitt@users.noreply.github.com> --- .github/workflows/docs.yaml | 6 +-- .github/workflows/pr_cache_cleanup.yaml | 2 - .github/workflows/pr_workflow.yaml | 51 +++++++++++++++++-------- 3 files changed, 39 insertions(+), 20 deletions(-) diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml index b1f85c8..2adc7ce 100644 --- a/.github/workflows/docs.yaml +++ b/.github/workflows/docs.yaml @@ -1,6 +1,8 @@ name: Documentation on: + workflow_call: + workflow_dispatch: branches: - main @@ -8,8 +10,6 @@ on: push: branches: - main - # FIXME: remove? - - "pull-request/[0-9]+" paths: - '.github/workflows/docs.yaml' - 'docs/**' @@ -18,7 +18,7 @@ on: - '**/*.py' concurrency: - group: ${{ github.workflow }}-${{ github.ref }} + group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.ref }} cancel-in-progress: true jobs: diff --git a/.github/workflows/pr_cache_cleanup.yaml b/.github/workflows/pr_cache_cleanup.yaml index 37dda94..7a8ff7b 100644 --- a/.github/workflows/pr_cache_cleanup.yaml +++ b/.github/workflows/pr_cache_cleanup.yaml @@ -15,8 +15,6 @@ jobs: env: GH_TOKEN: ${{ github.token }} run: | - bash .github/workflows/scripts/install_git_cli.sh - pr_number=$(echo ${{ github.event.ref }} | sed 's/.*\///') # Fetch the list of cache keys diff --git a/.github/workflows/pr_workflow.yaml b/.github/workflows/pr_workflow.yaml index 86955d5..f6e3ddb 100644 --- a/.github/workflows/pr_workflow.yaml +++ b/.github/workflows/pr_workflow.yaml @@ -15,6 +15,7 @@ jobs: runs-on: ubuntu-latest outputs: build-cudaq: ${{ steps.filter.outputs.build-cudaq }} + build-docs: ${{ steps.filter.outputs.build-docs }} build-all: ${{ steps.filter.outputs.build-all }} build-qec: ${{ steps.filter.outputs.build-qec }} build-solvers: ${{ steps.filter.outputs.build-solvers }} @@ -40,6 +41,12 @@ jobs: - '.github/workflows/cudaq_bump.yml' - '.github/actions/get-cudaq-build/**' - '.cudaq_version' + build-docs: + - '.github/workflows/docs.yaml' + - 'docs/**' + - '**/*.cpp' + - '**/*.h' + - '**/*.py' build-all: - '.github/actions/build-lib/action.yaml' - '.github/actions/build-lib/build_all.yaml' @@ -51,26 +58,26 @@ jobs: - '.github/actions/build-lib/build_qec.sh' - '.github/workflows/lib_qec.yaml' - 'cmake/Modules/**' - - 'libs/core/**.cpp' - - 'libs/core/**.h' + - 'libs/core/**/*.cpp' + - 'libs/core/**/*.h' - 'libs/core/**/CMakeLists.txt' - - 'libs/qec/**.cpp' - - 'libs/qec/**.h' - - 'libs/qec/**.in' - - 'libs/qec/**.py' + - 'libs/qec/**/*.cpp' + - 'libs/qec/**/*.h' + - 'libs/qec/**/*.in' + - 'libs/qec/**/*.py' - 'libs/qec/**/CMakeLists.txt' build-solvers: - '.github/actions/build-lib/action.yaml' - '.github/actions/build-lib/build_solvers.sh' - '.github/workflows/lib_solvers.yaml' - 'cmake/Modules/**' - - 'libs/core/**.cpp' - - 'libs/core/**.h' + - 'libs/core/**/*.cpp' + - 'libs/core/**/*.h' - 'libs/core/**/CMakeLists.txt' - - 'libs/solvers/**.cpp' - - 'libs/solvers/**.h' - - 'libs/solvers/**.in' - - 'libs/solvers/**.py' + - 'libs/solvers/**/*.cpp' + - 'libs/solvers/**/*.h' + - 'libs/solvers/**/*.in' + - 'libs/solvers/**/*.py' - 'libs/solvers/**/CMakeLists.txt' build-cudaq: @@ -109,21 +116,35 @@ jobs: save-build: true save-ccache: false + build-docs: + name: Docs + needs: [check-changes, build-cudaq] + if: | + !failure() && !cancelled() && + needs.check-changes.outputs.build-docs == 'true' + uses: ./.github/workflows/docs.yaml + build-all: name: All libs needs: [check-changes, build-cudaq] - if: needs.check-changes.outputs.build-all == 'true' || needs.check-changes.outputs.build-cudaq == 'true' + if: | + !failure() && !cancelled() && + (needs.check-changes.outputs.build-all == 'true' || needs.check-changes.outputs.build-cudaq == 'true') uses: ./.github/workflows/all_libs.yaml build-qec: name: QEC needs: [check-changes, build-cudaq] - if: needs.check-changes.outputs.build-qec == 'true' || needs.check-changes.outputs.build-cudaq == 'true' + if: | + !failure() && !cancelled() && + (needs.check-changes.outputs.build-qec == 'true' || needs.check-changes.outputs.build-cudaq == 'true') uses: ./.github/workflows/lib_qec.yaml build-solvers: name: Solvers needs: [check-changes, build-cudaq] - if: needs.check-changes.outputs.build-solvers == 'true' || needs.check-changes.outputs.build-cudaq == 'true' + if: | + !failure() && !cancelled() && + (needs.check-changes.outputs.build-solvers == 'true' || needs.check-changes.outputs.build-cudaq == 'true') uses: ./.github/workflows/lib_solvers.yaml