Skip to main content
Glama
release.yml3.53 kB
name: Release on: push: branches: - main permissions: contents: write # needed to create releases/tags packages: write # needed to push to GHCR in docker-release job jobs: release: runs-on: ubuntu-latest permissions: contents: write # to be able to publish a GitHub release issues: write # to be able to comment on released issues pull-requests: write # to be able to comment on released pull requests id-token: write # to enable use of OIDC for npm provenance packages: write # to push Docker images to GHCR outputs: version: ${{ steps.release.outputs.version }} released: ${{ steps.release.outputs.released }} steps: - uses: actions/checkout@v5 - uses: actions/setup-node@v6 with: node-version-file: '.nvmrc' - run: npm ci - run: npm run build - name: Run unit tests run: npx vitest run --exclude tests/integration/** - name: Run integration tests run: npx vitest run tests/integration env: HEVY_API_KEY: ${{ secrets.HEVY_API_KEY }} - name: Store initial version id: initial_version run: | set -euo pipefail VERSION=$(node -p "JSON.parse(require('fs').readFileSync('package.json','utf8')).version") echo "version=$VERSION" >> "$GITHUB_OUTPUT" - name: Release id: release_step run: npm run release env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} NPM_TOKEN: ${{ secrets.NPM_TOKEN }} - name: Check if release was created id: release run: | set -euo pipefail NEW_VERSION=$(node -p "JSON.parse(require('fs').readFileSync('package.json','utf8')).version") if [ "$NEW_VERSION" != "${{ steps.initial_version.outputs.version }}" ]; then { echo "version=$NEW_VERSION" echo "released=true" } >> "$GITHUB_OUTPUT" echo "Release created: $NEW_VERSION" else echo "released=false" >> "$GITHUB_OUTPUT" echo "No release created" fi env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} NPM_TOKEN: ${{ secrets.NPM_TOKEN }} docker-release: runs-on: ubuntu-latest needs: release if: needs.release.outputs.released == 'true' steps: - name: Checkout repository uses: actions/checkout@v5 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Log in to GitHub Container Registry uses: docker/login-action@v3 with: registry: ghcr.io username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Extract metadata id: meta uses: docker/metadata-action@v5 with: images: ghcr.io/${{ github.repository }} tags: | type=semver,pattern={{version}},value=${{ needs.release.outputs.version }} type=semver,pattern={{major}}.{{minor}},value=${{ needs.release.outputs.version }} type=semver,pattern={{major}},value=${{ needs.release.outputs.version }} type=raw,value=latest - name: Build and push Docker image uses: docker/build-push-action@v6 with: context: . push: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} platforms: linux/amd64,linux/arm64 cache-from: type=gha cache-to: type=gha,mode=max

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/chrisdoc/hevy-mcp'

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