diff --git a/.changeset/complete-uv-environment-detection.md b/.changeset/complete-uv-environment-detection.md deleted file mode 100644 index 1eeb9433..00000000 --- a/.changeset/complete-uv-environment-detection.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@area44/workflows": patch ---- - -Complete uv environment detection including uv.toml support, repository-bounded parent directory context discovery for workspace members and nested packages, and refined uv project table classification. diff --git a/.changeset/consolidate-environment-resolution-api.md b/.changeset/consolidate-environment-resolution-api.md deleted file mode 100644 index b9b261cc..00000000 --- a/.changeset/consolidate-environment-resolution-api.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -"@area44/workflows": patch ---- - -Consolidate internal environment resolution onto canonical APIs and remove obsolete legacy wrappers, aliases, and overloads. - -- Removed legacy functions and aliases: `parseRuntimeInput`, `detectProjectEnvironment`, `detectRuntime`, `detectPackageManager`, `detectNodeVersion`, `detectBunVersion`, `detectEnv`, `getPnpmRuntime`, and `getDefaultPackageManagerVersion`. -- Simplified `writeOutput` signature to strictly accept `writeOutput(env: ResolvedEnvironment): void`. -- Refactored `resolvePnpmSetupRuntime` to accept `Pick`. -- Updated internal callers and test suites to exercise canonical environment resolution APIs directly. diff --git a/.changeset/cuddly-tools-relate.md b/.changeset/cuddly-tools-relate.md deleted file mode 100644 index ca880725..00000000 --- a/.changeset/cuddly-tools-relate.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@area44/workflows": patch ---- - -fix(pages): normalize build output path and validate repository metadata diff --git a/.changeset/curly-moons-buy.md b/.changeset/curly-moons-buy.md deleted file mode 100644 index 64f75df1..00000000 --- a/.changeset/curly-moons-buy.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@area44/workflows": patch ---- - -Refactor Environment Resolution into Language-Specific Modules diff --git a/.changeset/fix-python-source-detection.md b/.changeset/fix-python-source-detection.md deleted file mode 100644 index d2029f17..00000000 --- a/.changeset/fix-python-source-detection.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@area44/workflows": patch ---- - -fix(autofix): include tests/ and **tests**/ directories in Python source detection diff --git a/.changeset/fix-toml-parser-uv-config-validation.md b/.changeset/fix-toml-parser-uv-config-validation.md deleted file mode 100644 index 69c4e31c..00000000 --- a/.changeset/fix-toml-parser-uv-config-validation.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@area44/workflows": patch ---- - -Fix TOML parsing and preserve Python project detection behavior. diff --git a/.changeset/harden-autofix-workflow-isolation.md b/.changeset/harden-autofix-workflow-isolation.md deleted file mode 100644 index 589526d4..00000000 --- a/.changeset/harden-autofix-workflow-isolation.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@area44/workflows": patch ---- - -Harden Autofix action workflow isolation and lockfile synchronization so JavaScript and Python workflows run independently with error aggregation. diff --git a/.changeset/huge-needles-happen.md b/.changeset/huge-needles-happen.md deleted file mode 100644 index b3e0980e..00000000 --- a/.changeset/huge-needles-happen.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@area44/workflows": patch ---- - -refactor(pages): consolidate BASE and BASE_URL log output diff --git a/.changeset/legal-wings-judge.md b/.changeset/legal-wings-judge.md deleted file mode 100644 index 4bbee546..00000000 --- a/.changeset/legal-wings-judge.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@area44/workflows": patch ---- - -test: strengthen pages and autofix action unit tests diff --git a/.changeset/nice-cups-joke.md b/.changeset/nice-cups-joke.md deleted file mode 100644 index cb62988c..00000000 --- a/.changeset/nice-cups-joke.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@area44/workflows": patch ---- - -refactor: separate Autofix domain source files into src/autofix/ diff --git a/.changeset/old-crews-brake.md b/.changeset/old-crews-brake.md deleted file mode 100644 index 3536af9b..00000000 --- a/.changeset/old-crews-brake.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@area44/workflows": patch ---- - -test: validate area44/workflows with temporary consumer project diff --git a/.changeset/refactor-pages.md b/.changeset/refactor-pages.md deleted file mode 100644 index 379e2b67..00000000 --- a/.changeset/refactor-pages.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -"@area44/workflows": patch ---- - -refactor(pages): automatically resolve SITE, BASE, and BASE_URL from GitHub context - -- Automatically resolve `SITE`, `BASE`, and `BASE_URL` environment variables from GitHub repository context (`GITHUB_REPOSITORY` and `GITHUB_REPOSITORY_OWNER`). -- Removed external user input configuration, URL validation, and normalization logic for `SITE`, `BASE`, and `BASE_URL`. -- Hardened build output directory validation and error reporting. -- Updated Pages action documentation and tests to reflect automatic site variable resolution. diff --git a/.changeset/remove-custom-error-process-sanitize-utils.md b/.changeset/remove-custom-error-process-sanitize-utils.md deleted file mode 100644 index 998e58d4..00000000 --- a/.changeset/remove-custom-error-process-sanitize-utils.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -"@area44/workflows": major ---- - -refactor: remove custom errors, process-utils, and sanitize modules - -- Deleted `src/errors.ts`, `src/process-utils.ts`, and `src/sanitize.ts`. -- Removed `WorkflowError`, `WorkflowErrorCode`, `WorkflowErrorContext`, `isWorkflowError`, `isExecutableAvailable`, `sanitizeCommandString`, and `sanitizeCause` exports and utility abstractions. -- Switched executable availability checks to `@actions/io.which()`. -- Migrated all error reporting to standard native JavaScript `Error` classes and `@actions/core.setFailed()`. diff --git a/.changeset/remove-legacy-python-install-contract.md b/.changeset/remove-legacy-python-install-contract.md deleted file mode 100644 index 90672820..00000000 --- a/.changeset/remove-legacy-python-install-contract.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@area44/workflows": major ---- - -Remove legacy string-based Python installCommand property and resolvePythonInstallCommands fallback interpreter in favor of canonical structured installCommands arrays. - -BREAKING CHANGE: The legacy `installCommand` string property on Python environment metadata is removed. Python package manager detection, validation, and autofix dependency execution strictly enforce structured `installCommands` argument arrays. diff --git a/.changeset/smooth-wings-double.md b/.changeset/smooth-wings-double.md deleted file mode 100644 index bb2890c1..00000000 --- a/.changeset/smooth-wings-double.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@area44/workflows": patch ---- - -Audit and remove unused test fixtures diff --git a/.changeset/solid-tools-live.md b/.changeset/solid-tools-live.md deleted file mode 100644 index 41c38d85..00000000 --- a/.changeset/solid-tools-live.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@area44/workflows": patch ---- - -refactor: simplify environment detection logic diff --git a/.changeset/three-peaches-walk.md b/.changeset/three-peaches-walk.md deleted file mode 100644 index eb79b1e1..00000000 --- a/.changeset/three-peaches-walk.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@area44/workflows": patch ---- - -refactor(environment): fix devEngines parsing and whitespace normalization diff --git a/.changeset/twenty-ears-remain.md b/.changeset/twenty-ears-remain.md deleted file mode 100644 index cb33686b..00000000 --- a/.changeset/twenty-ears-remain.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@area44/workflows": patch ---- - -test: audit and complete python autofix integration test matrix diff --git a/.changeset/unified-pages-action.md b/.changeset/unified-pages-action.md deleted file mode 100644 index d152e95e..00000000 --- a/.changeset/unified-pages-action.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@area44/workflows": major ---- - -Consolidate deployment functionality into a single unified `pages` action for GitHub Pages deployments with automatic Vite+ detection and build output validation. - -BREAKING CHANGE: Removed previously public deployment action entry points (`astro`, `vite-plus`) in favor of the single unified `pages` action. diff --git a/.changeset/unify-action-bootstrap-runtime.md b/.changeset/unify-action-bootstrap-runtime.md deleted file mode 100644 index 741792fa..00000000 --- a/.changeset/unify-action-bootstrap-runtime.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -"@area44/workflows": patch ---- - -refactor: unify action bootstrap runtime across all composite actions - -- Standardize Node.js as the common action bootstrap runtime for executing internal bundled `.mjs` entrypoints across all composite actions. -- Remove conditional executable selection for internal action entrypoints based on `RUNTIME`. -- Preserve distinct canonical project outputs `RUNTIME` and `PACKAGE_MANAGER` for executing project dependency installation and build scripts. -- Hardened step outcome conditions across composite action steps in `pages/action.yml` and `autofix/action.yml`. diff --git a/.changeset/warm-moles-start.md b/.changeset/warm-moles-start.md deleted file mode 100644 index 30a607c9..00000000 --- a/.changeset/warm-moles-start.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@area44/workflows": patch ---- - -refactor: dynamic consumer projects and fixture consolidation diff --git a/.changeset/yummy-mirrors-lead.md b/.changeset/yummy-mirrors-lead.md deleted file mode 100644 index a62f6c4b..00000000 --- a/.changeset/yummy-mirrors-lead.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@area44/workflows": patch ---- - -Refactor Autofix action to use GitHub Actions Toolkit APIs diff --git a/CHANGELOG.md b/CHANGELOG.md index 884a1121..48e5345b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,64 @@ # @area44/workflows +## 9.0.0 + +### Major Changes + +- c399566: refactor: remove custom errors, process-utils, and sanitize modules + + - Deleted `src/errors.ts`, `src/process-utils.ts`, and `src/sanitize.ts`. + - Removed `WorkflowError`, `WorkflowErrorCode`, `WorkflowErrorContext`, `isWorkflowError`, `isExecutableAvailable`, `sanitizeCommandString`, and `sanitizeCause` exports and utility abstractions. + - Switched executable availability checks to `@actions/io.which()`. + - Migrated all error reporting to standard native JavaScript `Error` classes and `@actions/core.setFailed()`. + +- a625e71: Remove legacy string-based Python installCommand property and resolvePythonInstallCommands fallback interpreter in favor of canonical structured installCommands arrays. + + BREAKING CHANGE: The legacy `installCommand` string property on Python environment metadata is removed. Python package manager detection, validation, and autofix dependency execution strictly enforce structured `installCommands` argument arrays. + +- f903787: Consolidate deployment functionality into a single unified `pages` action for GitHub Pages deployments with automatic Vite+ detection and build output validation. + + BREAKING CHANGE: Removed previously public deployment action entry points (`astro`, `vite-plus`) in favor of the single unified `pages` action. + +### Patch Changes + +- b253c28: Complete uv environment detection including uv.toml support, repository-bounded parent directory context discovery for workspace members and nested packages, and refined uv project table classification. +- 1f031cc: Consolidate internal environment resolution onto canonical APIs and remove obsolete legacy wrappers, aliases, and overloads. + + - Removed legacy functions and aliases: `parseRuntimeInput`, `detectProjectEnvironment`, `detectRuntime`, `detectPackageManager`, `detectNodeVersion`, `detectBunVersion`, `detectEnv`, `getPnpmRuntime`, and `getDefaultPackageManagerVersion`. + - Simplified `writeOutput` signature to strictly accept `writeOutput(env: ResolvedEnvironment): void`. + - Refactored `resolvePnpmSetupRuntime` to accept `Pick`. + - Updated internal callers and test suites to exercise canonical environment resolution APIs directly. + +- 4d08049: fix(pages): normalize build output path and validate repository metadata +- aac61f4: Refactor Environment Resolution into Language-Specific Modules +- 2886f12: fix(autofix): include tests/ and **tests**/ directories in Python source detection +- 1141d72: Fix TOML parsing and preserve Python project detection behavior. +- 854a026: Harden Autofix action workflow isolation and lockfile synchronization so JavaScript and Python workflows run independently with error aggregation. +- 8c943ba: refactor(pages): consolidate BASE and BASE_URL log output +- 41e0cf0: test: strengthen pages and autofix action unit tests +- 70d2540: refactor: separate Autofix domain source files into src/autofix/ +- abe919f: test: validate area44/workflows with temporary consumer project +- dec2993: refactor(pages): automatically resolve SITE, BASE, and BASE_URL from GitHub context + + - Automatically resolve `SITE`, `BASE`, and `BASE_URL` environment variables from GitHub repository context (`GITHUB_REPOSITORY` and `GITHUB_REPOSITORY_OWNER`). + - Removed external user input configuration, URL validation, and normalization logic for `SITE`, `BASE`, and `BASE_URL`. + - Hardened build output directory validation and error reporting. + - Updated Pages action documentation and tests to reflect automatic site variable resolution. + +- 86bff7e: Audit and remove unused test fixtures +- 3d81e6b: refactor: simplify environment detection logic +- ef0f6f3: refactor(environment): fix devEngines parsing and whitespace normalization +- 1a354fc: test: audit and complete python autofix integration test matrix +- e04ae46: refactor: unify action bootstrap runtime across all composite actions + + - Standardize Node.js as the common action bootstrap runtime for executing internal bundled `.mjs` entrypoints across all composite actions. + - Remove conditional executable selection for internal action entrypoints based on `RUNTIME`. + - Preserve distinct canonical project outputs `RUNTIME` and `PACKAGE_MANAGER` for executing project dependency installation and build scripts. + - Hardened step outcome conditions across composite action steps in `pages/action.yml` and `autofix/action.yml`. + +- c5ef03e: refactor: dynamic consumer projects and fixture consolidation +- 3f9fe3f: Refactor Autofix action to use GitHub Actions Toolkit APIs + ## 8.0.1 ### Patch Changes diff --git a/package-lock.json b/package-lock.json index c9770e11..8475bc1a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@area44/workflows", - "version": "8.0.1", + "version": "9.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@area44/workflows", - "version": "8.0.1", + "version": "9.0.0", "license": "MIT", "devDependencies": { "@actions/core": "^3.0.1", diff --git a/package.json b/package.json index 9668278f..dc645ca9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@area44/workflows", - "version": "8.0.1", + "version": "9.0.0", "private": true, "description": "GitHub Actions workflows for the AREA44 ecosystem", "license": "MIT",