@ekho/gitlab-mcp 1.1.0 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +31 -15
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -329,32 +329,48 @@ GITLAB_TOKEN=glpat-... npm run test:smoke
|
|
|
329
329
|
|
|
330
330
|
## Releasing
|
|
331
331
|
|
|
332
|
-
The repo ships with a `.gitlab-ci.yml` that runs typecheck/tests/build on every push and publishes to npm on `v
|
|
332
|
+
The repo ships with a `.gitlab-ci.yml` that runs typecheck/tests/build on every push and publishes to npm on `v*.*.*` tags via **npm Trusted Publishers** (OIDC). No long-lived `NPM_TOKEN` is required — GitLab mints a short-lived OIDC token, npm CLI exchanges it for a publish token, and the package is signed with sigstore provenance.
|
|
333
333
|
|
|
334
|
-
**One-time setup
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
334
|
+
**One-time setup on npmjs.com**
|
|
335
|
+
|
|
336
|
+
After the first manual publish (which creates the package), open https://www.npmjs.com/package/@ekho/gitlab-mcp/access → Trusted Publishers → Add trusted publisher → GitLab. Fill in:
|
|
337
|
+
|
|
338
|
+
| Field | Value |
|
|
339
|
+
|---|---|
|
|
340
|
+
| Namespace | `ekho_0` |
|
|
341
|
+
| Project name | `gitlab-mcp` |
|
|
342
|
+
| Top-level CI file path | `.gitlab-ci.yml` |
|
|
343
|
+
| Environment name | (blank) |
|
|
344
|
+
| Allowed actions | ✅ `npm publish` |
|
|
345
|
+
|
|
346
|
+
See https://docs.npmjs.com/trusted-publishers for the official guide.
|
|
347
|
+
|
|
348
|
+
**One-time setup on GitLab**
|
|
349
|
+
|
|
350
|
+
Protect the `v*` tag pattern so only maintainers can trigger publishes: Settings → Repository → Protected tags → add `v*`.
|
|
351
|
+
|
|
352
|
+
**Cutting a release**
|
|
341
353
|
|
|
342
|
-
**Cutting a release:**
|
|
343
354
|
```bash
|
|
344
|
-
# 1.
|
|
345
|
-
npm version minor # also creates the commit and the v<N> tag
|
|
355
|
+
npm version minor # 1.1.0 → 1.2.0; creates commit + tag
|
|
346
356
|
git push --follow-tags
|
|
347
357
|
```
|
|
348
358
|
|
|
349
|
-
The `publish_npm` job
|
|
359
|
+
The `publish_npm` job fires on the tag pipeline. It verifies that the tag (`v1.2.0` → `1.2.0`) matches `package.json`, builds, and runs `npm publish`. Provenance is attached automatically via the `SIGSTORE_ID_TOKEN`.
|
|
360
|
+
|
|
361
|
+
**Local publish (no CI, for the first release or recovery)**
|
|
350
362
|
|
|
351
|
-
**Local publish (no CI):**
|
|
352
363
|
```bash
|
|
353
364
|
npm login # interactive, browser-based
|
|
354
365
|
npm pack --dry-run # preview tarball contents
|
|
355
|
-
npm publish
|
|
366
|
+
npm publish # publishConfig.access is "public"
|
|
356
367
|
```
|
|
357
|
-
`prepublishOnly`
|
|
368
|
+
`prepublishOnly` runs clean → typecheck → test → build first.
|
|
369
|
+
|
|
370
|
+
**Prerequisites for trusted publishing**
|
|
371
|
+
|
|
372
|
+
- Node ≥ 22.14.0 (the CI uses `node:22`)
|
|
373
|
+
- npm CLI ≥ 11.5.1 (the publish job runs `npm install -g npm@latest` before publishing)
|
|
358
374
|
|
|
359
375
|
## Architecture
|
|
360
376
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ekho/gitlab-mcp",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.1",
|
|
4
4
|
"description": "Model Context Protocol server for GitLab — full coverage of REST + GraphQL APIs across collaboration, CI/CD, code, releases, access, security, integrations, content, analytics, and Duo AI.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|