Skip to main content
Glama
jakedx6
by jakedx6
auto-release.yml4.16 kB
name: Auto Release on Main on: push: branches: - main - master paths: - 'package.json' jobs: check-version: runs-on: ubuntu-latest outputs: version-changed: ${{ steps.version-check.outputs.changed }} new-version: ${{ steps.version-check.outputs.version }} steps: - uses: actions/checkout@v4 with: fetch-depth: 2 - name: Check if version changed id: version-check run: | # Get current version CURRENT_VERSION=$(node -p "require('./package.json').version") echo "Current version: $CURRENT_VERSION" # Get previous version git checkout HEAD~1 PREVIOUS_VERSION=$(node -p "require('./package.json').version") echo "Previous version: $PREVIOUS_VERSION" # Check if version changed if [ "$CURRENT_VERSION" != "$PREVIOUS_VERSION" ]; then echo "Version changed from $PREVIOUS_VERSION to $CURRENT_VERSION" echo "changed=true" >> $GITHUB_OUTPUT echo "version=$CURRENT_VERSION" >> $GITHUB_OUTPUT else echo "Version unchanged" echo "changed=false" >> $GITHUB_OUTPUT fi publish: needs: check-version if: needs.check-version.outputs.version-changed == 'true' runs-on: ubuntu-latest permissions: contents: write packages: write steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: '18' registry-url: 'https://registry.npmjs.org/' - run: npm install - run: npm run build - run: npm test --if-present - name: Publish to npm run: | # Check if this is a prerelease version VERSION=${{ needs.check-version.outputs.new-version }} if [[ "$VERSION" == *"-"* ]]; then echo "Publishing prerelease version $VERSION" npm publish --tag beta else echo "Publishing stable version $VERSION" npm publish fi env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} - name: Create Git Tag run: | git config user.name "GitHub Actions" git config user.email "actions@github.com" # Check if tag already exists if git rev-parse v${{ needs.check-version.outputs.new-version }} >/dev/null 2>&1; then echo "Tag v${{ needs.check-version.outputs.new-version }} already exists" else git tag -a v${{ needs.check-version.outputs.new-version }} -m "Release v${{ needs.check-version.outputs.new-version }}" git push origin v${{ needs.check-version.outputs.new-version }} fi - name: Create GitHub Release uses: softprops/action-gh-release@v1 with: tag_name: v${{ needs.check-version.outputs.new-version }} name: Release v${{ needs.check-version.outputs.new-version }} body: | ## What's Changed Auto-released version ${{ needs.check-version.outputs.new-version }} ### Installation ```bash # For stable release npx -y helios9-mcp-server@latest --api-key YOUR_KEY # For this specific version npx -y helios9-mcp-server@${{ needs.check-version.outputs.new-version }} --api-key YOUR_KEY ``` View on npm: https://www.npmjs.com/package/helios9-mcp-server draft: false prerelease: ${{ contains(needs.check-version.outputs.new-version, '-') }} generate_release_notes: true - name: Notify Success run: | echo "🎉 Successfully published version ${{ needs.check-version.outputs.new-version }} to npm!" echo "📦 View package: https://www.npmjs.com/package/helios9-mcp-server" echo "🏷️ View release: https://github.com/${{ github.repository }}/releases/tag/v${{ needs.check-version.outputs.new-version }}"

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jakedx6/helios9-MCP-Server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server