Tags: PowerShellOrg/Plaster
Tags
Fix invalid JSON manifest schema URL references to the live Plaster s… …chema (#478) Generated and sample JSON manifests referenced a non-existent schema URL (`.../v2/schema/...`), causing editor schema loading to fail with 404 and breaking validation/autocomplete. This PR repoints schema references to the current raw schema location in this repository. - **Runtime manifest generation** - Updated JSON `$schema` emitted by: - `New-PlasterManifest` - `ConvertTo-JsonManifest` - `New-JsonManifestStructure` - **Schema identity and repository examples** - Updated schema `$id` in `Plaster/Schema/plaster-manifest-v2.json` to the same reachable URL. - Updated all user-facing JSON examples/demos and README snippets to remove stale `v2` links. - **Regression coverage** - Tightened focused assertions so JSON output checks the exact `$schema` value (not just presence), preventing drift back to invalid URLs. ```json { "$schema": "https://raw.githubusercontent.com/PowerShellOrg/Plaster/main/Plaster/Schema/plaster-manifest-v2.json", "schemaVersion": "2.0" } ``` <!-- START COPILOT CODING AGENT SUFFIX --> - Fixes #477 --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: HeyItsGilbert <615265+HeyItsGilbert@users.noreply.github.com>
chore(release): 2.1.4 (#476) ## [2.1.4] - 2026-09-13 ### Fixed - Explicit empty text defaults in JSON manifests now remain empty rather than being treated as absent, while blank prompt input is accepted only when a default is declared ([#474](#474), closes [#473](#473)) - Pester 6.1.0 compatibility for mocks and empty `-ForEach` data sets ([#475](#475))
ci: run release on pushes to main via fixed publish.yaml (#472) ## Summary Make module releases run on every push to `main`, replacing the two broken release workflows with a single fixed one. Both prior workflows were broken against the current reusable `PowerShellOrg/.github/.github/workflows/powershell-release.yml@main`: - **`publish.yaml`** (push-to-`main`) startup-failed on every push to `main` — it passed an `isPrerelease` input that #468 removed. - **`release.yml`** (tag-triggered) never ran on merges and was itself broken: it passed a `module-name` input the reusable workflow does not declare, and a non-existent `PSGALLERY_API_KEY` secret. ### Approach Rename `release.yml` → `publish.yaml` and fix it. The reusable workflow is designed for the push-to-`main` model: its `check_version` job compares the manifest `ModuleVersion` against PSGallery and gates both `create_release` and `publish` on `(version_bumped || force)`. So running it on every push to `main` only actually tags/publishes when the manifest version is new — a normal merge that doesn't bump the version is a no-op. ### Changes - Trigger on `push: branches: [main]` (+ `workflow_dispatch` for manual/`force` re-runs) instead of `push: tags: ['v*']`. - Drop the `module-name: Plaster` input — not declared by the reusable workflow (it derives the module name itself); passing it caused a startup failure. - Pass the secret as `PS_GALLERY_KEY` (the reusable's required secret name), sourced from the repo's existing `PS_GALLERY_KEY` secret. - Remove the duplicate/broken `release.yml`. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>