Skip to content

Conversation

@i11v
Copy link
Owner

@i11v i11v commented Feb 10, 2026

Automatically publishes a preview package to npm for each open PR, versioned as 0.0.0-pr.. with a pr- dist-tag. Cleans up the dist-tag when the PR is closed.

https://claude.ai/code/session_01KU3xVUdpt6CP6sjwRFFydY

Automatically publishes a preview package to npm for each open PR,
versioned as 0.0.0-pr.<number>.<sha> with a pr-<number> dist-tag.
Cleans up the dist-tag when the PR is closed.

https://claude.ai/code/session_01KU3xVUdpt6CP6sjwRFFydY
@github-actions
Copy link

JMAP Spec Coverage

effect-jmap@0.8.0 coverage:spec /home/runner/work/effect-jmap/effect-jmap
tsx scripts/spec-coverage.ts --markdown

Overall: 15/31 methods (48.4%)

Blob (0/4)

Method Status
copy
get
lookup
upload

Core (0/1)

Method Status
echo

Email (6/8)

Method Status
get
set
query
queryChanges
changes
copy
import
parse

EmailSubmission (5/5)

Method Status
get
set
query
queryChanges
changes

Identity (0/3)

Method Status
get
set
changes

Mailbox (4/5)

Method Status
get
set
query
queryChanges
changes

SearchSnippet (0/1)

Method Status
get

Thread (0/2)

Method Status
get
changes

VacationResponse (0/2)

Method Status
get
set

Adds id-token: write permission and NPM_CONFIG_PROVENANCE to bypass
2FA/OTP requirement, matching the release workflow approach.
@github-actions
Copy link

JMAP Spec Coverage

effect-jmap@0.8.0 coverage:spec /home/runner/work/effect-jmap/effect-jmap
tsx scripts/spec-coverage.ts --markdown

Overall: 15/31 methods (48.4%)

Blob (0/4)

Method Status
copy
get
lookup
upload

Core (0/1)

Method Status
echo

Email (6/8)

Method Status
get
set
query
queryChanges
changes
copy
import
parse

EmailSubmission (5/5)

Method Status
get
set
query
queryChanges
changes

Identity (0/3)

Method Status
get
set
changes

Mailbox (4/5)

Method Status
get
set
query
queryChanges
changes

SearchSnippet (0/1)

Method Status
get

Thread (0/2)

Method Status
get
changes

VacationResponse (0/2)

Method Status
get
set

Remove static token auth and use npm OIDC token exchange to bypass
2FA requirement, matching how semantic-release publishes.
@github-actions
Copy link

JMAP Spec Coverage

effect-jmap@0.8.0 coverage:spec /home/runner/work/effect-jmap/effect-jmap
tsx scripts/spec-coverage.ts --markdown

Overall: 15/31 methods (48.4%)

Blob (0/4)

Method Status
copy
get
lookup
upload

Core (0/1)

Method Status
echo

Email (6/8)

Method Status
get
set
query
queryChanges
changes
copy
import
parse

EmailSubmission (5/5)

Method Status
get
set
query
queryChanges
changes

Identity (0/3)

Method Status
get
set
changes

Mailbox (4/5)

Method Status
get
set
query
queryChanges
changes

SearchSnippet (0/1)

Method Status
get

Thread (0/2)

Method Status
get
changes

VacationResponse (0/2)

Method Status
get
set

OIDC trusted publishing only supports one workflow per package.
Use granular token with bypass 2FA instead.
@github-actions
Copy link

JMAP Spec Coverage

effect-jmap@0.8.0 coverage:spec /home/runner/work/effect-jmap/effect-jmap
tsx scripts/spec-coverage.ts --markdown

Overall: 15/31 methods (48.4%)

Blob (0/4)

Method Status
copy
get
lookup
upload

Core (0/1)

Method Status
echo

Email (6/8)

Method Status
get
set
query
queryChanges
changes
copy
import
parse

EmailSubmission (5/5)

Method Status
get
set
query
queryChanges
changes

Identity (0/3)

Method Status
get
set
changes

Mailbox (4/5)

Method Status
get
set
query
queryChanges
changes

SearchSnippet (0/1)

Method Status
get

Thread (0/2)

Method Status
get
changes

VacationResponse (0/2)

Method Status
get
set

Move preview publish and cleanup jobs into publish.yml so they share
the same trusted publisher configuration. This lets preview publishes
use OIDC token exchange instead of a static NPM_TOKEN, bypassing 2FA.
@github-actions
Copy link

github-actions bot commented Feb 11, 2026

Preview Package Published

pnpm add effect-jmap@0.0.0-pr.17.1415978
# or
pnpm add effect-jmap@pr-17

Published from commit 1415978

@github-actions
Copy link

JMAP Spec Coverage

effect-jmap@0.8.0 coverage:spec /home/runner/work/effect-jmap/effect-jmap
tsx scripts/spec-coverage.ts --markdown

Overall: 15/31 methods (48.4%)

Blob (0/4)

Method Status
copy
get
lookup
upload

Core (0/1)

Method Status
echo

Email (6/8)

Method Status
get
set
query
queryChanges
changes
copy
import
parse

EmailSubmission (5/5)

Method Status
get
set
query
queryChanges
changes

Identity (0/3)

Method Status
get
set
changes

Mailbox (4/5)

Method Status
get
set
query
queryChanges
changes

SearchSnippet (0/1)

Method Status
get

Thread (0/2)

Method Status
get
changes

VacationResponse (0/2)

Method Status
get
set

@github-actions
Copy link

JMAP Spec Coverage

effect-jmap@0.8.0 coverage:spec /home/runner/work/effect-jmap/effect-jmap
tsx scripts/spec-coverage.ts --markdown

Overall: 15/31 methods (48.4%)

Blob (0/4)

Method Status
copy
get
lookup
upload

Core (0/1)

Method Status
echo

Email (6/8)

Method Status
get
set
query
queryChanges
changes
copy
import
parse

EmailSubmission (5/5)

Method Status
get
set
query
queryChanges
changes

Identity (0/3)

Method Status
get
set
changes

Mailbox (4/5)

Method Status
get
set
query
queryChanges
changes

SearchSnippet (0/1)

Method Status
get

Thread (0/2)

Method Status
get
changes

VacationResponse (0/2)

Method Status
get
set

@i11v i11v merged commit 68eedbe into main Feb 11, 2026
9 checks passed
@i11v i11v deleted the claude/npm-pr-publish-hash-xGts1 branch February 11, 2026 00:16
@effect-jmap-release
Copy link

🎉 This PR is included in version 0.9.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants