Skip to content

v7.0.25

v7.0.25 #26

Workflow file for this run

name: Release to npm (provenance)
on:
workflow_dispatch:
release:
types: [published]
permissions:
contents: read
id-token: write
jobs:
publish:
if: github.repository == 'recodeee/gitguardex'
runs-on: ubuntu-latest
environment: npm
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
fetch-depth: 0
- name: Setup Node
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
node-version: 22
registry-url: https://registry.npmjs.org
cache: npm
- name: Install
run: npm ci --ignore-scripts
- name: Verify
run: |
npm test
node --check bin/multiagent-safety.js
npm pack --dry-run
- name: Resolve package metadata
id: pkg
run: |
echo "name=$(node -p "require('./package.json').name")" >> "$GITHUB_OUTPUT"
echo "version=$(node -p "require('./package.json').version")" >> "$GITHUB_OUTPUT"
- name: Check npm registry for current version
id: registry
env:
PACKAGE_NAME: ${{ steps.pkg.outputs.name }}
PACKAGE_VERSION: ${{ steps.pkg.outputs.version }}
run: |
if npm view "${PACKAGE_NAME}@${PACKAGE_VERSION}" version >/dev/null 2>&1; then
echo "already_published=true" >> "$GITHUB_OUTPUT"
else
echo "already_published=false" >> "$GITHUB_OUTPUT"
fi
- name: Publish with provenance
if: ${{ steps.registry.outputs.already_published != 'true' }}
run: npm publish --provenance --access public
- name: Skip already-published npm version
if: ${{ steps.registry.outputs.already_published == 'true' }}
env:
PACKAGE_NAME: ${{ steps.pkg.outputs.name }}
PACKAGE_VERSION: ${{ steps.pkg.outputs.version }}
run: echo "${PACKAGE_NAME}@${PACKAGE_VERSION} is already on npm; skipping publish."