From ffda4dbdbc6359894ebf695300ac212740b95734 Mon Sep 17 00:00:00 2001 From: MQ37 Date: Mon, 19 Jan 2026 10:26:47 +0100 Subject: [PATCH 1/6] chore: fix cicd npmjs publish --- .github/workflows/release.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index bdc1078..8d91ed5 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -150,6 +150,9 @@ jobs: name: Publish to NPM needs: [ release_metadata, validate, update_version ] runs-on: ubuntu-latest + permissions: + id-token: write # Required for OIDC + contents: read steps: - uses: actions/checkout@v4 with: From 80120ae0bee04033c4a031ad69cd319fa3538bd8 Mon Sep 17 00:00:00 2001 From: MQ37 Date: Mon, 19 Jan 2026 10:27:55 +0100 Subject: [PATCH 2/6] temp: disable pypi, gh release --- .github/workflows/release.yml | 132 +++++++++++++++++----------------- 1 file changed, 66 insertions(+), 66 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8d91ed5..53b106f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -94,56 +94,56 @@ jobs: message: "chore(release): Update package.json and pyproject.toml versions [skip ci]" # Pypi publish - publish_to_pypi: - name: Publish to PyPI - needs: [release_metadata, validate, update_version] - runs-on: ubuntu-latest - permissions: - contents: write - id-token: write # Required for OIDC authentication. - environment: - name: pypi - url: https://pypi.org/project/mcp-client-capabilities - steps: - - uses: actions/checkout@v4 - with: - ref: ${{ needs.update_version.outputs.version_commitish }} - - name: Verify commit SHA - run: | - CURRENT_SHA=$(git rev-parse HEAD) - EXPECTED_SHA="${{ needs.update_version.outputs.version_commitish }}" - echo "Expected commit SHA: $EXPECTED_SHA" - echo "Actual checked out SHA: $CURRENT_SHA" - if [ "$EXPECTED_SHA" != "$CURRENT_SHA" ]; then - echo "ERROR: Checked out SHA differs from expected!" - exit 1 - else - echo "✓ Commit SHA matches expected" - fi - - name: Verify pyproject.toml version - run: | - EXPECTED_VERSION="${{ needs.release_metadata.outputs.version_number }}" - ACTUAL_VERSION=$(grep '^version = ' pyproject.toml | sed 's/version = "\(.*\)"/\1/') - - echo "Expected version: $EXPECTED_VERSION" - echo "Actual version in pyproject.toml: $ACTUAL_VERSION" - - if [ "$EXPECTED_VERSION" != "$ACTUAL_VERSION" ]; then - echo "ERROR: Version mismatch! Expected $EXPECTED_VERSION but found $ACTUAL_VERSION in pyproject.toml" - exit 1 - fi - - echo "✓ Version check passed: pyproject.toml has correct version $ACTUAL_VERSION" - - name: Prepare distribution - uses: apify/workflows/prepare-pypi-distribution@main - with: - ref: ${{ needs.update_version.outputs.version_commitish }} - package_name: mcp-client-capabilities - is_prerelease: "" - version_number: ${{ needs.release_metadata.outputs.version_number }} - # Publishes the package to PyPI using PyPA official GitHub action with OIDC authentication. - - name: Publish package to PyPI - uses: pypa/gh-action-pypi-publish@release/v1 + #publish_to_pypi: + # name: Publish to PyPI + # needs: [release_metadata, validate, update_version] + # runs-on: ubuntu-latest + # permissions: + # contents: write + # id-token: write # Required for OIDC authentication. + # environment: + # name: pypi + # url: https://pypi.org/project/mcp-client-capabilities + # steps: + # - uses: actions/checkout@v4 + # with: + # ref: ${{ needs.update_version.outputs.version_commitish }} + # - name: Verify commit SHA + # run: | + # CURRENT_SHA=$(git rev-parse HEAD) + # EXPECTED_SHA="${{ needs.update_version.outputs.version_commitish }}" + # echo "Expected commit SHA: $EXPECTED_SHA" + # echo "Actual checked out SHA: $CURRENT_SHA" + # if [ "$EXPECTED_SHA" != "$CURRENT_SHA" ]; then + # echo "ERROR: Checked out SHA differs from expected!" + # exit 1 + # else + # echo "✓ Commit SHA matches expected" + # fi + # - name: Verify pyproject.toml version + # run: | + # EXPECTED_VERSION="${{ needs.release_metadata.outputs.version_number }}" + # ACTUAL_VERSION=$(grep '^version = ' pyproject.toml | sed 's/version = "\(.*\)"/\1/') + + # echo "Expected version: $EXPECTED_VERSION" + # echo "Actual version in pyproject.toml: $ACTUAL_VERSION" + + # if [ "$EXPECTED_VERSION" != "$ACTUAL_VERSION" ]; then + # echo "ERROR: Version mismatch! Expected $EXPECTED_VERSION but found $ACTUAL_VERSION in pyproject.toml" + # exit 1 + # fi + + # echo "✓ Version check passed: pyproject.toml has correct version $ACTUAL_VERSION" + # - name: Prepare distribution + # uses: apify/workflows/prepare-pypi-distribution@main + # with: + # ref: ${{ needs.update_version.outputs.version_commitish }} + # package_name: mcp-client-capabilities + # is_prerelease: "" + # version_number: ${{ needs.release_metadata.outputs.version_number }} + # # Publishes the package to PyPI using PyPA official GitHub action with OIDC authentication. + # - name: Publish package to PyPI + # uses: pypa/gh-action-pypi-publish@release/v1 # NPM publish publish_to_npm: @@ -200,22 +200,22 @@ jobs: run: npm publish --tag latest # Create GitHub release - create_github_release: - name: Create GitHub release - needs: [release_metadata, publish_to_pypi, publish_to_npm] - runs-on: ubuntu-latest - permissions: - contents: write - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - steps: - - uses: actions/checkout@v4 - - name: Create release - uses: softprops/action-gh-release@v2 - with: - tag_name: ${{ needs.release_metadata.outputs.tag_name }} - name: ${{ needs.release_metadata.outputs.version_number }} - body: ${{ needs.release_metadata.outputs.release_notes }} + #create_github_release: + # name: Create GitHub release + # needs: [release_metadata, publish_to_pypi, publish_to_npm] + # runs-on: ubuntu-latest + # permissions: + # contents: write + # env: + # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # steps: + # - uses: actions/checkout@v4 + # - name: Create release + # uses: softprops/action-gh-release@v2 + # with: + # tag_name: ${{ needs.release_metadata.outputs.tag_name }} + # name: ${{ needs.release_metadata.outputs.version_number }} + # body: ${{ needs.release_metadata.outputs.release_notes }} env: NODE_AUTH_TOKEN: ${{ secrets.APIFY_SERVICE_ACCOUNT_NPM_TOKEN }} From d9a3ce5baa543abbf7e0b653aef7596cfb81371a Mon Sep 17 00:00:00 2001 From: MQ37 Date: Mon, 19 Jan 2026 11:08:30 +0100 Subject: [PATCH 3/6] fix: update nodejs --- .github/workflows/release.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 53b106f..dd6a0e6 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -49,10 +49,10 @@ jobs: steps: - name: Checkout repository uses: actions/checkout@v4 - - name: Use Node.js 22 + - name: Use Node.js 24 uses: actions/setup-node@v4 with: - node-version: 22 + node-version: 24 cache: 'npm' cache-dependency-path: 'package-lock.json' - name: Install dependencies @@ -73,10 +73,10 @@ jobs: with: token: ${{ secrets.APIFY_SERVICE_ACCOUNT_GITHUB_TOKEN }} - - name: Use Node.js 22 + - name: Use Node.js 24 uses: actions/setup-node@v4 with: - node-version: 22 + node-version: 24 - name: Update package version in package.json run: npm version --no-git-tag-version --allow-same-version ${{ needs.release_metadata.outputs.version_number }} @@ -183,10 +183,10 @@ jobs: fi echo "✓ Version check passed: package.json has correct version $ACTUAL_VERSION" - - name: Use Node.js 22 + - name: Use Node.js 24 uses: actions/setup-node@v4 with: - node-version: 22 + node-version: 24 cache: 'npm' cache-dependency-path: 'package-lock.json' - name: Install dependencies From 29bd78e740dc40cf4acd1e2a66ba2bbf7a2532cd Mon Sep 17 00:00:00 2001 From: MQ37 Date: Mon, 19 Jan 2026 11:14:33 +0100 Subject: [PATCH 4/6] fix --- .github/workflows/release.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index dd6a0e6..b519ba4 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -190,10 +190,7 @@ jobs: cache: 'npm' cache-dependency-path: 'package-lock.json' - name: Install dependencies - run: | - echo "access=public" >> .npmrc - echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" >> .npmrc - npm ci + run: npm ci - name: Build module run: npm run build - name: Publish to NPM From 9e9688043db933f90a050c571bdd225405d4725a Mon Sep 17 00:00:00 2001 From: MQ37 Date: Mon, 19 Jan 2026 11:18:48 +0100 Subject: [PATCH 5/6] fix: add repository information to package.json --- package.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/package.json b/package.json index 6e05728..ed0c849 100644 --- a/package.json +++ b/package.json @@ -2,6 +2,10 @@ "name": "mcp-client-capabilities", "version": "0.0.12", "description": "Index of all Model Context Protocol (MCP) clients and their capabilities", + "repository": { + "type": "git", + "url": "https://github.com/apify/mcp-client-capabilities" + }, "main": "dist/index.js", "types": "dist/index.d.ts", "files": [ From b8dec8700692f0ede7edbd0c0ee0bd61c80d1e85 Mon Sep 17 00:00:00 2001 From: MQ37 Date: Mon, 19 Jan 2026 11:20:31 +0100 Subject: [PATCH 6/6] revert temp changes --- .github/workflows/release.yml | 132 +++++++++++++++++----------------- 1 file changed, 66 insertions(+), 66 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b519ba4..ae90355 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -94,56 +94,56 @@ jobs: message: "chore(release): Update package.json and pyproject.toml versions [skip ci]" # Pypi publish - #publish_to_pypi: - # name: Publish to PyPI - # needs: [release_metadata, validate, update_version] - # runs-on: ubuntu-latest - # permissions: - # contents: write - # id-token: write # Required for OIDC authentication. - # environment: - # name: pypi - # url: https://pypi.org/project/mcp-client-capabilities - # steps: - # - uses: actions/checkout@v4 - # with: - # ref: ${{ needs.update_version.outputs.version_commitish }} - # - name: Verify commit SHA - # run: | - # CURRENT_SHA=$(git rev-parse HEAD) - # EXPECTED_SHA="${{ needs.update_version.outputs.version_commitish }}" - # echo "Expected commit SHA: $EXPECTED_SHA" - # echo "Actual checked out SHA: $CURRENT_SHA" - # if [ "$EXPECTED_SHA" != "$CURRENT_SHA" ]; then - # echo "ERROR: Checked out SHA differs from expected!" - # exit 1 - # else - # echo "✓ Commit SHA matches expected" - # fi - # - name: Verify pyproject.toml version - # run: | - # EXPECTED_VERSION="${{ needs.release_metadata.outputs.version_number }}" - # ACTUAL_VERSION=$(grep '^version = ' pyproject.toml | sed 's/version = "\(.*\)"/\1/') - - # echo "Expected version: $EXPECTED_VERSION" - # echo "Actual version in pyproject.toml: $ACTUAL_VERSION" - - # if [ "$EXPECTED_VERSION" != "$ACTUAL_VERSION" ]; then - # echo "ERROR: Version mismatch! Expected $EXPECTED_VERSION but found $ACTUAL_VERSION in pyproject.toml" - # exit 1 - # fi - - # echo "✓ Version check passed: pyproject.toml has correct version $ACTUAL_VERSION" - # - name: Prepare distribution - # uses: apify/workflows/prepare-pypi-distribution@main - # with: - # ref: ${{ needs.update_version.outputs.version_commitish }} - # package_name: mcp-client-capabilities - # is_prerelease: "" - # version_number: ${{ needs.release_metadata.outputs.version_number }} - # # Publishes the package to PyPI using PyPA official GitHub action with OIDC authentication. - # - name: Publish package to PyPI - # uses: pypa/gh-action-pypi-publish@release/v1 + publish_to_pypi: + name: Publish to PyPI + needs: [release_metadata, validate, update_version] + runs-on: ubuntu-latest + permissions: + contents: write + id-token: write # Required for OIDC authentication. + environment: + name: pypi + url: https://pypi.org/project/mcp-client-capabilities + steps: + - uses: actions/checkout@v4 + with: + ref: ${{ needs.update_version.outputs.version_commitish }} + - name: Verify commit SHA + run: | + CURRENT_SHA=$(git rev-parse HEAD) + EXPECTED_SHA="${{ needs.update_version.outputs.version_commitish }}" + echo "Expected commit SHA: $EXPECTED_SHA" + echo "Actual checked out SHA: $CURRENT_SHA" + if [ "$EXPECTED_SHA" != "$CURRENT_SHA" ]; then + echo "ERROR: Checked out SHA differs from expected!" + exit 1 + else + echo "✓ Commit SHA matches expected" + fi + - name: Verify pyproject.toml version + run: | + EXPECTED_VERSION="${{ needs.release_metadata.outputs.version_number }}" + ACTUAL_VERSION=$(grep '^version = ' pyproject.toml | sed 's/version = "\(.*\)"/\1/') + + echo "Expected version: $EXPECTED_VERSION" + echo "Actual version in pyproject.toml: $ACTUAL_VERSION" + + if [ "$EXPECTED_VERSION" != "$ACTUAL_VERSION" ]; then + echo "ERROR: Version mismatch! Expected $EXPECTED_VERSION but found $ACTUAL_VERSION in pyproject.toml" + exit 1 + fi + + echo "✓ Version check passed: pyproject.toml has correct version $ACTUAL_VERSION" + - name: Prepare distribution + uses: apify/workflows/prepare-pypi-distribution@main + with: + ref: ${{ needs.update_version.outputs.version_commitish }} + package_name: mcp-client-capabilities + is_prerelease: "" + version_number: ${{ needs.release_metadata.outputs.version_number }} + # Publishes the package to PyPI using PyPA official GitHub action with OIDC authentication. + - name: Publish package to PyPI + uses: pypa/gh-action-pypi-publish@release/v1 # NPM publish publish_to_npm: @@ -197,22 +197,22 @@ jobs: run: npm publish --tag latest # Create GitHub release - #create_github_release: - # name: Create GitHub release - # needs: [release_metadata, publish_to_pypi, publish_to_npm] - # runs-on: ubuntu-latest - # permissions: - # contents: write - # env: - # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - # steps: - # - uses: actions/checkout@v4 - # - name: Create release - # uses: softprops/action-gh-release@v2 - # with: - # tag_name: ${{ needs.release_metadata.outputs.tag_name }} - # name: ${{ needs.release_metadata.outputs.version_number }} - # body: ${{ needs.release_metadata.outputs.release_notes }} + create_github_release: + name: Create GitHub release + needs: [release_metadata, publish_to_pypi, publish_to_npm] + runs-on: ubuntu-latest + permissions: + contents: write + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + steps: + - uses: actions/checkout@v4 + - name: Create release + uses: softprops/action-gh-release@v2 + with: + tag_name: ${{ needs.release_metadata.outputs.tag_name }} + name: ${{ needs.release_metadata.outputs.version_number }} + body: ${{ needs.release_metadata.outputs.release_notes }} env: NODE_AUTH_TOKEN: ${{ secrets.APIFY_SERVICE_ACCOUNT_NPM_TOKEN }}