From dc1e030a28abfd1dfeda321b6f460e2e41af7049 Mon Sep 17 00:00:00 2001 From: Byron Williams Date: Wed, 10 Jun 2026 06:04:57 -0700 Subject: [PATCH 1/3] fix(ci): opt out of --no-build in org reusable workflow callers The org reusable workflows gained a no-build input defaulting to true, which passes --no-build to uv sync and fails on this repo's editable hatchling root package (no binary distribution). This broke the docs, SonarCloud, and FIPS runs on main and would break compatibility and mutation runs on their next schedule. Set no-build: false in all five callers, matching the sbom.yml fix merged in #44. --- .github/workflows/docs.yml | 2 ++ .github/workflows/fips-compatibility.yml | 2 ++ .github/workflows/mutation-testing.yml | 2 ++ .github/workflows/python-compatibility.yml | 2 ++ .github/workflows/sonarcloud.yml | 2 ++ CHANGELOG.md | 6 ++++++ 6 files changed, 16 insertions(+) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 84772cd..9b55ad1 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -33,6 +33,8 @@ jobs: id-token: write uses: ByronWilliamsCPA/.github/.github/workflows/python-docs.yml@987d517d3c8e4b180f4dd15de6d9575f0df91182 # main with: + # Repo uses hatchling; --no-build cannot install the editable root package + no-build: false python-version: '3.12' docs-directory: 'docs' source-directory: 'src' diff --git a/.github/workflows/fips-compatibility.yml b/.github/workflows/fips-compatibility.yml index be0bc3c..9aa388d 100644 --- a/.github/workflows/fips-compatibility.yml +++ b/.github/workflows/fips-compatibility.yml @@ -56,6 +56,8 @@ jobs: pull-requests: write uses: ByronWilliamsCPA/.github/.github/workflows/python-fips-compatibility.yml@987d517d3c8e4b180f4dd15de6d9575f0df91182 # main with: + # Repo uses hatchling; --no-build cannot install the editable root package + no-build: false strict-mode: ${{ github.event.inputs.strict_mode == 'true' }} include-tests: true fix-hints: true diff --git a/.github/workflows/mutation-testing.yml b/.github/workflows/mutation-testing.yml index 3eaacdc..8029844 100644 --- a/.github/workflows/mutation-testing.yml +++ b/.github/workflows/mutation-testing.yml @@ -41,6 +41,8 @@ jobs: name: Mutation Testing uses: ByronWilliamsCPA/.github/.github/workflows/python-mutation.yml@987d517d3c8e4b180f4dd15de6d9575f0df91182 # main with: + # Repo uses hatchling; --no-build cannot install the editable root package + no-build: false python-version: '3.12' source-directory: 'src' test-directory: 'tests' diff --git a/.github/workflows/python-compatibility.yml b/.github/workflows/python-compatibility.yml index 6ac76c3..36dfda0 100644 --- a/.github/workflows/python-compatibility.yml +++ b/.github/workflows/python-compatibility.yml @@ -36,6 +36,8 @@ jobs: compatibility: uses: ByronWilliamsCPA/.github/.github/workflows/python-compatibility.yml@987d517d3c8e4b180f4dd15de6d9575f0df91182 # main with: + # Repo uses hatchling; --no-build cannot install the editable root package + no-build: false python-versions: '["3.10", "3.11", "3.12", "3.13"]' operating-systems: '["ubuntu-latest"]' include-windows: true diff --git a/.github/workflows/sonarcloud.yml b/.github/workflows/sonarcloud.yml index 8d18c2b..8081ba2 100644 --- a/.github/workflows/sonarcloud.yml +++ b/.github/workflows/sonarcloud.yml @@ -34,6 +34,8 @@ jobs: sonarcloud: uses: ByronWilliamsCPA/.github/.github/workflows/python-sonarcloud.yml@987d517d3c8e4b180f4dd15de6d9575f0df91182 # main with: + # Repo uses hatchling; --no-build cannot install the editable root package + no-build: false sonar-organization: williaby sonar-project-key: ByronWilliamsCPA_python-libs python-version: '3.12' diff --git a/CHANGELOG.md b/CHANGELOG.md index b3054f3..dd0a9cd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -57,6 +57,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed +- Passed `no-build: false` to the org reusable workflows that gained a + default-on `--no-build` uv policy (`python-docs`, `python-sonarcloud`, + `python-fips-compatibility`, `python-mutation`, `python-compatibility`); + the default broke editable installation of the hatchling root package + ("marked as `--no-build` but has no binary distribution") on the docs, + SonarCloud, and FIPS runs on `main`. Same fix as `sbom.yml` in #44. - Restored the required status-check contexts the org rulesets enforce, which had drifted out of sync during the monorepo conversion and were silently blocking every open PR (the missing contexts sat permanently pending): From e4e9f26ef9e78f50b40ae2685d2c85e6baec0ae2 Mon Sep 17 00:00:00 2001 From: Byron Williams Date: Wed, 10 Jun 2026 06:23:37 -0700 Subject: [PATCH 2/3] fix(sonarcloud): enumerate package test dirs in sonar.tests SonarCloud rejects wildcards in sonar.sources/sonar.tests; the packages/*/tests/ entry failed the scan with exit code 3 once the workflow was unbroken. List the four package test directories explicitly. --- CHANGELOG.md | 3 +++ sonar-project.properties | 9 +++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index dd0a9cd..066b487 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -63,6 +63,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 the default broke editable installation of the hatchling root package ("marked as `--no-build` but has no binary distribution") on the docs, SonarCloud, and FIPS runs on `main`. Same fix as `sbom.yml` in #44. +- Replaced the unsupported `packages/*/tests/` wildcard in `sonar.tests` + with the enumerated package test directories; SonarCloud rejects + wildcards in `sonar.sources`/`sonar.tests` and failed the scan. - Restored the required status-check contexts the org rulesets enforce, which had drifted out of sync during the monorepo conversion and were silently blocking every open PR (the missing contexts sat permanently pending): diff --git a/sonar-project.properties b/sonar-project.properties index 325214c..5280e44 100644 --- a/sonar-project.properties +++ b/sonar-project.properties @@ -15,8 +15,13 @@ sonar.projectVersion=0.1.0 # Source directories (comma-separated) sonar.sources=src/,packages/ -# Test directories (comma-separated) -sonar.tests=tests/,packages/*/tests/ +# Test directories (comma-separated; SonarCloud does not support wildcards here) +sonar.tests=\ + tests/,\ + packages/cloudflare-api/tests/,\ + packages/cloudflare-auth/tests/,\ + packages/gcs-utilities/tests/,\ + packages/gemini-image/tests/ # Python version sonar.python.version=3.12 From 1ee2c3cf65c4316a7e2ee39bcd1306aaa27ae3fb Mon Sep 17 00:00:00 2001 From: Byron Williams Date: Wed, 10 Jun 2026 06:31:55 -0700 Subject: [PATCH 3/3] fix(sonarcloud): point CI analysis at the byronwilliamscpa org The scanner 404'd on analysis creation because sonar-organization was set to williaby, which has no python-libs project. The project key ByronWilliamsCPA_python-libs exists in the byronwilliamscpa org (confirmed via the SonarCloud components API). --- .github/workflows/sonarcloud.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/sonarcloud.yml b/.github/workflows/sonarcloud.yml index 8081ba2..8640eaf 100644 --- a/.github/workflows/sonarcloud.yml +++ b/.github/workflows/sonarcloud.yml @@ -36,7 +36,9 @@ jobs: with: # Repo uses hatchling; --no-build cannot install the editable root package no-build: false - sonar-organization: williaby + # Project ByronWilliamsCPA_python-libs lives in the byronwilliamscpa org + # (org williaby has no such project; the scanner 404s on analysis create) + sonar-organization: byronwilliamscpa sonar-project-key: ByronWilliamsCPA_python-libs python-version: '3.12' source-directory: 'src'