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/npmvcGitHub 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
- Run
npmvc initlocally - Copy:
cat ~/.npmvc/wallet/key.json | pbcopy - Settings → Secrets → Actions → New secret
- 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 publishSyncing to npmvc.com
npmvc attest --registry https://npmvc.comVerification in CI
npmvc verify --json > report.json