Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
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
Prev Previous commit
Next Next commit
chore(ci): migrate GitHub Actions workflows from pnpm to npm
- Remove pnpm setup steps from all workflows
- Replace pnpm install with npm ci
- Replace pnpm exec with npx
- Replace pnpm --filter with npm --workspace
- Update Node.js cache from pnpm to npm
- Remove pnpm-lock.yaml cache dependency paths

Affected workflows:
- lint.yml: markdownlint, eslint, prettier, commitlint
- test.yml: test:ci, test:ci:coverage, npm pack
- release.yml: pre-release tests, semantic-release
- publish.yml: test:ci, npm publish
- create-release.yml: semantic-release dry-run

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

Co-Authored-By: Claude <[email protected]>
  • Loading branch information
akiojin and claude committed Nov 18, 2025
commit 771c94784723feb5fd7b02ddeedce24bb9f094af
13 changes: 3 additions & 10 deletions .github/workflows/create-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,21 +19,14 @@ jobs:
fetch-depth: 0
token: ${{ secrets.PERSONAL_ACCESS_TOKEN || secrets.GITHUB_TOKEN }}

- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 10.20.0
run_install: false

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: pnpm
cache-dependency-path: pnpm-lock.yaml
cache: 'npm'

- name: Install dependencies
run: pnpm install --frozen-lockfile
run: npm ci

- name: Run semantic-release dry-run
id: version
Expand All @@ -42,7 +35,7 @@ jobs:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
run: |
# semantic-release dry-runを実行してバージョン番号を取得
OUTPUT=$(pnpm exec semantic-release --dry-run --branches develop 2>&1)
OUTPUT=$(npx semantic-release --dry-run --branches develop 2>&1)
echo "$OUTPUT"

# Conventional Commits検証
Expand Down
26 changes: 8 additions & 18 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,16 +14,11 @@ jobs:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 10.20.0
run_install: false

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: 'npm'

- name: Install build tools (Linux)
if: runner.os == 'Linux'
Expand All @@ -32,22 +27,22 @@ jobs:
sudo apt-get install -y build-essential python3 make gcc g++

- name: Install dependencies
run: pnpm install --frozen-lockfile
run: npm ci

- name: Run Markdownlint
working-directory: ./mcp-server
run: >
pnpm exec markdownlint "./**/*.md"
npx markdownlint "./**/*.md"
--config ../.markdownlint.json
--ignore-path ../.markdownlintignore

- name: Run ESLint
working-directory: ./mcp-server
run: pnpm exec eslint src tests --ext .js --max-warnings=0
run: npx eslint src tests --ext .js --max-warnings=0

- name: Check formatting
working-directory: ./mcp-server
run: pnpm exec prettier --check .
run: npx prettier --check .
continue-on-error: true

commitlint:
Expand All @@ -61,23 +56,18 @@ jobs:
with:
fetch-depth: 0

- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 10.20.0
run_install: false

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: 'npm'

- name: Install dependencies
run: pnpm install --frozen-lockfile
run: npm ci

- name: Validate commit messages
run: >
pnpm exec commitlint
npx commitlint
--from ${{ github.event.pull_request.base.sha }}
--to ${{ github.event.pull_request.head.sha }}
--verbose
10 changes: 2 additions & 8 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -195,12 +195,6 @@ jobs:
node-version: '18'
registry-url: 'https://registry.npmjs.org'

- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 10.20.0
run_install: false

- name: Get latest tag
id: tag
run: |
Expand Down Expand Up @@ -237,11 +231,11 @@ jobs:
exit 1

- name: Install dependencies
run: pnpm install --frozen-lockfile
run: npm ci

- name: Run tests
working-directory: mcp-server
run: pnpm run test:ci
run: npm run test:ci

- name: Publish to npm
working-directory: mcp-server
Expand Down
32 changes: 9 additions & 23 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,18 +27,11 @@ jobs:
with:
ref: ${{ github.ref }}

- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 10.20.0
run_install: false

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: pnpm
cache-dependency-path: pnpm-lock.yaml
cache: 'npm'

- name: Install build tools (Linux)
if: runner.os == 'Linux'
Expand All @@ -47,26 +40,26 @@ jobs:
sudo apt-get install -y build-essential python3 make gcc g++

- name: Install dependencies
run: pnpm install --frozen-lockfile
run: npm ci

- name: Run Markdownlint
working-directory: ./mcp-server
run: >
pnpm exec markdownlint "./**/*.md"
npx markdownlint "./**/*.md"
--config ../.markdownlint.json
--ignore-path ../.markdownlintignore

- name: Run ESLint
working-directory: ./mcp-server
run: pnpm exec eslint src tests --ext .js --max-warnings=0
run: npx eslint src tests --ext .js --max-warnings=0

- name: Check formatting
working-directory: ./mcp-server
run: pnpm exec prettier --check .
run: npx prettier --check .
continue-on-error: true

- name: Run tests
run: pnpm --filter mcp-server run test:ci
run: npm run test:ci --workspace=mcp-server
env:
NODE_ENV: test
CI: true
Expand Down Expand Up @@ -97,21 +90,14 @@ jobs:
fetch-depth: 0
token: ${{ secrets.PERSONAL_ACCESS_TOKEN || secrets.GITHUB_TOKEN }}

- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 10.20.0
run_install: false

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: pnpm
cache-dependency-path: pnpm-lock.yaml
cache: 'npm'

- name: Install dependencies
run: pnpm install --frozen-lockfile
run: npm ci

- name: Run semantic-release
id: semantic
Expand All @@ -126,7 +112,7 @@ jobs:
run: |
# semantic-releaseを実行して出力を取得(ログも表示)
set -o pipefail
pnpm exec semantic-release | tee release-output.txt
npx semantic-release | tee release-output.txt
RELEASE_EXIT_CODE=${PIPESTATUS[0]}

# semantic-releaseの出力を解析して新しいリリースが作成されたか確認
Expand Down
24 changes: 7 additions & 17 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,16 +14,11 @@ jobs:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 10.20.0
run_install: false

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: 'npm'

- name: Install build tools (Linux)
if: runner.os == 'Linux'
Expand All @@ -32,17 +27,17 @@ jobs:
sudo apt-get install -y build-essential python3 make gcc g++

- name: Install dependencies
run: pnpm install --frozen-lockfile
run: npm ci

- name: Run targeted CI tests
run: pnpm --filter mcp-server run test:ci
run: npm run test:ci --workspace=mcp-server
env:
NODE_ENV: test
CI: true
DISABLE_AUTO_RECONNECT: true

- name: Generate coverage report
run: pnpm --filter mcp-server run test:ci:coverage
run: npm run test:ci:coverage --workspace=mcp-server
continue-on-error: true
env:
NODE_ENV: test
Expand Down Expand Up @@ -71,16 +66,11 @@ jobs:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 10.20.0
run_install: false

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: 'npm'

- name: Install build tools (Linux)
if: runner.os == 'Linux'
Expand All @@ -89,11 +79,11 @@ jobs:
sudo apt-get install -y build-essential python3 make gcc g++

- name: Install dependencies
run: pnpm install --frozen-lockfile
run: npm ci

- name: Pack npm artifact
working-directory: ./mcp-server
run: pnpm pack
run: npm pack

- name: Verify package archive
run: |
Expand Down
Loading