Commit graph servers/.github/workflows/release.yml
Author SHA1 Message Date
Den Delimarsky
ced1408d3a
Merge pull request #4587 from modelcontextprotocol/dependabot/github_actions/astral-sh/setup-uv-7
chore(deps): bump astral-sh/setup-uv from 3 to 7
2026-07-29 15:04:23 -07:00
Den Delimarsky
20b5783d3b
Merge pull request #4586 from modelcontextprotocol/dependabot/github_actions/actions/download-artifact-8
chore(deps): bump actions/download-artifact from 7 to 8
2026-07-29 15:04:09 -07:00
Den Delimarsky
4852bb3fc4
Merge pull request #4585 from modelcontextprotocol/dependabot/github_actions/actions/upload-artifact-7
chore(deps): bump actions/upload-artifact from 6 to 7
2026-07-29 15:03:38 -07:00
Den Delimarsky
10962d3114
Merge pull request #4588 from modelcontextprotocol/dependabot/github_actions/actions/setup-node-7
chore(deps): bump actions/setup-node from 6 to 7
2026-07-29 15:03:19 -07:00
dependabot[bot]
fab6abed58
chore(deps): bump actions/setup-node from 6 to 7
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 6 to 7.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v6...v7)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-29 22:02:15 +00:00
dependabot[bot]
2e15194d4e
chore(deps): bump astral-sh/setup-uv from 3 to 7
Bumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from 3 to 7.
- [Release notes](https://github.com/astral-sh/setup-uv/releases)
- [Commits](https://github.com/astral-sh/setup-uv/compare/v3...v7)

---
updated-dependencies:
- dependency-name: astral-sh/setup-uv
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-29 22:02:12 +00:00
dependabot[bot]
42a1d825b1
chore(deps): bump actions/download-artifact from 7 to 8
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 7 to 8.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v7...v8)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-version: '8'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-29 22:02:08 +00:00
dependabot[bot]
40ce2f784e
chore(deps): bump actions/upload-artifact from 6 to 7
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 6 to 7.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v6...v7)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-29 22:02:06 +00:00
dependabot[bot]
31bd12967f
chore(deps): bump actions/setup-python from 6 to 7
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 6 to 7.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v6...v7)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-29 22:02:03 +00:00
cliffhall
752985790e ci(release): remove the daily release cron; dispatch-only
Releases are now triggered deliberately via workflow_dispatch. The
schedule produced a year of unattended runs stuck awaiting environment
approval, every real release was manually dispatched anyway, and two
runs on the same UTC day collide on the date-based tag. Rename the
workflow to "Release" accordingly and update RELEASING.md.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AViME1R9ES2UXT1uQDx1TG
2026-07-04 17:22:02 -04:00
cliffhall
06a8169e6f ci: remove dead release-triggered publish jobs; make RELEASING.md claims true
Review findings: RELEASING.md claimed publishing happens exclusively
from release.yml with no registry tokens, but typescript.yml and
python.yml still carried release:[published] publish jobs — never
fired (releases are created with GITHUB_TOKEN, which suppresses
workflow triggers) and unable to succeed under OIDC (typescript.yml's
still referenced the deleted NPM_TOKEN). Remove both jobs and their
release triggers; the workflows are now pure CI.

Also:
- add skip-existing to the PyPI publish action so re-runs tolerate
  already-uploaded files, and describe the per-registry guard
  accurately in RELEASING.md (npm aborts; PyPI skips)
- correct the fresh-dispatch note: same-day dispatches collide on the
  date-granular tag rather than minting a new version

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AViME1R9ES2UXT1uQDx1TG
2026-07-04 16:45:25 -04:00
cliffhall
f4c86ff964 fix(release): count .md changes in package matrix; use --frozen for pytest
Review findings from the PR:
- release.py's has_changes() only counted .py/.ts files, so the README
  touches meant to enroll the four TS packages in the npm matrix would
  have been ignored. Include .md — READMEs ship inside the published
  package (npm tarball / PyPI long_description), so doc changes are
  release-relevant.
