Skip to main content
Glama

Parliament MCP Server

by i-dot-ai
release.sh3.66 kB
#!/bin/bash # Usage: ## Just pass the name of the env we want to tag and deploy. ## This will create a tag locally with a format of $$ENV-$BRANCH-$CURRENT_USER-$TIMESTAMP ## Then push it to the remote git. ## Optional: pass --wait as second argument to wait for build to complete ENV=$1 WAIT_FLAG=$2 BRANCH=$(git rev-parse --abbrev-ref HEAD) CURRENT_USER=$(whoami) TIMESTAMP=$(date +%d-%m-%y--%H%M%S) TAG_NAME="release-$ENV-$BRANCH-$CURRENT_USER-$TIMESTAMP" echo "Current branch name is" "$BRANCH" echo "Current environment name is" "$ENV" echo "Timestamp assigned will be $TIMESTAMP" echo "New tag name will be " "$TAG_NAME" # Only check build status if --wait flag is provided if [ "$WAIT_FLAG" == "--wait" ]; then if command -v gh &> /dev/null; then COMMIT_SHA=$(git rev-parse HEAD) echo "Checking build status for commit $COMMIT_SHA..." # Check if build exists and get its status BUILD_RUNS=$(gh run list --workflow=build.yml --limit=20 --json status,conclusion,headSha,databaseId 2>/dev/null) if [ -z "$BUILD_RUNS" ]; then echo "Error: Unable to fetch build status from GitHub" exit 1 fi # Find the specific build for our commit (get first matching build) BUILD_INFO=$(echo "$BUILD_RUNS" | jq -r "[.[] | select(.headSha == \"$COMMIT_SHA\")][0]") if [ -z "$BUILD_INFO" ] || [ "$BUILD_INFO" == "null" ]; then echo "Warning: No build found for current commit." echo "Please ensure your changes are pushed first." exit 1 fi BUILD_STATUS=$(echo "$BUILD_INFO" | jq -r '.status') BUILD_CONCLUSION=$(echo "$BUILD_INFO" | jq -r '.conclusion') RUN_ID=$(echo "$BUILD_INFO" | jq -r '.databaseId') if [ "$BUILD_STATUS" == "in_progress" ] || [ "$BUILD_STATUS" == "queued" ]; then echo "Build is currently in progress. Waiting for completion..." # Wait for build with timeout of 20 minutes TIMEOUT=1200 ELAPSED=0 INTERVAL=30 while [ "$ELAPSED" -lt "$TIMEOUT" ]; do BUILD_STATUS=$(gh run view "$RUN_ID" --json status --jq '.status' 2>/dev/null) BUILD_CONCLUSION=$(gh run view "$RUN_ID" --json conclusion --jq '.conclusion' 2>/dev/null) if [ "$BUILD_STATUS" == "completed" ]; then break fi echo " Still building... (${ELAPSED}s elapsed)" sleep $INTERVAL ELAPSED=$((ELAPSED + INTERVAL)) done if [ "$ELAPSED" -ge "$TIMEOUT" ]; then echo "Timeout waiting for build to complete" exit 1 fi fi if [ "$BUILD_CONCLUSION" != "success" ] && [ "$BUILD_CONCLUSION" != "null" ]; then echo "Build failed with conclusion: $BUILD_CONCLUSION" echo "Please fix build issues before releasing." exit 1 fi echo "Build completed successfully!" else echo "GitHub CLI (gh) not found. Cannot check build status." echo "Proceeding without build check..." fi fi if [ "$ENV" == 'prod' ]; then echo -e "\033[0;31mWarning: You are about to deploy to production!\033[0m" echo -n "Are you sure you want to continue? (y/N) " read -r confirmation case "$confirmation" in [yY]) ;; *) echo "Deployment cancelled"; exit 0 ;; esac fi ## echo "Removing Local tags" git tag -d "$(git tag -l)" # Command to run echo "Applying local tag" && \ git tag "$TAG_NAME" && \ echo "Pushing tag" && \ git push origin "$TAG_NAME"

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/i-dot-ai/parliament-mcp'

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