Skip to content

feat(v0.3.0): add 5 DNS/proxy MCP tools, 2 skills, and exposed-ports … #2

feat(v0.3.0): add 5 DNS/proxy MCP tools, 2 skills, and exposed-ports …

feat(v0.3.0): add 5 DNS/proxy MCP tools, 2 skills, and exposed-ports … #2

Workflow file for this run

---
name: Auto-tag, release, and publish on version bump
on:
push:
branches: [main]
paths:
- mcp-server/package.json
permissions:
contents: write
id-token: write
jobs:
tag-release-publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 2
- name: Detect version change
id: version
run: |
CURRENT=$(jq -r .version mcp-server/package.json)
PREVIOUS=$(git show HEAD~1:mcp-server/package.json 2>/dev/null | jq -r .version 2>/dev/null || echo "")
echo "current=$CURRENT" >> "$GITHUB_OUTPUT"
echo "previous=$PREVIOUS" >> "$GITHUB_OUTPUT"
if [ "$CURRENT" != "$PREVIOUS" ] && [ -n "$CURRENT" ]; then
echo "changed=true" >> "$GITHUB_OUTPUT"
else
echo "changed=false" >> "$GITHUB_OUTPUT"
fi
- name: Check tag does not already exist
if: steps.version.outputs.changed == 'true'
id: check-tag
run: |
TAG="v${{ steps.version.outputs.current }}"
if git rev-parse "$TAG" >/dev/null 2>&1; then
echo "exists=true" >> "$GITHUB_OUTPUT"
else
echo "exists=false" >> "$GITHUB_OUTPUT"
fi
- name: Create tag and GitHub release
if: steps.version.outputs.changed == 'true' && steps.check-tag.outputs.exists == 'false'
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
TAG="v${{ steps.version.outputs.current }}"
git tag "$TAG"
git push origin "$TAG"
gh release create "$TAG" \
--title "$TAG" \
--generate-notes \
--latest
- name: Setup Node.js
if: steps.version.outputs.changed == 'true' && steps.check-tag.outputs.exists == 'false'
uses: actions/setup-node@v6
with:
node-version: 22
registry-url: https://registry.npmjs.org
cache: npm
cache-dependency-path: mcp-server/package-lock.json
- name: Install, build, test
if: steps.version.outputs.changed == 'true' && steps.check-tag.outputs.exists == 'false'
working-directory: mcp-server
run: |
npm ci
npm run build
npm test
- name: Publish to npm
if: steps.version.outputs.changed == 'true' && steps.check-tag.outputs.exists == 'false'
working-directory: mcp-server
run: npm publish --provenance --access public
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}