taskqueue-mcp
by chriscarrollsmith
Verified
- taskqueue-mcp
- .github
- workflows
on:
push:
branches:
- '**' # Run on all branches
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 'latest'
- run: npm ci
- run: npm install -g tsx
- run: npm test
publish:
needs: test
if: github.ref == 'refs/heads/main' # Only run this job on main branch
permissions:
packages: write
contents: write
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0 # Fetch all history for PR message extraction
- uses: actions/setup-node@v4
with:
node-version: 'latest'
- name: Get PR Message
id: pr_message
run: |
PR_NUMBER=$(git log -1 --pretty=%B | grep -oP '#\K\d+' || echo "")
if [ ! -z "$PR_NUMBER" ]; then
PR_MESSAGE=$(gh pr view $PR_NUMBER --json body -q .body || echo "")
echo "message<<EOF" >> $GITHUB_OUTPUT
echo "$PR_MESSAGE" >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT
else
echo "message=No PR message found" >> $GITHUB_OUTPUT
fi
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- run: npm ci
- run: npm install -g tsx
- run: npm run build
- name: Publish to NPM
id: publish
uses: JS-DevTools/npm-publish@v3
with:
token: ${{ secrets.NPM_TOKEN }}
- name: Get package version
if: steps.publish.outputs.type != 'none'
id: package_version
run: echo "version=$(node -p "require('./package.json').version")" >> $GITHUB_OUTPUT
- name: Create GitHub Release
if: steps.publish.outputs.type != 'none'
uses: ncipollo/release-action@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
tag: v${{ steps.package_version.outputs.version }}
name: Release v${{ steps.package_version.outputs.version }}
body: |
${{ steps.pr_message.outputs.message }}
Package published to npm: ${{ steps.publish.outputs.version }}
draft: false
prerelease: false