⬆️ upgrade Node.js to v22 #438
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Checks | |
on: | |
pull_request: | |
push: | |
branches: | |
- master | |
workflow_dispatch: | |
jobs: | |
pre_ci: | |
name: Prepare CI environment | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout Project | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 2 | |
- name: '[Push] Get commit message' | |
if: github.event_name == 'push' | |
id: push_get_commit_message | |
run: echo ::set-output name=push_commit_message::$(git log --format=%B -n 1 HEAD) | |
- name: '[Pull Request] Get commit message' | |
if: github.event_name == 'pull_request' | |
id: pr_get_commit_message | |
run: echo ::set-output name=pr_commit_message::$(git log --format=%B -n 1 HEAD^2) | |
- name: Add problem matchers | |
run: | | |
echo "::add-matcher::.github/problemMatchers/eslint-stylish.json" | |
echo "::add-matcher::.github/problemMatchers/tsc.json" | |
outputs: | |
commit_message: $( [ -z "${{ steps.pr_get_commit_message.outputs.pr_commit_message }}" ] && echo "${{ steps.push_get_commit_message.outputs.push_commit_message }}" || echo "${{ steps.pr_get_commit_message.outputs.pr_commit_message }}" ) | |
Linting: | |
name: Linting | |
runs-on: ubuntu-latest | |
if: "!contains(needs.pre_ci.outputs.commit_message, '[skip ci]')" | |
needs: pre_ci | |
steps: | |
- name: Checkout Project | |
uses: actions/checkout@v4 | |
- name: Use Node.js 16 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 16 | |
- name: Restore NodeJS Cache | |
uses: actions/cache@v4.1.1 | |
with: | |
path: node_modules | |
key: ${{ runner.os }}-16-${{ hashFiles('**/yarn.lock') }} | |
- name: Install Dependencies | |
run: yarn --frozen-lockfile | |
- name: Run ESLint | |
run: yarn lint --fix=false | |
Build: | |
name: Compiling source code | |
runs-on: ubuntu-latest | |
if: "!contains(needs.pre_ci.outputs.commit_message, '[skip ci]')" | |
needs: pre_ci | |
steps: | |
- name: Checkout Project | |
uses: actions/checkout@v4 | |
- name: Use Node.js 16 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 16 | |
- name: Restore NodeJS Cache | |
uses: actions/cache@v4.1.1 | |
with: | |
path: node_modules | |
key: ${{ runner.os }}-16-${{ hashFiles('**/yarn.lock') }} | |
- name: Install Dependencies | |
run: yarn --frozen-lockfile | |
- name: Compiling source code | |
run: yarn build |