Skip to content

Restructure the repository #1

Restructure the repository

Restructure the repository #1

name: Publish
on:
push:
branches:
- main
concurrency: ${{ github.workflow }}-${{ github.ref }}
# Disable all permissions by default, requiring explicit permission definitions for all jobs.
permissions: {}
jobs:
check:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: false
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: 22
cache: npm
registry-url: "https://registry.npmjs.org"
- run: npm ci
- run: npm run lint
- run: npm run typecheck
- run: npm test
publish:
needs: check
runs-on: ubuntu-latest
permissions:
contents: write
id-token: write
pull-requests: write
issues: read
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: false
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: 22
cache: npm
registry-url: "https://registry.npmjs.org"
# Ensure npm 11.5.1 or later is installed for OIDC authentication.
- name: Update npm
run: npm install -g npm@latest
- name: Install dependencies
run: npm ci
- name: Create Release Pull Request or Publish to npm
id: changesets
uses: changesets/action@e0145edc7d9d8679003495b11f87bd8ef63c0cba # v1.5.3
with:
version: npm run bump
publish: npm run release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}