- uv run --frozen pytest for consistency with the job's other uv calls.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AViME1R9ES2UXT1uQDx1TG
2026-07-04 15:29:44 -04:00
cliffhall
dab3489b73 ci(release): run tests before publishing
Gate both publish jobs on the package's test suite: npm test
--if-present before the npm build/publish, and pytest (when a tests/
or test/ directory exists, matching python.yml's guard) before the
PyPI build/publish. Previously nothing between tagging and publishing
ran a single test.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AViME1R9ES2UXT1uQDx1TG
2026-07-04 10:01:31 -04:00
cliffhall
4307b95aee ci(release): enable provenance and pin npm version for OIDC publish
Align with modelcontextprotocol/inspector#1199:
- set NPM_CONFIG_PROVENANCE so published packages get provenance
  attestations
- pin the npm upgrade to ^11.5.1 instead of latest

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AViME1R9ES2UXT1uQDx1TG
2026-07-04 09:43:12 -04:00
cliffhall
1a4ecb7575 ci(release): switch npm publishing to OIDC trusted publishing
The NPM_TOKEN used by publish-npm is dead (npm classic-token sunset) —
both June release attempts failed publishing with a disguised auth error
(E404 on the publish PUT) after PyPI legs succeeded. Each
@modelcontextprotocol/* package's npm trusted publisher is being bound to
this workflow (release.yml) + the release environment, so publish-npm now
authenticates via OIDC instead of a token:

- add id-token: write permission to publish-npm (required to mint the
  OIDC token; contents: read added explicitly since setting permissions
  drops the defaults)
- upgrade the npm CLI in the publish job (trusted publishing requires
  npm >= 11.5.1; Node 22 bundles an older npm)
- drop NODE_AUTH_TOKEN from the publish step

Also touch each TypeScript server's README (add everything's missing
License section; link each package's npm page) so scripts/release.py
includes all four packages in the next npm publish matrix — they've been
stranded on npm at 2026.1.26 while PyPI advanced to 2026.6.16.

See #4463 for the rollout plan.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AViME1R9ES2UXT1uQDx1TG
2026-07-03 20:16:55 -04:00
Padraic Slattery
71a59645c9 chore: Update outdated GitHub Actions versions 2026-01-20 11:31:43 +01:00
Paul Carleton
c7d60d635a
fix: use --frozen instead of --locked in release workflow (#3140)
* fix: regenerate uv.lock after version bump in release script

When the release script bumps the version in pyproject.toml, it needs
to also regenerate the uv.lock file. Otherwise the lockfile becomes
out of sync and `uv sync --locked` fails in CI with:
"The lockfile at uv.lock needs to be updated"

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* fix: use --frozen instead of --locked in release workflow

The release script bumps the version in pyproject.toml, which causes
the lockfile to be out of sync (uv includes the package's own version
in the lockfile). Using --frozen skips the lockfile freshness check
while still using pinned dependency versions.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-12-18 16:25:49 +00:00
Paul Carleton
bd858d6745
fix: add contents write permission to update-packages job (#3138)
The update-packages job needs to push tags to the repository but was
missing the required `permissions: contents: write`. This caused the
workflow to fail with a 403 error when trying to push the version tag.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude <noreply@anthropic.com>
2025-12-18 14:17:16 +00:00
Eugene Mwangi
9758f34d36
chore(uv): Prefer --locked for dependency sync (#1852)
Adopt uv best practice for dependency synchronization.

[Note]
- (uv sync --frozen) proceeds with an out-dated lockfile.
  This could lead to inconsistencies.

[Docs]
See: https://docs.astral.sh/uv/concepts/projects/sync/#locking-and-syncing
2025-11-25 21:36:35 +00:00
Cliff Hall
9280e8fa74
Remove comments that break release.yml (#2735)
- remove comments that break CI.
  - github does not support comments, even though they are valid yaml
2025-09-19 01:27:09 +01:00
cliffhall
888184493c * In .github/workflows/release.yml
- in create-release job condition
    - add comments about use of always
2025-09-18 15:58:01 -04:00
cliffhall
20430df0de * In .github/workflows/release.yml
- in create-release job condition
    - simplify condition
2025-09-18 15:39:00 -04:00
cliffhall
e545918618 * In .github/workflows/release.yml
- in create-release job condition
    - check for all combinations of publish results that should lead to a release creation
      - npm = success / pypi = skipped
      - npm = skipped / pypi = success
      - npm = success / pypi = success
2025-09-17 13:31:29 -04:00
cliffhall
7061c367c5 * In .github/workflows/release.yml
- in create-release job condition
    - check for all combinations of publish results that should lead to a release creation
      - npm = success / pypi = skipped
      - npm = skipped / pypi = success
      - npm = success / pypi = success
2025-09-17 13:27:44 -04:00
cliffhall
9a65da3e78 * In .github/workflows/release.yml
- in create-release job condition
    - check for all combinations of publish results that should lead to a release creation
      - npm = success / pypi = skipped
      - npm = skipped / pypi = success
      - npm = success / pypi = success
2025-09-17 11:44:40 -04:00
Adam Jones
29aba77a93
fix: only run scheduled release pipeline on modelcontextprotocol org 2025-08-29 14:35:23 +01:00
cliffhall
8eb4921c13 In release.yml
- in publish-pypi job,
    - only proceed if there are python packages to publish

  - in publish-npm job,
        - only proceed if there are npm packages to publish
2025-07-31 16:40:05 -04:00
Jim Clark
ce9925473f
remove the RepositoryDispatchEvent (building every six hours) 2025-07-04 12:03:08 -07:00
David Soria Parra
01b5cd554c
fix: release 2025-01-16 19:07:57 +00:00
Jim Clark
3de0a0c6ac
Update release workflow for servers 2025-01-16 09:49:43 -08:00
David Soria Parra
4f3dc11065
new release workflow 2025-01-14 03:05:38 +00:00
David Soria Parra
8e944369b7
improve release workflow more 2025-01-14 01:42:00 +00:00
David Soria Parra
9edf9fcaf0
feat: update package versions before creating release tag 2025-01-14 00:39:59 +00:00
David Soria Parra
a156ab635b
feat: only run create-tag job when packages are detected 2025-01-14 00:38:44 +00:00
David Soria Parra
fbb0514749
feat: improvements to release.yml 2025-01-14 00:34:17 +00:00
David Soria Parra
3d8c33cd9a
feat: enhance release workflow with artifact collection and job output handling 2025-01-13 20:01:18 +00:00
David Soria Parra
9f86ee5998
fix: fix scripts 2025-01-13 13:34:49 +00:00
David Soria Parra
c9b1adf3b6
use environments 2025-01-13 11:47:41 +00:00
David Soria Parra
b3f20decdc
feat: fix workflow names 2025-01-13 11:38:25 +00:00
David Soria Parra
9db47b20e7
feat: rename 2025-01-13 11:36:15 +00:00
Renamed from .github/workflows/weekly-release.yml (Previous history)