Skip to content

Prepare repo for v1.0.0 release#9

Merged
lukekim merged 3 commits into
trunkfrom
release/v1.0.0-prep
May 2, 2026
Merged

Prepare repo for v1.0.0 release#9
lukekim merged 3 commits into
trunkfrom
release/v1.0.0-prep

Conversation

@lukekim
Copy link
Copy Markdown
Contributor

@lukekim lukekim commented May 2, 2026

Summary

Final v1.0.0 release-prep on top of trunk. (PR #7 — the CI fix — already landed; this PR now contains only the action-UX and docs polish from #8, rebased clean.)

Action UX

  • tags input now accepts a YAML block mapping (the canonical workflow form) or a JSON object string, instead of the prior multi-line KEY=VALUE format. Tag keys still merge into the app's existing tags on every run.
    with:
      tags: |
        environment: production
        team: data-platform
        commit: \${{ github.sha }}
  • Update action.yml description, README, and example workflows to the new tag form.

Docs

  • Correct the GitHub slug from spiceai/spice-cloud-deploy-actionspicehq/spice-cloud-deploy-action everywhere it appeared (README badges + examples, package.json metadata, examples/), so a copy/pasted uses: line resolves to the published action at v1.
  • Replace the duplicated tail-of-document "Required scopes" table with a single "Scope cheat sheet" right under the OAuth client setup steps, including an "All-in (recommended for a single CI client)" row that spells out which scopes to grant.

Tests

  • New parseTags cases cover the YAML form, JSON form, quoted values, duplicates, and validation errors.
  • Total: 70 unit tests, all green; lint, typecheck, build, and dist/ freshness all clean. npm audit reports 0 vulnerabilities.

Test plan

  • npm run all passes locally.
  • CI on this PR is green across Ubuntu/macOS/Windows.
  • After merge: tag v1.0.0, confirm the release workflow moves the floating v1 tag and creates the GitHub release with the changelog body.

Out of scope

  • ESM migration of @actions/core (tracked separately; pinned at v1).
  • Marketplace listing submission (post-tag).

Copilot AI review requested due to automatic review settings May 2, 2026 22:45
@lukekim lukekim self-assigned this May 2, 2026
Bundles the work from #7 and #8 into a single commit so trunk lands
release-ready in one merge.

CI / build
- Migrate biome.json to the Biome 2.x schema (`files.includes` with
  negation patterns, `overrides[*].includes`,
  `assist.actions.source.organizeImports`).
- Reorder a stale import in src/deploy.ts that the v2 organizer flagged.
- Pin @actions/core to ^1.11.1 — 3.x is ESM-only and breaks the current
  CJS bundle. Add a Dependabot ignore for major bumps until the project
  is migrated to ESM.

Action UX
- `tags` input now accepts a YAML block mapping (the canonical workflow
  form) or a JSON object string, instead of the prior multi-line
  KEY=VALUE format. Tag keys still merge into the app's existing tags
  on every run.
- Update action.yml description, README, and example workflows to the
  new tag form.

Docs
- Correct the GitHub slug from `spiceai/spice-cloud-deploy-action` to
  `spicehq/spice-cloud-deploy-action` everywhere it appeared (README
  badges + examples, package.json metadata, examples/), so a copy/pasted
  `uses:` line resolves to the published action at v1.
- Replace the duplicated tail-of-document "Required scopes" table with a
  single "Scope cheat sheet" right under the OAuth client setup steps,
  including an "All-in (recommended for a single CI client)" row that
  spells out exactly which scopes to grant.

Tests
- New `parseTags` cases cover the YAML form, JSON form, quoted values,
  duplicates, and validation errors.
- Total: 70 unit tests, all green.
@lukekim lukekim force-pushed the release/v1.0.0-prep branch from 540acc9 to 7861574 Compare May 2, 2026 22:46
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Prepares the repository for the v1.0.0 release by unblocking CI/build (Biome v2 config + pinning @actions/core to a CJS-compatible major), improving action UX (tags input now accepts YAML/JSON maps), and polishing docs/examples to match the v1 release slug and clarified OAuth scope guidance.

Changes:

  • Migrate tags input from multiline KEY=VALUE to YAML block-map (recommended) or JSON object; add/adjust unit tests accordingly.
  • Update docs/examples/metadata to use the correct GitHub slug (spicehq/...) and revise OAuth scope documentation.
  • Update tooling/config: Biome v2 schema migration + pin @actions/core to ^1.11.1 with Dependabot major-bump ignore.

Reviewed changes

Copilot reviewed 10 out of 12 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
src/tags.ts Implements new YAML/JSON tags parsing and validation logic.
src/deploy.ts Import reordering (Biome organizer).
package.json Fix repository URLs and pin @actions/core to v1.x for CJS compatibility.
package-lock.json Locks dependency tree to @actions/core@1.11.1 and related transitive deps.
examples/full.yml Updates uses: slug and switches tags to YAML map form.
examples/basic.yml Updates uses: slug.
biome.json Migrates config to Biome 2.x schema/keys.
action.yml Updates tags input docs/examples to YAML/JSON map format.
__tests__/tags.test.ts Adds coverage for YAML map and JSON object forms + validation cases.
__tests__/deploy.test.ts Updates deploy test to the new tags YAML form.
README.md Updates repo slug, tags docs, and consolidates OAuth scopes into a “Scope cheat sheet”.
CHANGELOG.md Notes new tags input formats for the initial release.
.github/workflows/test-action.yml Updates workflow to new tags YAML map form.
.github/dependabot.yml Ignores @actions/core semver-major updates until ESM migration.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/tags.ts
Comment thread src/tags.ts
Comment thread __tests__/tags.test.ts Outdated
- parseBlockMap duplicate check now uses Object.hasOwn() so prototype-
  chain property names like `toString` and `constructor` aren't falsely
  rejected as duplicates.
- Drop ':' from TAG_KEY_PATTERN. The block-map parser splits on the
  first ':', so a tag key containing ':' (e.g. `foo:bar`) couldn't be
  expressed in YAML form anyway. Aligning the JSON form keeps validation
  consistent across both input styles. Also rewords the validation
  error message to match the trimmed character set.
- Rename the misleading "rejects JSON arrays" test to make clear it
  rejects non-string JSON values; add a separate case for a root-level
  JSON array (which falls through to the YAML parser); add a regression
  test for the prototype-chain dupe-check fix.
@lukekim lukekim merged commit f84b3ab into trunk May 2, 2026
4 checks passed
@lukekim lukekim deleted the release/v1.0.0-prep branch May 2, 2026 23:01
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