Specif-ai MCP Server

Official
name: CI/CD on: push: branches: - main pull_request: branches: - main jobs: lint: name: Lint runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - name: Setup Bun uses: oven-sh/setup-bun@v2 with: bun-version-file: .tool-versions - name: Install dependencies run: bun install - name: Run format check run: bun run format:check test: name: Test needs: lint runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - name: Setup Bun uses: oven-sh/setup-bun@v2 with: bun-version-file: .tool-versions - name: Install dependencies run: bun install - name: Run tests run: bun run test build: name: Build needs: test runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - name: Setup Bun uses: oven-sh/setup-bun@v2 with: bun-version-file: .tool-versions - name: Install dependencies run: bun install - name: Make build script executable run: chmod +x build.sh - name: Version and Build run: | # Configure git git config --global user.email "github-actions[bot]@users.noreply.github.com" git config --global user.name "github-actions[bot]" # Build bun run build bun run build:npm - name: Upload build artifacts uses: actions/upload-artifact@v4 with: name: build-artifacts path: | build/ dist/ release: name: Release needs: build if: github.event_name == 'push' && github.ref == 'refs/heads/main' runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - name: Setup Bun uses: oven-sh/setup-bun@v2 with: bun-version-file: .tool-versions - name: Install dependencies run: bun install - name: Download build artifacts uses: actions/download-artifact@v4 with: name: build-artifacts path: . - name: Release env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} NODE_AUTH_TOKEN: ${{ secrets.NODE_AUTH_TOKEN }} run: | # Configure git git config --global user.email "github-actions[bot]@users.noreply.github.com" git config --global user.name "github-actions[bot]" # Configure npm for publishing echo "//registry.npmjs.org/:_authToken=${{ secrets.NODE_AUTH_TOKEN }}" >> ~/.npmrc echo "registry=https://registry.npmjs.org/" >> ~/.npmrc echo "always-auth=true" >> ~/.npmrc # Release bun run release:ci