chore: update GitHub workflows, add release automation, and improve configurations (#77)

* feat(ci): new release flow, linting

* chore: upgrade yarn, regenerate yarn.lock

* fix(ci): add pull-requests write permission

* feat: clean and upgrade packages, fix workflows, cleanup
This commit is contained in:
2025-12-04 01:39:00 +02:00
committed by GitHub
parent c4c2396719
commit 4ff96783d7
19 changed files with 917 additions and 619 deletions

76
.github/workflows/publish.yml vendored Normal file
View File

@@ -0,0 +1,76 @@
---
name: Publish
on:
push:
branches:
- main
permissions: read-all
env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
jobs:
Linter:
name: Lint
runs-on: ubuntu-latest
timeout-minutes: 15
permissions:
statuses: write
contents: read
packages: read
issues: write
pull-requests: write
steps:
- name: Run PR Lint
# https://github.com/ivuorinen/actions
uses: ivuorinen/actions/pr-lint@a52399cf74eac2b0963591ab2c6c8eb0f7f50b2d # v2025.12.03
publish:
name: Publish
runs-on: ubuntu-latest
needs:
- Linter
permissions:
contents: write # to be able to publish a GitHub release
issues: write # to be able to comment on released issues
pull-requests: write # to be able to comment on released pull requests
id-token: write # to enable use of OIDC for npm provenance
steps:
- name: Checkout
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
with:
fetch-depth: 0
- name: Setup Node.js Environment
uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
with:
always-auth: true
node-version-file: ".nvmrc"
registry-url: "https://registry.npmjs.org"
scope: "@ivuorinen"
- name: Install and enable corepack
shell: sh
run: npm install -g corepack --force && corepack enable
- name: Cache Node Modules
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
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: Semantic Release
uses: cycjimmy/semantic-release-action@b12c8f6015dc215fe37bc154d4ad456dd3833c90 # v6.0.0
env:
GITHUB_TOKEN: ${{ secrets.PAT }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}