feat(ci): new release flow, linting

# Conflicts:
#	.github/workflows/pr-lint.yml
#	.github/workflows/stale.yml
#	.github/workflows/sync-labels.yml

# Conflicts:
#	yarn.lock
This commit is contained in:
2025-06-24 03:26:45 +03:00
parent b8e2a742f5
commit ad609c6c9a
12 changed files with 109 additions and 73 deletions

View File

@@ -1,10 +1,8 @@
---
# yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json
name: Lint Code Base
name: Lint PR Code Base
on:
push:
branches: [master, main]
pull_request:
branches: [master, main]
@@ -25,6 +23,14 @@ jobs:
packages: read
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Yarn Lock Changes
uses: Simek/yarn-lock-changes@34017425198654c20162a4dfd4f238fbece9636f # v0.12.1
with:
token: ${{ secrets.GITHUB_TOKEN }}
- name: Run PR Lint
# https://github.com/ivuorinen/actions
uses: ivuorinen/actions/pr-lint@fbbb487332f2b01379192eecb73f7252f1cc54d4 # v2025.11.30

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

@@ -0,0 +1,62 @@
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@99f3911475dbb5b8d43d314b24c0882997433868 # 25.6.23
publish:
name: Publish
runs-on: ubuntu-latest
needs:
- Linter
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
fetch-depth: 0
- name: Setup Node.js Environment
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.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