Skip to main content
Glama
iunera

NL Analytics MCP Server for Apache Druid

by iunera
release.yml5.89 kB
name: Release and Deploy on: push: branches: - main paths: - 'pom.xml' pull_request: types: - closed env: REGISTRY: docker.io IMAGE_NAME: iunera/druid-mcp-server jobs: # Test build job for all branches (including PRs) test-build: if: github.event_name == 'pull_request' runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Set up JDK 24 uses: actions/setup-java@v4 with: java-version: '24' distribution: 'temurin' - name: Cache Maven dependencies uses: actions/cache@v4 with: path: ~/.m2 key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} restore-keys: ${{ runner.os }}-m2 - name: Run tests run: mvn clean test - name: Build application run: mvn clean package -DskipTests # Main release job for main branch when pom.xml changes release: if: github.event_name == 'push' && github.ref == 'refs/heads/main' runs-on: ubuntu-latest outputs: version: ${{ steps.version.outputs.version }} steps: - name: Checkout code uses: actions/checkout@v4 - name: Set up JDK 24 uses: actions/setup-java@v4 with: java-version: '24' distribution: 'temurin' - name: Cache Maven dependencies uses: actions/cache@v4 with: path: ~/.m2 key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} restore-keys: ${{ runner.os }}-m2 - name: Extract version from pom.xml id: version run: | VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout) echo "version=$VERSION" >> $GITHUB_OUTPUT echo "Extracted version: $VERSION" - name: Run tests run: mvn clean test - name: Build application run: mvn clean package -DskipTests -Prelease - name: Create Git tag 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 version ${{ steps.version.outputs.version }}" git push origin "v${{ steps.version.outputs.version }}" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Create GitHub Release uses: softprops/action-gh-release@v1 with: tag_name: v${{ steps.version.outputs.version }} name: Release v${{ steps.version.outputs.version }} body: | Release version ${{ steps.version.outputs.version }} ## Changes - Automated release from pom.xml version ${{ steps.version.outputs.version }} draft: false prerelease: false files: | ./target/druid-mcp-server-${{ steps.version.outputs.version }}.jar env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Docker build and push job docker: needs: release if: github.event_name == 'push' && github.ref == 'refs/heads/main' runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Log in to Docker Hub uses: docker/login-action@v3 with: registry: ${{ env.REGISTRY }} username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Extract metadata id: meta uses: docker/metadata-action@v5 with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} tags: | type=raw,value=latest type=raw,value=${{ needs.release.outputs.version }} - name: Build and push Docker image uses: docker/build-push-action@v5 with: context: . platforms: linux/amd64,linux/arm64 push: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} cache-from: type=gha cache-to: type=gha,mode=max # Maven deployment job maven-deploy: needs: release if: github.event_name == 'push' && github.ref == 'refs/heads/main' runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Set up JDK 24 uses: actions/setup-java@v4 with: java-version: '24' distribution: 'temurin' server-id: central server-username: SONATYPE_USERNAME server-password: SONATYPE_PASSWORD gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }} gpg-passphrase: GPG_PASSPHRASE cache: maven overwrite-settings: 'true' - name: Deploy to Maven Central run: mvn deploy -Prelease -DskipTests -Dgpg.passphrase=${GPG_PASSPHRASE} env: SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} # MCP Registry publishing job mcp-publish: needs: [release, docker, maven-deploy] if: github.event_name == 'push' && github.ref == 'refs/heads/main' runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Install MCP Publisher run: | curl -L "https://github.com/modelcontextprotocol/registry/releases/latest/download/mcp-publisher_$(uname -s | tr '[:upper:]' '[:lower:]')_$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/').tar.gz" | tar xz mcp-publisher - name: Login to MCP Registry run: | echo "${{ secrets.MCP_PUBLISHER_KEY }}" > key.pem chmod 600 key.pem ./mcp-publisher login dns --domain iunera.com --private-key $(openssl pkey -in key.pem -noout -text | grep -A3 "priv:" | tail -n +2 | tr -d ' :\n') rm key.pem - name: Publish to MCP Registry run: | ./mcp-publisher --version ./mcp-publisher publish

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/iunera/druid-mcp-server'

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