Skip to main content
Glama
build.yml3.3 kB
name: Build on: pull_request: push: branches: - "main" permissions: contents: read concurrency: group: ${{ github.ref }}-${{ github.workflow }} cancel-in-progress: true jobs: build: name: Build runs-on: ubuntu-latest permissions: contents: read security-events: write packages: write id-token: write env: _IMAGE_NAME: ghcr.io/withinfocus/tba-mcp-server steps: - name: Checkout uses: actions/checkout@v6 - name: Package version id: retrieve-package-version run: | PKG_VERSION=$(jq -r .version package.json) echo "package_version=$PKG_VERSION" >> "$GITHUB_OUTPUT" - name: Node version id: retrieve-node-version run: | NODE_NVMRC=$(cat .nvmrc) NODE_VERSION=${NODE_NVMRC/v/''} echo "node_version=$NODE_VERSION" >> "$GITHUB_OUTPUT" - name: Node uses: actions/setup-node@v6 with: cache: "npm" cache-dependency-path: "**/package-lock.json" node-version: ${{ steps.retrieve-node-version.outputs.node_version }} - name: Install run: npm ci - name: Build run: npm run build - name: Archive run: | zip -r mcp-server-${{ steps.retrieve-package-version.outputs.package_version }}.zip dist - name: Upload uses: actions/upload-artifact@v5 with: name: mcp-server-${{ steps.retrieve-package-version.outputs.package_version }}.zip path: mcp-server-${{ steps.retrieve-package-version.outputs.package_version }}.zip if-no-files-found: error - name: Login uses: docker/login-action@v3 with: registry: ghcr.io username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Docker version id: tag env: EVENT_TYPE: ${{ contains(github.event_name, 'pull_request') && 'pull_request' || '' }} run: | if [[ "$EVENT_TYPE" == "pull_request" ]]; then IMAGE_TAG="pr-${{ github.event.pull_request.number }}" else IMAGE_TAG="${GITHUB_REF:11}" IMAGE_TAG="${IMAGE_TAG//\//-}" # slash safe branch name if [[ "$IMAGE_TAG" == "main" ]]; then IMAGE_TAG=dev fi fi echo "image_tag=$IMAGE_TAG" >> "$GITHUB_OUTPUT" - name: Tag generation id: image-tags env: IMAGE_TAG: ${{ steps.tag.outputs.image_tag }} SHA: ${{ github.sha }} run: | TAGS="${{ env._IMAGE_NAME }}:${{ env.IMAGE_TAG }}" echo "primary_tag=$TAGS" >> "$GITHUB_OUTPUT" if [[ "$IMAGE_TAG" == "dev" ]]; then SHORT_SHA="$(git rev-parse --short "${SHA}")" TAGS="$TAGS,${{ env._IMAGE_NAME }}:${{ env.IMAGE_TAG }}-${SHORT_SHA}" fi echo "tags=$TAGS" >> "$GITHUB_OUTPUT" - name: Docker id: build-docker uses: docker/build-push-action@v6 with: file: Dockerfile platforms: linux/amd64 push: ${{ github.ref == 'refs/heads/main' }} tags: ${{ steps.image-tags.outputs.tags }} - name: Logout run: docker logout ghcr.io

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/withinfocus/tba'

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