Skip to main content
Glama

documcp

by tosin2013
RELEASE_WORKFLOW_FIXES.md2.93 kB
# GitHub Actions Release Workflow Fixes ## Issues Fixed ### 1. **Duplicate Release Conflict** **Problem**: Workflow failed with "already_exists" error when trying to create GitHub releases **Solution**: Added `skipIfReleaseExists: true` to the release action ### 2. **NPM Publishing Dependency** **Problem**: NPM publishing never ran because it was dependent on GitHub release step **Solution**: Made NPM publishing more robust and independent ### 3. **Documentation Deployment** **Problem**: Used separate docs-site instead of existing Docusaurus build **Solution**: Updated to use existing Docusaurus build with API documentation integration ## Key Improvements ### ✅ **Release Action Enhancements** ```yaml - name: Create GitHub Release uses: ncipollo/release-action@v1 with: skipIfReleaseExists: true # NEW: Prevents duplicate conflicts makeLatest: true # NEW: Ensures new releases are marked as latest ``` ### ✅ **NPM Publishing Improvements** ```yaml - name: Verify NPM Token run: | if [ -z "$NODE_AUTH_TOKEN" ]; then echo "Error: NODE_AUTH_TOKEN is not set" exit 1 fi - name: Publish to npm run: | echo "Publishing to npm..." npm whoami npm publish echo "Successfully published to npm!" ``` ### ✅ **Documentation Deployment** ```yaml - name: Generate API documentation run: npm run docs:generate - name: Remove problematic media directory run: rm -rf docs/api/media - name: Build Docusaurus site run: cd docs && npm run build ``` ## Future Release Process ### **Automated Release (Recommended)** 1. **Create and push tag**: ```bash git tag -a v0.5.0 -m "Release v0.5.0: New features" git push origin main --tags ``` 2. **Workflow automatically**: - Runs tests and builds - Creates GitHub release (or skips if exists) - Publishes to npm - Deploys documentation ### **Manual Release (If needed)** 1. **Use workflow dispatch**: - Go to Actions → Release → Run workflow - Select version type: patch/minor/major - Workflow handles everything automatically ## Benefits - ✅ **No More Conflicts**: Handles existing releases gracefully - ✅ **Robust NPM Publishing**: Better error handling and verification - ✅ **Integrated Documentation**: Uses existing Docusaurus build - ✅ **Automated Everything**: Complete CI/CD pipeline - ✅ **Better Error Messages**: Clear feedback on issues ## Testing The workflow can be tested by: 1. Creating a test tag: `git tag -a v0.4.1-test -m "Test release"` 2. Pushing: `git push origin main --tags` 3. Monitoring the Actions tab for successful execution ## Next Steps For future releases, simply: 1. Make your code changes 2. Run `npm run release:minor` (or patch/major) 3. Push the tag: `git push origin main --tags` 4. The workflow will handle everything automatically! The improved workflow ensures smooth, automated releases without conflicts. 🚀

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/tosin2013/documcp'

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