Skip to content

Remove README content for retired NASA APIs and missing scripts (#14) #70

Remove README content for retired NASA APIs and missing scripts (#14)

Remove README content for retired NASA APIs and missing scripts (#14) #70

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
permissions:
contents: read
concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true
jobs:
test:
name: test (${{ matrix.os }}, node ${{ matrix.node }})
runs-on: ${{ matrix.os }}
timeout-minutes: 25
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest]
node: ['22.x', '24.x']
include:
- os: macos-latest
node: '24.x'
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version: ${{ matrix.node }}
cache: npm
- name: Install (clean, from lockfile)
run: npm ci
- name: Lockfile unchanged by install
shell: bash
run: git diff --exit-code -- package-lock.json package.json
- name: Lint
run: npm run lint
- name: Typecheck
run: npm run typecheck
- name: Build from a clean state
run: |
npm run clean
npm run build
- name: Tool docs match the registry
run: npm run docs:check
- name: Tests (unit + stdio/HTTP integration, no network)
run: npm test
- name: Pack
shell: bash
run: |
npm pack --json > pack.json
node -e "const p=require('./pack.json')[0];console.log(p.filename, p.integrity, p.entryCount + ' files')"
- name: Package gate (install tarball outside the repo, run MCP tests against its bin)
shell: bash
run: node scripts/package-smoke.mjs --tarball "$(node -p "require('./pack.json')[0].filename")" --report package-smoke-report.json
- name: Upload package report
if: always()
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: package-report-${{ matrix.os }}-node${{ matrix.node }}
path: |
pack.json
package-smoke-report.json
if-no-files-found: ignore
audit:
name: production dependency audit
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version: '24.x'
cache: npm
- run: npm ci
- name: npm audit (runtime dependencies, high and above)
run: npm audit --omit=dev --audit-level=high