From 31d346575aeb130e2e30afb84d1b4ddf38f38618 Mon Sep 17 00:00:00 2001 From: Seun Akanni Date: Tue, 14 Jul 2026 11:35:31 +0100 Subject: [PATCH 01/14] ci: remove ci-build shim (superseded by tier bundles) --- .github/workflows/ci-build.yml | 27 --------------------------- 1 file changed, 27 deletions(-) delete mode 100644 .github/workflows/ci-build.yml diff --git a/.github/workflows/ci-build.yml b/.github/workflows/ci-build.yml deleted file mode 100644 index b009aed..0000000 --- a/.github/workflows/ci-build.yml +++ /dev/null @@ -1,27 +0,0 @@ -# Proxy workflow for CI_Toolkit — copy to .github/workflows/ci-build.yml in your -# org's proxy repo (e.g. BHoM/CI_Proxy). -# -# Required by rulesets: alpha, beta -# -# The org ruleset for each applicable maturity tier should require: -# /.github/workflows/ci-build.yml@main -# -# Note: paths filters are ignored by GitHub org rulesets — the workflow always runs on -# every pull_request. Early exits within the reusable workflow handle no-op cases. - -name: Build - -on: - pull_request: - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }} - cancel-in-progress: true - -jobs: - build: - uses: BuroHappoldEngineeringAdmin/CI_Toolkit/.github/workflows/ci-build.yml@develop - secrets: - BHOM_APP_ID: ${{ secrets.BHOM_APP_ID }} - BHOM_APP_PRIVATE_KEY: ${{ secrets.BHOM_APP_PRIVATE_KEY }} - From 2dfb22fc94a9fd6dd076283f3465b35f17a24fd6 Mon Sep 17 00:00:00 2001 From: Seun Akanni Date: Tue, 14 Jul 2026 11:35:33 +0100 Subject: [PATCH 02/14] ci: remove ci-code-compliance shim (superseded by tier bundles) --- .github/workflows/ci-code-compliance.yml | 15 --------------- 1 file changed, 15 deletions(-) delete mode 100644 .github/workflows/ci-code-compliance.yml diff --git a/.github/workflows/ci-code-compliance.yml b/.github/workflows/ci-code-compliance.yml deleted file mode 100644 index 85e9d0c..0000000 --- a/.github/workflows/ci-code-compliance.yml +++ /dev/null @@ -1,15 +0,0 @@ -name: Code Compliance - -on: - pull_request: - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }} - cancel-in-progress: true - -jobs: - code-compliance: - uses: BuroHappoldEngineeringAdmin/CI_Toolkit/.github/workflows/ci-code-compliance.yml@develop - secrets: - BHOM_APP_ID: ${{ secrets.BHOM_APP_ID }} - BHOM_APP_PRIVATE_KEY: ${{ secrets.BHOM_APP_PRIVATE_KEY }} From cfcef7bb17a55b7415ae30f68b8ac7713fac366d Mon Sep 17 00:00:00 2001 From: Seun Akanni Date: Tue, 14 Jul 2026 11:35:34 +0100 Subject: [PATCH 03/14] ci: remove ci-copyright-compliance shim (superseded by tier bundles) --- .github/workflows/ci-copyright-compliance.yml | 15 --------------- 1 file changed, 15 deletions(-) delete mode 100644 .github/workflows/ci-copyright-compliance.yml diff --git a/.github/workflows/ci-copyright-compliance.yml b/.github/workflows/ci-copyright-compliance.yml deleted file mode 100644 index e539873..0000000 --- a/.github/workflows/ci-copyright-compliance.yml +++ /dev/null @@ -1,15 +0,0 @@ -name: Copyright Compliance - -on: - pull_request: - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }} - cancel-in-progress: true - -jobs: - copyright-compliance: - uses: BuroHappoldEngineeringAdmin/CI_Toolkit/.github/workflows/ci-copyright-compliance.yml@develop - secrets: - BHOM_APP_ID: ${{ secrets.BHOM_APP_ID }} - BHOM_APP_PRIVATE_KEY: ${{ secrets.BHOM_APP_PRIVATE_KEY }} From 96ae9ca087bec7de3797149f3c0a2cce42ee1ab8 Mon Sep 17 00:00:00 2001 From: Seun Akanni Date: Tue, 14 Jul 2026 11:35:36 +0100 Subject: [PATCH 04/14] ci: remove ci-dataset-compliance shim (superseded by tier bundles) --- .github/workflows/ci-dataset-compliance.yml | 15 --------------- 1 file changed, 15 deletions(-) delete mode 100644 .github/workflows/ci-dataset-compliance.yml diff --git a/.github/workflows/ci-dataset-compliance.yml b/.github/workflows/ci-dataset-compliance.yml deleted file mode 100644 index a3617c9..0000000 --- a/.github/workflows/ci-dataset-compliance.yml +++ /dev/null @@ -1,15 +0,0 @@ -name: Dataset Compliance - -on: - pull_request: - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }} - cancel-in-progress: true - -jobs: - dataset-compliance: - uses: BuroHappoldEngineeringAdmin/CI_Toolkit/.github/workflows/ci-dataset-compliance.yml@develop - secrets: - BHOM_APP_ID: ${{ secrets.BHOM_APP_ID }} - BHOM_APP_PRIVATE_KEY: ${{ secrets.BHOM_APP_PRIVATE_KEY }} From 454655d13fefa7735d463d9347ca08aa79bf4799 Mon Sep 17 00:00:00 2001 From: Seun Akanni Date: Tue, 14 Jul 2026 11:35:37 +0100 Subject: [PATCH 05/14] ci: remove ci-dataset-tests shim (superseded by tier bundles) --- .github/workflows/ci-dataset-tests.yml | 15 --------------- 1 file changed, 15 deletions(-) delete mode 100644 .github/workflows/ci-dataset-tests.yml diff --git a/.github/workflows/ci-dataset-tests.yml b/.github/workflows/ci-dataset-tests.yml deleted file mode 100644 index 7481449..0000000 --- a/.github/workflows/ci-dataset-tests.yml +++ /dev/null @@ -1,15 +0,0 @@ -name: Dataset Unit Tests - -on: - pull_request: - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }} - cancel-in-progress: true - -jobs: - dataset-tests: - uses: BuroHappoldEngineeringAdmin/CI_Toolkit/.github/workflows/ci-dataset-tests.yml@develop - secrets: - BHOM_APP_ID: ${{ secrets.BHOM_APP_ID }} - BHOM_APP_PRIVATE_KEY: ${{ secrets.BHOM_APP_PRIVATE_KEY }} From f9776b1fd088bd89a8481f9517c920d620b6e236 Mon Sep 17 00:00:00 2001 From: Seun Akanni Date: Tue, 14 Jul 2026 11:35:38 +0100 Subject: [PATCH 06/14] ci: remove ci-documentation-compliance shim (superseded by tier bundles) --- .github/workflows/ci-documentation-compliance.yml | 15 --------------- 1 file changed, 15 deletions(-) delete mode 100644 .github/workflows/ci-documentation-compliance.yml diff --git a/.github/workflows/ci-documentation-compliance.yml b/.github/workflows/ci-documentation-compliance.yml deleted file mode 100644 index 638dceb..0000000 --- a/.github/workflows/ci-documentation-compliance.yml +++ /dev/null @@ -1,15 +0,0 @@ -name: Documentation Compliance - -on: - pull_request: - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }} - cancel-in-progress: true - -jobs: - documentation-compliance: - uses: BuroHappoldEngineeringAdmin/CI_Toolkit/.github/workflows/ci-documentation-compliance.yml@develop - secrets: - BHOM_APP_ID: ${{ secrets.BHOM_APP_ID }} - BHOM_APP_PRIVATE_KEY: ${{ secrets.BHOM_APP_PRIVATE_KEY }} From 42a0c394f0ddcfb0694dff761c9aa4c260a7f131 Mon Sep 17 00:00:00 2001 From: Seun Akanni Date: Tue, 14 Jul 2026 11:35:39 +0100 Subject: [PATCH 07/14] ci: remove ci-project-compliance shim (superseded by tier bundles) --- .github/workflows/ci-project-compliance.yml | 15 --------------- 1 file changed, 15 deletions(-) delete mode 100644 .github/workflows/ci-project-compliance.yml diff --git a/.github/workflows/ci-project-compliance.yml b/.github/workflows/ci-project-compliance.yml deleted file mode 100644 index db96e53..0000000 --- a/.github/workflows/ci-project-compliance.yml +++ /dev/null @@ -1,15 +0,0 @@ -name: Project Compliance - -on: - pull_request: - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }} - cancel-in-progress: true - -jobs: - project-compliance: - uses: BuroHappoldEngineeringAdmin/CI_Toolkit/.github/workflows/ci-project-compliance.yml@develop - secrets: - BHOM_APP_ID: ${{ secrets.BHOM_APP_ID }} - BHOM_APP_PRIVATE_KEY: ${{ secrets.BHOM_APP_PRIVATE_KEY }} From e127c0a26a08833bf824319090a5a228a756770d Mon Sep 17 00:00:00 2001 From: Seun Akanni Date: Tue, 14 Jul 2026 11:35:40 +0100 Subject: [PATCH 08/14] ci: remove ci-serialisation shim (superseded by tier bundles) --- .github/workflows/ci-serialisation.yml | 22 ---------------------- 1 file changed, 22 deletions(-) delete mode 100644 .github/workflows/ci-serialisation.yml diff --git a/.github/workflows/ci-serialisation.yml b/.github/workflows/ci-serialisation.yml deleted file mode 100644 index 40adb44..0000000 --- a/.github/workflows/ci-serialisation.yml +++ /dev/null @@ -1,22 +0,0 @@ -# Staging proxy workflow for CI_Toolkit -- copy to .github/workflows/ci-serialisation.yml in your -# staging org proxy repo (e.g. BuroHappoldEngineeringSandbox/CI_Toolkit_Proxy). -# -# Required by rulesets: beta - -name: Serialisation - -on: - pull_request: - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }} - cancel-in-progress: true - -jobs: - serialisation: - uses: BuroHappoldEngineeringAdmin/CI_Toolkit/.github/workflows/ci-serialisation.yml@develop - secrets: - BHOM_APP_ID: ${{ secrets.BHOM_APP_ID }} - BHOM_APP_PRIVATE_KEY: ${{ secrets.BHOM_APP_PRIVATE_KEY }} - with: - base_ref: ${{ github.base_ref }} From 811e9ca6e85c0d068997fa1ba2c89da1cf803451 Mon Sep 17 00:00:00 2001 From: Seun Akanni Date: Tue, 14 Jul 2026 11:35:41 +0100 Subject: [PATCH 09/14] ci: remove ci-versioning shim (superseded by tier bundles) --- .github/workflows/ci-versioning.yml | 19 ------------------- 1 file changed, 19 deletions(-) delete mode 100644 .github/workflows/ci-versioning.yml diff --git a/.github/workflows/ci-versioning.yml b/.github/workflows/ci-versioning.yml deleted file mode 100644 index f021aa7..0000000 --- a/.github/workflows/ci-versioning.yml +++ /dev/null @@ -1,19 +0,0 @@ -# Sandbox proxy — calls CI_Toolkit on develop. - -name: Versioning - -on: - pull_request: - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }} - cancel-in-progress: true - -jobs: - versioning: - uses: BuroHappoldEngineeringAdmin/CI_Toolkit/.github/workflows/ci-versioning.yml@develop - secrets: - BHOM_APP_ID: ${{ secrets.BHOM_APP_ID }} - BHOM_APP_PRIVATE_KEY: ${{ secrets.BHOM_APP_PRIVATE_KEY }} - with: - versioning_toolkit_repo: 'BuroHappoldEngineeringSandbox/Versioning_Toolkit' From 1e6a56f804e2b32192bd95f7466715cb3bd871e6 Mon Sep 17 00:00:00 2001 From: Seun Akanni Date: Tue, 14 Jul 2026 11:35:43 +0100 Subject: [PATCH 10/14] ci: remove debug-app-credentials shim (superseded by tier bundles) --- .github/workflows/debug-app-credentials.yml | 70 --------------------- 1 file changed, 70 deletions(-) delete mode 100644 .github/workflows/debug-app-credentials.yml diff --git a/.github/workflows/debug-app-credentials.yml b/.github/workflows/debug-app-credentials.yml deleted file mode 100644 index a9c4996..0000000 --- a/.github/workflows/debug-app-credentials.yml +++ /dev/null @@ -1,70 +0,0 @@ -name: Debug App Credentials (Sandbox) - -# Tests whether BHOM_APP_ID and BHOM_APP_PRIVATE_KEY are accessible -# directly from this proxy repo's context (no cross-org call involved). -# -# If APP_ID shows as empty here, the secret is not accessible to this repo -# in the sandbox org — check the org secret repository access settings. -# If APP_ID is non-empty and token mints successfully, the issue is with -# secrets:inherit across org boundaries in the reusable workflow call. - -on: - workflow_dispatch: - -jobs: - debug-credentials: - runs-on: ubuntu-latest - steps: - - name: Check secret availability (sandbox context) - id: secret-check - env: - APP_ID: ${{ secrets.BHOM_APP_ID }} - APP_KEY: ${{ secrets.BHOM_APP_PRIVATE_KEY }} - run: | - echo "=== Sandbox proxy secret availability ===" - echo "BHOM_APP_ID length: ${#APP_ID}" - echo "BHOM_APP_PRIVATE_KEY length: ${#APP_KEY}" - - if [ -z "$APP_ID" ]; then - echo "::error::BHOM_APP_ID is empty in sandbox proxy context." - echo " The secret exists in the org but is NOT accessible to this repo." - echo " Fix: org Settings -> Secrets -> BHOM_APP_ID -> Repository access -> add CI_Toolkit." - echo "available=false" >> "$GITHUB_OUTPUT" - else - echo "::notice::BHOM_APP_ID is present (length ${#APP_ID}). Secret IS accessible here." - echo "available=true" >> "$GITHUB_OUTPUT" - fi - - if [ -z "$APP_KEY" ]; then - echo "::error::BHOM_APP_PRIVATE_KEY is empty in sandbox proxy context." - else - echo "::notice::BHOM_APP_PRIVATE_KEY is present (length ${#APP_KEY})." - fi - - - name: Mint token (sandbox context) - id: app-token - if: steps.secret-check.outputs.available == 'true' - uses: actions/create-github-app-token@07e2b760664f080c40eec4eacf7477256582db36 - with: - client-id: ${{ secrets.BHOM_APP_ID }} - private-key: ${{ secrets.BHOM_APP_PRIVATE_KEY }} - owner: ${{ github.repository_owner }} - - - name: Verify token - if: steps.secret-check.outputs.available == 'true' - env: - TOKEN: ${{ steps.app-token.outputs.token }} - run: | - if [ -z "$TOKEN" ]; then - echo "::error::Token mint failed despite secrets being present." - exit 1 - fi - echo "::notice::Token minted successfully (length ${#TOKEN})." - RESPONSE=$(curl -sf -H "Authorization: Bearer $TOKEN" \ - "https://api.github.com/installation/repositories?per_page=1" 2>&1) || true - if echo "$RESPONSE" | grep -q '"total_count"'; then - COUNT=$(echo "$RESPONSE" | python3 -c "import sys,json; print(json.load(sys.stdin).get('total_count','?'))" 2>/dev/null || echo "?") - echo "::notice::Token scope OK — installation repo count: $COUNT" - else - echo "::warning::Could not verify token scope. Response: $RESPONSE" - fi From 2578dc40fbdbc083a58cfcfdabba7bc4c18e24d4 Mon Sep 17 00:00:00 2001 From: Seun Akanni Date: Tue, 14 Jul 2026 11:35:44 +0100 Subject: [PATCH 11/14] ci: replace ci-format shim with composite-based standalone --- .github/workflows/ci-format.yml | 24 ------------------------ 1 file changed, 24 deletions(-) diff --git a/.github/workflows/ci-format.yml b/.github/workflows/ci-format.yml index 0863ad6..e69de29 100644 --- a/.github/workflows/ci-format.yml +++ b/.github/workflows/ci-format.yml @@ -1,24 +0,0 @@ -# Proxy workflow for CI_Toolkit — copy to .github/workflows/ci-format.yml in your -# org's proxy repo (e.g. BHoM/CI_Proxy). -# -# Required by rulesets: prototype, alpha, beta -# -# The org ruleset for each applicable maturity tier should require: -# /.github/workflows/ci-format.yml@main -# -# Note: paths filters are ignored by GitHub org rulesets — the workflow always runs on -# every pull_request. Early exits within the reusable workflow handle no-op cases. - -name: Format - -on: - pull_request: - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }} - cancel-in-progress: true - -jobs: - format: - uses: BuroHappoldEngineeringAdmin/CI_Toolkit/.github/workflows/ci-format.yml@develop - secrets: inherit From df048375f2c59d55f4efb9ca9b313f2200d62b9d Mon Sep 17 00:00:00 2001 From: Seun Akanni Date: Tue, 14 Jul 2026 11:35:45 +0100 Subject: [PATCH 12/14] ci: replace ci-unit-tests shim with composite-based standalone --- .github/workflows/ci-unit-tests.yml | 28 ---------------------------- 1 file changed, 28 deletions(-) diff --git a/.github/workflows/ci-unit-tests.yml b/.github/workflows/ci-unit-tests.yml index a6dd322..e69de29 100644 --- a/.github/workflows/ci-unit-tests.yml +++ b/.github/workflows/ci-unit-tests.yml @@ -1,28 +0,0 @@ -# Proxy workflow for CI_Toolkit — copy to .github/workflows/ci-unit-tests.yml in your -# org's proxy repo (e.g. BHoM/CI_Proxy). -# -# Required by rulesets: alpha, beta -# -# The org ruleset for each applicable maturity tier should require: -# /.github/workflows/ci-unit-tests.yml@main -# -# Note: paths filters are ignored by GitHub org rulesets — the workflow always runs on -# every pull_request. Early exits within the reusable workflow handle no-op cases. - -name: Unit Tests - -on: - pull_request: - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }} - cancel-in-progress: true - -jobs: - unit-tests: - uses: BuroHappoldEngineeringAdmin/CI_Toolkit/.github/workflows/ci-unit-tests.yml@develop - secrets: - BHOM_APP_ID: ${{ secrets.BHOM_APP_ID }} - BHOM_APP_PRIVATE_KEY: ${{ secrets.BHOM_APP_PRIVATE_KEY }} - with: - pr_number: ${{ github.event.pull_request.number }} From 1899ef946dac82e09b2da1fc149bf4b8a62226e7 Mon Sep 17 00:00:00 2001 From: Seun Akanni Date: Tue, 14 Jul 2026 11:36:10 +0100 Subject: [PATCH 13/14] ci: replace ci-format shim with composite-based standalone --- .github/workflows/ci-format.yml | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/.github/workflows/ci-format.yml b/.github/workflows/ci-format.yml index e69de29..2f2cd48 100644 --- a/.github/workflows/ci-format.yml +++ b/.github/workflows/ci-format.yml @@ -0,0 +1,27 @@ +# Proxy workflow. Copy to .github/workflows/ci-format.yml in your org's proxy +# repo and require /.github/workflows/ci-format.yml@develop in the +# org ruleset for the prototype, alpha, beta maturity tier(s). +# +# Rulesets ignore event filters on required workflows, so this file has +# no paths filter. The composite self-skips when no relevant files have changed. +# Workflow name CI keeps check contexts bare: required contexts are the job names. + +name: CI + +on: + pull_request: + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }} + cancel-in-progress: true + +jobs: + format: + runs-on: ubuntu-latest + timeout-minutes: 10 + steps: + - name: Run format + uses: BuroHappoldEngineeringAdmin/CI_Toolkit/.github/actions/ci-format@develop + with: + app_id: ${{ secrets.BHOM_APP_ID }} + private_key: ${{ secrets.BHOM_APP_PRIVATE_KEY }} From 4ff96645c80d364b26726b33bbfc8fca0f0daef0 Mon Sep 17 00:00:00 2001 From: Seun Akanni Date: Tue, 14 Jul 2026 11:36:11 +0100 Subject: [PATCH 14/14] ci: replace ci-unit-tests shim with composite-based standalone --- .github/workflows/ci-unit-tests.yml | 33 +++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/.github/workflows/ci-unit-tests.yml b/.github/workflows/ci-unit-tests.yml index e69de29..877368a 100644 --- a/.github/workflows/ci-unit-tests.yml +++ b/.github/workflows/ci-unit-tests.yml @@ -0,0 +1,33 @@ +# Proxy workflow. Copy to .github/workflows/ci-unit-tests.yml in your org's proxy +# repo and require /.github/workflows/ci-unit-tests.yml@develop in the +# org ruleset for the alpha, beta maturity tier(s). +# +# Rulesets ignore event filters on required workflows, so this file has +# no paths filter. The composite self-skips when no relevant files have changed. +# +# Extending orgs: override test_toolkit_repo via with: to point at a fork. +# Dep forks must carry the relevant changes on the PR's base branch, +# not the fork's default branch, since resolve-dependencies clones from the base. +# Workflow name CI keeps check contexts bare: required contexts are the job names. + +name: CI + +on: + pull_request: + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }} + cancel-in-progress: true + +jobs: + unit-tests: + runs-on: windows-2025-vs2026 + timeout-minutes: 30 + steps: + - name: Run unit tests + uses: BuroHappoldEngineeringAdmin/CI_Toolkit/.github/actions/ci-unit-tests@develop + with: + app_id: ${{ secrets.BHOM_APP_ID }} + private_key: ${{ secrets.BHOM_APP_PRIVATE_KEY }} + # For extending orgs, uncomment and set your fork path: + # test_toolkit_repo: 'YourOrg/Test_Toolkit'