name: Publish on: push: branches: - main permissions: read-all jobs: Linter: name: Lint runs-on: ubuntu-latest timeout-minutes: 15 permissions: statuses: write contents: read packages: read steps: - name: Run PR Lint # https://github.com/ivuorinen/actions uses: ivuorinen/actions/pr-lint@abe24f85700ccc1ee47e70f4ebcf49d97ec60ce9 # v2025.11.29 publish: name: Publish runs-on: ubuntu-latest needs: - Linter steps: - name: Checkout uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0 with: fetch-depth: 0 - name: Setup Node.js Environment uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0 with: always-auth: true node-version-file: '.nvmrc' registry-url: 'https://registry.npmjs.org' scope: '@ivuorinen' - name: Cache Node Modules uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 id: cache with: path: node_modules key: node-modules-${{ hashFiles('**/yarn.lock') }} - name: Install Dependencies shell: bash if: steps.cache.outputs.cache-hit != 'true' run: yarn install - name: Release shell: bash env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} NPM_TOKEN: ${{ secrets.NPM_TOKEN }} run: yarn run semantic-release