Docs / Guides / CI/CD integration

CI/CD Integration

Automate attestation signing in your CI pipeline.

Install

Add @ajna-inc/npmvc as a dev dependency so it's available in CI:

npm install -D @ajna-inc/npmvc

GitHub Actions

name: Publish
on:
  push:
    tags: ['v*']

jobs:
  publish:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 20
          registry-url: https://registry.npmjs.org
      - run: npm ci
      - run: npm run build
      - name: Install npmvc
        run: npm install -g @ajna-inc/npmvc
      - name: Attest
        env:
          NPMVC_KEY: ${{ secrets.NPMVC_KEY }}
        run: npmvc attest --registry https://npmvc.com
      - run: npm publish --access public
        env:
          NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

Setting up the secret

  1. Run npmvc init locally
  2. Copy: cat ~/.npmvc/wallet/key.json | pbcopy
  3. Settings → Secrets → Actions → New secret
  4. Name: NPMVC_KEY, Value: paste the JSON

GitLab CI

publish:
  stage: deploy
  variables:
    NPMVC_KEY: $NPMVC_KEY
  script:
    - npm install -g @ajna-inc/npmvc
    - npm ci && npm run build
    - npmvc attest --registry https://npmvc.com
    - npm publish

Syncing to npmvc.com

npmvc attest --registry https://npmvc.com

Verification in CI

npmvc verify --json > report.json
← previousREST APInext →Key management