Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "linear-cli",
"version": "0.3.1",
"version": "0.3.2",
"description": "Linear CLI integration for Claude Code - manage issues, teams, and projects",
"author": {
"name": "0xbigboss"
Expand Down
11 changes: 11 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,17 @@
Notable changes per release. Versions before 0.3.0 are recorded in the
[GitHub releases](https://github.com/alleneubank/linear-cli/releases).

## 0.3.2

### Fixed

- The four npm platform packages had no `repository` field. Trusted publishing
generates sigstore provenance automatically, and npm rejects the upload with
a 422 when `repository.url` does not match the repo the provenance came from,
so the v0.3.1 publish failed after the tag and GitHub release had already
gone green. `scripts/check-versions.sh` now checks `repository.url` on every
npm manifest, which fails the release before it publishes anything.

## 0.3.1

The first release published through trusted publishing. Content is identical to
Expand Down
8 changes: 7 additions & 1 deletion npm/linear-cli-darwin-arm64/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
{
"name": "@0xbigboss/linear-cli-darwin-arm64",
"version": "0.3.1",
"version": "0.3.2",
"description": "Linear CLI binary for darwin-arm64",
"repository": {
"type": "git",
"url": "git+https://github.com/alleneubank/linear-cli.git"
},
"license": "MIT",
"os": [
"darwin"
],
Expand Down
8 changes: 7 additions & 1 deletion npm/linear-cli-darwin-x64/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
{
"name": "@0xbigboss/linear-cli-darwin-x64",
"version": "0.3.1",
"version": "0.3.2",
"description": "Linear CLI binary for darwin-x64",
"repository": {
"type": "git",
"url": "git+https://github.com/alleneubank/linear-cli.git"
},
"license": "MIT",
"os": [
"darwin"
],
Expand Down
8 changes: 7 additions & 1 deletion npm/linear-cli-linux-arm64/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
{
"name": "@0xbigboss/linear-cli-linux-arm64",
"version": "0.3.1",
"version": "0.3.2",
"description": "Linear CLI binary for linux-arm64",
"repository": {
"type": "git",
"url": "git+https://github.com/alleneubank/linear-cli.git"
},
"license": "MIT",
"os": [
"linux"
],
Expand Down
8 changes: 7 additions & 1 deletion npm/linear-cli-linux-x64/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
{
"name": "@0xbigboss/linear-cli-linux-x64",
"version": "0.3.1",
"version": "0.3.2",
"description": "Linear CLI binary for linux-x64",
"repository": {
"type": "git",
"url": "git+https://github.com/alleneubank/linear-cli.git"
},
"license": "MIT",
"os": [
"linux"
],
Expand Down
10 changes: 5 additions & 5 deletions npm/linear-cli/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@0xbigboss/linear-cli",
"version": "0.3.1",
"version": "0.3.2",
"description": "Linear CLI built with Zig",
"license": "MIT",
"repository": {
Expand All @@ -11,9 +11,9 @@
"linear": "bin.js"
},
"optionalDependencies": {
"@0xbigboss/linear-cli-darwin-arm64": "0.3.1",
"@0xbigboss/linear-cli-darwin-x64": "0.3.1",
"@0xbigboss/linear-cli-linux-x64": "0.3.1",
"@0xbigboss/linear-cli-linux-arm64": "0.3.1"
"@0xbigboss/linear-cli-darwin-arm64": "0.3.2",
"@0xbigboss/linear-cli-darwin-x64": "0.3.2",
"@0xbigboss/linear-cli-linux-x64": "0.3.2",
"@0xbigboss/linear-cli-linux-arm64": "0.3.2"
}
}
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "linear-cli",
"version": "0.3.1",
"version": "0.3.2",
"description": "Pi package for @0xbigboss/linear-cli: Linear issue/team/project management via the linear CLI. Exposes the linear skill.",
"license": "MIT",
"keywords": [
Expand Down
18 changes: 18 additions & 0 deletions scripts/check-versions.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,13 @@
# .claude-plugin/plugin.json Claude Code plugin
# npm/*/package.json npm dist packages
# npm/linear-cli optionalDependencies pins
# npm/*/package.json repository.url
#
# The repository check is here because trusted publishing generates sigstore
# provenance, and npm rejects the upload when package.json's repository.url
# does not match the repo the provenance came from. The four platform packages
# had no repository field at all, which failed the v0.3.1 publish with a 422
# AFTER the tag, the GitHub release, and every other gate had gone green.
#
# Usage: check-versions.sh [--expect <version>]
# --expect pins every manifest to that version (CI passes the tag).
Expand Down Expand Up @@ -60,6 +67,17 @@ while IFS= read -r pin; do
fi
done < <(jq -r '.optionalDependencies // {} | to_entries[] | "\(.key)=\(.value)"' npm/linear-cli/package.json)

# Provenance: npm compares this against the OIDC claim and 422s on a mismatch.
expected_repo="git+https://github.com/alleneubank/linear-cli.git"
for f in npm/*/package.json; do
url="$(jq -r '.repository.url // empty' "$f")"
if [[ -z "$url" ]]; then
report "$f: no .repository.url (npm rejects provenance without it)"
elif [[ "$url" != "$expected_repo" ]]; then
report "$f: repository.url is '$url', expected '$expected_repo'"
fi
done

if [[ $fail -ne 0 ]]; then
echo "FAIL: manifests disagree${expect:+ with tag $expect}" >&2
exit 1
Expand Down
Loading