Skip to content

add deployment workflows to auto-deploy docker container & npm package#2

Open
zudsniper wants to merge 11 commits intodemocratize-technology:mainfrom
zudsniper:main
Open

add deployment workflows to auto-deploy docker container & npm package#2
zudsniper wants to merge 11 commits intodemocratize-technology:mainfrom
zudsniper:main

Conversation

@zudsniper
Copy link
Copy Markdown

HOW TO USE

  1. set these github secrets:
NPM_TOKEN
DOCKERHUB_USERNAME
DOCKERHUB_TOKEN

*note that dockerhub repository with the appropriate name matching this repository must have been MANUALLY created already for this to work (which, is kinda dumb. but it is the case at the moment.)

  1. then create a release branch and push to it. that should do it. if you have issues let me know, i can fix them -- I just didn't want to test it with my npm tokens and dockerhub tokens since I don't want to take credit for your work. if you don't test the PR for a little while, then I probably will, just because I'd like to use this mcp server easily--but if I do, when you get around to merging / implementing yourself if you want to for some reason, just tell me and I'll get rid of mine.

Cheers,
Jason

reach out of discord to get a response fastest


AI SUMMARY OF CHANGES

feat(ci): Implement automated release and deployment workflow

This PR introduces a comprehensive CI/CD pipeline to automate the entire release process, from versioning to publishing on npm and Docker Hub.

Key Changes:

  • Automated Release Workflow (.github/workflows/release.yml)

    • Triggers on a push to the release branch.
    • Validates that the version has not already been published to npm.
    • Runs tests to ensure code quality.
    • Publishes the package to npm as @democratize-technology/claude-code-container-mcp.
    • Builds and pushes three multi-platform (linux/amd64, linux/arm64) Docker images.
    • Creates a GitHub Release with an automatically generated changelog from commit history.
  • Docker-Only Update Workflow (.github/workflows/docker-update.yml)

    • Triggers when Docker-related files are changed on the main branch.
    • Builds and pushes dev-tagged Docker images, allowing for quick updates without a full version release.
  • Release Helper Script (scripts/prepare-release.sh)

    • An interactive script that guides the user through preparing a new release.
    • It handles version bumping, CHANGELOG.md updates, and creates and pushes the release commit to trigger the workflow.
  • Comprehensive Documentation

    • docs/SETUP_DEPLOYMENT_WORKFLOWS.md: A new, detailed guide on setting up the required secrets (NPM_TOKEN, DOCKERHUB_USERNAME, DOCKERHUB_TOKEN) and using the new workflows.
    • README.md: Updated to prioritize npm as the primary installation method, improve configuration examples, and add sections on the development and release process.
    • RELEASE.md: Updated to reflect the new automated release process while keeping manual steps as a fallback.

How to Use:

  1. Configure the required repository secrets as detailed in the new setup documentation.
  2. Run the helper script: ./scripts/prepare-release.sh.
  3. Follow the interactive prompts. The script will push to the release branch, and the GitHub Action will automate the rest.

This automation significantly streamlines the release process, reduces the potential for manual error, and ensures consistent, versioned deployments.

zudsniper and others added 5 commits August 21, 2025 22:04
- Add comprehensive deployment setup documentation
- Update README with npm installation instructions
- Add prepare-release.sh helper script
- Update RELEASE.md with automated workflow instructions
- Reorganize README for better MCP server alignment
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@zudsniper
Copy link
Copy Markdown
Author

@democratize-technology-code-reviewer Merge this please?

zudsniper and others added 6 commits August 31, 2025 07:24
- Introduce docker-update.yml workflow to build and push development Docker images on main branch changes and manual triggers.
- Add release.yml workflow to handle version checking, testing, npm publishing, Docker image building, and GitHub release creation on release branch pushes and manual triggers.
- Workflows support multi-architecture Docker builds, tagging strategies, and notifications for success and failure.
- Automate version tagging and changelog generation for releases.

Co-authored-by: terragon-labs[bot] <terragon-labs[bot]@users.noreply.github.com>
- Remove @democratize-technology scope from npm package name (now just 'claude-code-container-mcp')
- Use DOCKERHUB_USERNAME secret for Docker Hub organization instead of hardcoded value
- Update package.json repository URLs to match actual GitHub repo (zudsniper/claude-code-container-mcp)
- Ensures workflows will publish to correct npm package and Docker Hub repositories
- GitHub release will now be created even if Docker builds fail
- Release depends only on successful npm publish
- Docker build failures are marked as warnings, not failures
- Updated release notes to indicate Docker build status
- Bumped version to 3.0.1 for testing the release workflow
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant