Skip to content

ci: set up npm trusted publishing #237

ci: set up npm trusted publishing

ci: set up npm trusted publishing #237

Workflow file for this run

name: CI
on:
push:
branches:
- main
tags:
- "!*"
pull_request:
permissions:
contents: read
jobs:
test:
name: Node ${{ matrix.node }} and ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
node: [22]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
- name: Print Node Version
run: node --version
- name: Install Dependencies
run: yarn install
- name: Install Test Dependencies
run: yarn install
working-directory: test/project-chunking
- name: Run Tests
run: yarn test
# - name: Run yarn pnp tests
# if: matrix.os == 'ubuntu-latest'
# run: yarn test-pnp
- name: Coverage
if: matrix.os == 'ubuntu-latest'
run: yarn test-coverage
release:
name: Release
needs: test
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
runs-on: ubuntu-latest
permissions:
contents: write # to create the GitHub release and push the tag
issues: write # to comment on released issues
pull-requests: write # to comment on released pull requests
id-token: write # to use OIDC for npm trusted publishing and provenance
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version: 22
- name: Install Dependencies
run: yarn install
- name: Release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: yarn semantic-release