MCP Filesystem Python

by punkpeye
Verified
MIT License
1
  • Apple
  • Linux
name: Publish Package to npmjs on: workflow_dispatch: release: types: [published] push: branches: - main # cancel previous runs if a new one is triggered concurrency: group: ${{ github.workflow }}-${{ github.ref }} jobs: build: runs-on: ubuntu-latest permissions: contents: write id-token: write steps: - uses: actions/checkout@v4 # Setup .npmrc file to publish to npm - uses: actions/setup-node@v4 with: node-version: "22.x" registry-url: "https://registry.npmjs.org" - run: npm install - name: Get version from package.json id: version run: echo "version=$(node -p "require('./package.json').version")" >> $GITHUB_OUTPUT - name: Create Git tag if: ${{ !contains(github.event.head_commit.message, 'chore(release)') && github.event_name != 'workflow_dispatch' }} run: | git config --local user.email "action@github.com" git config --local user.name "GitHub Action" git tag -a "v${{ steps.version.outputs.version }}" -m "Release v${{ steps.version.outputs.version }}" git push origin "v${{ steps.version.outputs.version }}" - name: Create GitHub Release if: ${{ !contains(github.event.head_commit.message, 'chore(release)') && github.event_name != 'workflow_dispatch' }} uses: softprops/action-gh-release@v1 with: tag_name: v${{ steps.version.outputs.version }} name: Release v${{ steps.version.outputs.version }} generate_release_notes: true - run: npm publish --provenance --access public # only if the commit message contains chore(release), or if manually triggered with workflow_dispatch if: ${{ contains(github.event.head_commit.message, 'chore(release)') || github.event_name == 'workflow_dispatch' }} env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}