Skip to content

ci: layered L0–L3 scaffold trust (uvx from PyPI) - #47

Merged
ulises-jeremias merged 3 commits into
mainfrom
ci/layered-scaffold-trust
Jul 17, 2026
Merged

ci: layered L0–L3 scaffold trust (uvx from PyPI)#47
ulises-jeremias merged 3 commits into
mainfrom
ci/layered-scaffold-trust

Conversation

@ulises-jeremias

Copy link
Copy Markdown
Member

Summary

Implements #46: replace false-green smoke + all-extensions stacking with layered CI that attributes failures — always scaffolding via uvx create-awesome-python-app@latest from PyPI (never a create-python-app source checkout).

LayerWorkflowBehavior
L0ci-integrity.ymlRegistry on-disk paths + curated profile validation
L1ci-templates.ymlEvery template alone (file://?subdir=…)
L2ci-extensions.ymlOne extension × fastapi-starter
L3ci-profiles.ymlCurated stacks in ci/profiles/*.json

Removed:smoke-test.yml, test-combinations.yml.

Supporting changes

  • Split extension categories: ci / containers / database / editor
  • Curated profiles: fastapi-default, fastapi-typed-default, fastapi-devcontainer
  • Empty-scaffold guard + scripts/ci/*
  • Fix fastapi-typed-starter mypy issues so L1 type-check is honest

Companion docs PR on the CLI repo: (linked after create).

Test plan

  • python scripts/ci/validate-registry.py
  • python scripts/ci/generate-matrix.py --layer validate-profiles
  • Local L1: fastapi-starter + fastapi-typed-starter
  • Local L2: python-docker @ fastapi-starter
  • CI L0–L3 green on this PR

Closes#46

Made with Cursor

Mirror cna-templates layered CI for cpa-templates (#46):
- L0 registry + profile validation
- L1 every template alone
- L2 one extension × fastapi-starter
- L3 curated profiles under ci/profiles/
Scaffolding always uses `uvx create-awesome-python-app@latest` (never a
create-python-app source checkout). Retire smoke-test.yml and the random/
all-extensions combination workflows.
Also split extension categories (ci/containers/database/editor) and fix
fastapi-typed-starter mypy issues so L1 type-check is honest.
Co-authored-by: Cursor <cursoragent@cursor.com>
@ulises-jeremias

Copy link
Copy Markdown
MemberAuthor

Companion CLI docs: Create-Python-App/create-python-app#192

ulises-jeremiasand others added 2 commits July 17, 2026 01:45
Co-authored-by: Cursor <cursoragent@cursor.com>
A single --addons followed by multiple URLs makes Typer treat later URLs
as project_directory / COMMAND (e.g. No such command 'scaffold-check').
Co-authored-by: Cursor <cursoragent@cursor.com>
@ulises-jeremias
ulises-jeremias merged commit 17742f0 into mainJul 17, 2026
13 checks passed
@ulises-jeremias
ulises-jeremias deleted the ci/layered-scaffold-trust branch July 17, 2026 04:48
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ci: replace stacked/random extension matrix with trustable layered CI (uvx from PyPI)

1 participant

@ulises-jeremias