Skip to content

Release 0.2.0: narrow SQL Apps to Azure SQL + Data API Builder - #9

Merged
Alex Power[s] BI (itsnotaboutthecell) merged 14 commits into
microsoft:mainfrom
alexmpowers:release/0.2.0
Oct 14, 2026
Merged

Alex Power[s] BI (itsnotaboutthecell) merged 14 commits into
microsoft:mainfrom
alexmpowers:release/0.2.0

Conversation

@alexmpowers

@alexmpowers Alex Powers (alexmpowers) commented Oct 13, 2026 •

Copy link
Copy Markdown

Description

Release SQL Apps 0.2.0, narrowed to its core: Azure SQL Database plus Data API Builder (DAB). Generic Azure work (deployment, hosting, diagnostics) is routed to the maintained Azure and SQL agent skills instead of custom orchestration.

  • role-based-data is the only profile. The foundation profile, the files-jobs starter, the Functions/Storage/Key Vault infrastructure, and related local orchestration are removed (about 16.6k lines deleted).
  • infra/main.bicep deploys private Azure SQL, DAB and the gateway as Container Apps; privileged RBAC stays in the separate infra/rbac.bicep.
  • Adds the deployment update flow (imageSource), Entra sign-in for SqlPackage, and the grants handoff.
  • local app starts three services (SQL, DAB, gateway); projects no longer copy functions/.
  • CI fixes: portable test paths so npm test passes on Linux (it was failing on main), and the setup-diagnostics job skips the one check that requires a build.
  • Docs, plugin skills and version metadata updated for 0.2.0. Windows workspace identity now resolves 8.3 short paths and long paths to the same native identity; macOS fixtures record canonical homes.

Prerequisite #8 is merged. This comparison now contains the 0.2.0 release changes.

Type of change

  • Bug fix
  • New feature
  • Documentation update
  • Other (release and removal of obsolete code)

Checklist

  • I have read the Contributing Guide
  • My changes follow the existing code style
  • I have tested my changes locally
  • I have updated documentation as needed

Validation (local, Azure and DAB dependencies are test doubles; not live Azure acceptance):

  • npm test on Windows: passed, 412 tests (410 passed, 2 skipped); examples 32/32 passed.
  • npm test on Linux (node:22 container): passed, 411/411; examples 32/32 passed.
  • Setup-diagnostics job reproduced in a clean, unbuilt checkout: passed, 118 passed, 1 skipped.
  • npm run typecheck: passed.
  • npm run sql:build: passed, 0 warnings, 0 errors.
  • npm run infra:build: passed.
  • npm run dab:validate: passed DAB 2.0.12 schema validation (database connectivity not tested).
  • npm run plugin:check: passed.
  • npm run tooling:build: passed.
  • npm run tooling:check: passed.
  • git diff --check: passed.
  • CI on 93373b4: setup diagnostics passed on Windows, macOS and Linux; Linux validation passed on Node 22 and 24. Windows Node 22 failed only on a transient fixture cleanup lock, corrected in 6d003e4.
  • node --test tests/tooling-project-runtime.test.mjs on 6d003e4: passed, 8/8 tests. The latest CI runs await maintainer approval.
  • Not live-tested: SqlPackage Entra sign-in against a real Azure SQL server.

AI disclosure

GitHub Copilot assisted with the ownership audit, implementation, tests, documentation, CI diagnosis and release preparation. All changes were reviewed and validated with the commands above.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
SQL Apps now owns the Azure SQL and Data API Builder application contract
and delegates general Azure lifecycle work to maintained Azure Skills
(azure-prepare, azure-validate, azure-deploy, azure-diagnostics, Azure Cost).

Breaking changes (npm run azure):
- Removed architecture-plan and the architecture planner modules.
- Removed hosting-compare and the hosting decision document.
- Removed demo-cost and role-based-cost; route cost work to Azure Cost.
- Removed the public demo publisher (demo-init, demo-preflight,
  demo-publish, demo-status) with demo.bicep and demo-runtime.bicep.
- Removed six example configurations used only by those commands.
- Renamed infra:test-demo to infra:test.

Changed:
- Plugin skills route generic Azure, cost, design and diagnostics work to
  maintained skills; the design skill no longer bundles generic UI references.
- The role-based deployment path (private SQL, DAB managed-identity grants,
  smoke tests, main.bicep and rbac.bicep) is retained as a compatibility path
  until a maintained deployment proves private schema publishing and grants.
- Removed the unused @azure/static-web-apps-cli dev dependency.
- Build cleanup also clears dist/tests so deleted tests cannot run stale.

Fixed:
- Concurrent file-lock contention on Windows no longer fails with EPERM
  while another owner releases the lock.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Fixes all six ponytail audit findings:
- Role-based deployments update: artifacts records imageSource, deploy rolls forward on config/source change.
- SqlPackage authenticates with Entra (no access token on the command line).
- grants writes dist/sql/role-based-grants.sql for maintained deployment routes.
- Foundation profile removed (Functions, Blob/Queue/Azurite, Key Vault, file jobs, tracing) from runtime, infra, local tooling and starter.
- local app starts only SQL + DAB + gateway (3-port workspace block, fixed offsets).
- New projects no longer copy functions/.

Removed commands: gateway, static, functions, secret-set, smoke, serve-sql, services, stop-services, maintain, services-test, api-test.
Docs and plugin skills updated; files/jobs route to maintained Azure skills.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Same assertions; the test drops from ~10s to ~6s.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…setup job

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
macOS tmpdir is a symlink (/var -> /private/var); consent planning compares against the realpath home.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@itsnotaboutthecell
Alex Power[s] BI (itsnotaboutthecell) marked this pull request as ready for review October 13, 2026 22:45
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…xtures

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@alexmpowers

Copy link
Copy Markdown
Author

CI is currently blocked before execution: both fork workflow runs have conclusion \�ction_required\ and need approval from a repository maintainer with Actions write permission. Please approve and run: Azure-native validation (https://github.com/microsoft/sql-apps/actions/runs/38482414197) and Validate start.md prompt (https://github.com/microsoft/sql-apps/actions/runs/38482414279). The branch is conflict-free with \main; this is an Actions permission gate, not a merge conflict or test failure.

@alexmpowers

Copy link
Copy Markdown
Author

Final-head validation for \1f79fe5793cf6876bd54a9e2d4d168402f6adc68\ is complete:

  • Reproduced the last executed Actions failure: Windows-only transient \EBUSY\ while removing a generated runtime fixture.
  • Verified the committed retry fix with 3 consecutive Windows runs of \ ests/tooling-project-runtime.test.mjs\ (all 8/8 passed each run).
  • Ran the complete Windows/Node 22 \�zure-native-ci.yml\ command sequence locally; every step passed, including 412/412 tests, typecheck, DAB validation, SQL build, application check, Bicep build, and infrastructure tests.
  • Ran the full 412-test suite under Node 24.21.0; all passed.
  • Validated \content/start.md; no straight double quotes.

The only remaining PR blocker is GitHub's fork-workflow approval gate. Please approve the two pending runs linked above; no additional code change is indicated.

@itsnotaboutthecell
Alex Power[s] BI (itsnotaboutthecell) merged commit 1f79fe5 into microsoft:main Oct 14, 2026
1 check passed
@alexmpowers
Alex Powers (alexmpowers) deleted the release/0.2.0 branch October 15, 2026 16:00
Sign up for free to 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.

2 participants