Skip to main content
Glama
workflow.yaml5.09 kB
name: Workflow on: # Run on pushes to main.. push: branches: - main # ..and any pull request. pull_request: # Cancel any in progress run of the workflow for a given PR # This avoids building outdated code concurrency: group: ${{ github.workflow }}-${{ github.head_ref || github.ref }} cancel-in-progress: true jobs: check-for-sh: name: Check for .sh runs-on: ubuntu-latest steps: - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 - run: "echo '*** Do not write .sh scripts! ***'; ! find . -type f -name '*.sh' | grep ." lint: name: Lint runs-on: ubuntu-latest steps: - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 - uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0 with: node-version-file: 'package.json' check-latest: true - run: yarn - run: yarn typecheck - run: yarn format:check - run: yarn lint knip: name: Knip runs-on: ubuntu-latest steps: - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 - uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0 with: node-version-file: 'package.json' check-latest: true - run: yarn - run: yarn knip test: name: Test runs-on: ubuntu-latest timeout-minutes: 10 steps: - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 - uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0 with: node-version-file: 'package.json' check-latest: true - run: yarn - run: yarn test:ci # - name: Upload Coverage Report # uses: actions/upload-artifact@v3 # with: # path: coverage/lcov-report # - name: 'Upload coverage to Codecov' # uses: codecov/codecov-action@v3 publish: name: ${{ github.ref == 'refs/heads/main' && 'Publish' || 'Publish (dry-run)' }} # Only run if the test workflow succeeded or it's a PR (where we don't want to delay the dry run) if: ${{ github.event_name == 'pull_request' || github.ref == 'refs/heads/main' }} needs: - test - knip - lint - check-for-sh 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 trusted publishing and provenance environment: ${{ github.ref == 'refs/heads/main' && 'npm-publish' || null }} # extra protection for publishing to npm steps: - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 with: # Full git history is needed for release notes fetch-depth: 0 - id: auth uses: google-github-actions/auth@7c6bc770dae815cd3e89ee6cdf493a5fab2cc093 # v3.0.0 with: credentials_json: ${{ secrets.MAINNET_SERVICE_ACCOUNT_KEY }} - id: google-secrets uses: google-github-actions/get-secretmanager-secrets@bc9c54b29fdffb8a47776820a7d26e77b379d262 # v3.0.0 with: secrets: |- SLACK_WEBHOOK_URL:celo-mobile-mainnet/SLACK_ONCALL_WEBHOOK_URL - uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0 with: node-version-file: 'package.json' check-latest: true - run: yarn - name: Publish to NPM run: | if [ "${{ github.ref }}" = "refs/heads/main" ]; then yarn release else # Dry run to ensure it still works in case of deps changes # Note: we adjust the env a bit so it doesn't abort early with # "This run was triggered by a pull request and therefore a new version won't be published." # We're in dry run anyway. # Also skip npm plugin in dry-run to avoid OIDC token requirement GITHUB_REF="$GITHUB_HEAD_REF" yarn release --dry-run --no-ci --branches "$GITHUB_HEAD_REF" --plugins @semantic-release/commit-analyzer,@semantic-release/release-notes-generator,@semantic-release/github fi env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - uses: ravsamhq/notify-slack-action@be814b201e233b2dc673608aa46e5447c8ab13f2 # 2.5.0 if: ${{ !cancelled() && github.ref == 'refs/heads/main' }} with: status: ${{ job.status }} notification_title: '{workflow} has {status_message}' message_format: '{emoji} *{workflow}* {status_message}. <{run_url}|View Run>' footer: 'Repo: <{repo_url}|{repo}>' notify_when: 'failure' # Tag @supporthero on failures, can change to any slack group id mention_groups: 'S0277QUM4KB' mention_groups_when: 'failure' env: SLACK_WEBHOOK_URL: ${{ steps.google-secrets.outputs.SLACK_WEBHOOK_URL }}

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/divvi-xyz/divvi-mcp-server'

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