chore(workflow): use `node-version-file` instead of hardcoded `node-version` (#15658)

* chore(workflow): use `node-version-file` instead of hardcoded `node-version`

* chore: test min version
This commit is contained in:
zyoshoka 2025-05-04 14:14:09 +09:00 committed by GitHub
parent 0884605b62
commit a5fa9a2cef
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
13 changed files with 38 additions and 56 deletions

1
.github/min.node-version vendored Normal file
View File

@ -0,0 +1 @@
20.10.0

View File

@ -17,7 +17,6 @@ jobs:
strategy: strategy:
matrix: matrix:
node-version: [22.11.0]
api-json-name: [api-base.json, api-head.json] api-json-name: [api-base.json, api-head.json]
include: include:
- api-json-name: api-base.json - api-json-name: api-base.json
@ -32,10 +31,10 @@ jobs:
submodules: true submodules: true
- name: Setup pnpm - name: Setup pnpm
uses: pnpm/action-setup@v4.1.0 uses: pnpm/action-setup@v4.1.0
- name: Use Node.js ${{ matrix.node-version }} - name: Use Node.js
uses: actions/setup-node@v4.4.0 uses: actions/setup-node@v4.4.0
with: with:
node-version: ${{ matrix.node-version }} node-version-file: '.node-version'
cache: 'pnpm' cache: 'pnpm'
- run: pnpm i --frozen-lockfile - run: pnpm i --frozen-lockfile
- name: Check pnpm-lock.yaml - name: Check pnpm-lock.yaml

View File

@ -15,22 +15,17 @@ jobs:
contents: read contents: read
id-token: write id-token: write
strategy:
matrix:
node-version: [22.11.0]
steps: steps:
- uses: actions/checkout@v4.2.2 - uses: actions/checkout@v4.2.2
with: with:
submodules: true submodules: true
- name: Setup pnpm - name: Setup pnpm
uses: pnpm/action-setup@v4.1.0 uses: pnpm/action-setup@v4.1.0
- name: Use Node.js ${{ matrix.node-version }} - name: Use Node.js
uses: actions/setup-node@v4.4.0 uses: actions/setup-node@v4.4.0
with: with:
node-version: ${{ matrix.node-version }} node-version-file: '.node-version'
cache: 'pnpm' cache: 'pnpm'
registry-url: 'https://registry.npmjs.org'
- name: Publish package - name: Publish package
run: | run: |
pnpm i --frozen-lockfile pnpm i --frozen-lockfile

View File

@ -38,7 +38,7 @@ jobs:
run: git checkout "$(git rev-list --parents -n1 HEAD | cut -d" " -f3)" run: git checkout "$(git rev-list --parents -n1 HEAD | cut -d" " -f3)"
- name: Setup pnpm - name: Setup pnpm
uses: pnpm/action-setup@v4.1.0 uses: pnpm/action-setup@v4.1.0
- name: Use Node.js 20.x - name: Use Node.js
uses: actions/setup-node@v4.4.0 uses: actions/setup-node@v4.4.0
with: with:
node-version-file: '.node-version' node-version-file: '.node-version'

View File

@ -22,10 +22,11 @@ jobs:
unit: unit:
name: Unit tests (backend) name: Unit tests (backend)
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy: strategy:
matrix: matrix:
node-version: [22.11.0] node-version-file:
- .node-version
- .github/min.node-version
services: services:
postgres: postgres:
@ -61,10 +62,10 @@ jobs:
exit 1 exit 1
fi fi
done done
- name: Use Node.js ${{ matrix.node-version }} - name: Use Node.js
uses: actions/setup-node@v4.4.0 uses: actions/setup-node@v4.4.0
with: with:
node-version: ${{ matrix.node-version }} node-version-file: ${{ matrix.node-version-file }}
cache: 'pnpm' cache: 'pnpm'
- run: pnpm i --frozen-lockfile - run: pnpm i --frozen-lockfile
- name: Check pnpm-lock.yaml - name: Check pnpm-lock.yaml
@ -84,10 +85,11 @@ jobs:
e2e: e2e:
name: E2E tests (backend) name: E2E tests (backend)
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy: strategy:
matrix: matrix:
node-version: [22.11.0] node-version-file:
- .node-version
- .github/min.node-version
services: services:
postgres: postgres:
@ -108,10 +110,10 @@ jobs:
submodules: true submodules: true
- name: Setup pnpm - name: Setup pnpm
uses: pnpm/action-setup@v4.1.0 uses: pnpm/action-setup@v4.1.0
- name: Use Node.js ${{ matrix.node-version }} - name: Use Node.js
uses: actions/setup-node@v4.4.0 uses: actions/setup-node@v4.4.0
with: with:
node-version: ${{ matrix.node-version }} node-version-file: ${{ matrix.node-version-file }}
cache: 'pnpm' cache: 'pnpm'
- run: pnpm i --frozen-lockfile - run: pnpm i --frozen-lockfile
- name: Check pnpm-lock.yaml - name: Check pnpm-lock.yaml

View File

@ -21,7 +21,9 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy: strategy:
matrix: matrix:
node-version: [22.11.0] node-version-file:
- .node-version
- .github/min.node-version
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
with: with:
@ -43,10 +45,10 @@ jobs:
exit 1 exit 1
fi fi
done done
- name: Use Node.js ${{ matrix.node-version }} - name: Use Node.js
uses: actions/setup-node@v4.4.0 uses: actions/setup-node@v4.4.0
with: with:
node-version: ${{ matrix.node-version }} node-version-file: ${{ matrix.node-version-file }}
cache: 'pnpm' cache: 'pnpm'
- name: Build Misskey - name: Build Misskey
run: | run: |
@ -54,6 +56,7 @@ jobs:
pnpm build pnpm build
- name: Setup - name: Setup
run: | run: |
echo "NODE_VERSION=$(cat ${{ matrix.node-version-file }})" >> $GITHUB_ENV
cd packages/backend/test-federation cd packages/backend/test-federation
bash ./setup.sh bash ./setup.sh
sudo chmod 644 ./certificates/*.test.key sudo chmod 644 ./certificates/*.test.key

View File

@ -27,20 +27,16 @@ jobs:
name: Unit tests (frontend) name: Unit tests (frontend)
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy:
matrix:
node-version: [22.11.0]
steps: steps:
- uses: actions/checkout@v4.2.2 - uses: actions/checkout@v4.2.2
with: with:
submodules: true submodules: true
- name: Setup pnpm - name: Setup pnpm
uses: pnpm/action-setup@v4.1.0 uses: pnpm/action-setup@v4.1.0
- name: Use Node.js ${{ matrix.node-version }} - name: Use Node.js
uses: actions/setup-node@v4.4.0 uses: actions/setup-node@v4.4.0
with: with:
node-version: ${{ matrix.node-version }} node-version-file: '.node-version'
cache: 'pnpm' cache: 'pnpm'
- run: pnpm i --frozen-lockfile - run: pnpm i --frozen-lockfile
- name: Check pnpm-lock.yaml - name: Check pnpm-lock.yaml
@ -64,7 +60,6 @@ jobs:
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
node-version: [22.11.0]
browser: [chrome] browser: [chrome]
services: services:
@ -92,10 +87,10 @@ jobs:
# if: ${{ matrix.browser == 'firefox' }} # if: ${{ matrix.browser == 'firefox' }}
- name: Setup pnpm - name: Setup pnpm
uses: pnpm/action-setup@v4.1.0 uses: pnpm/action-setup@v4.1.0
- name: Use Node.js ${{ matrix.node-version }} - name: Use Node.js
uses: actions/setup-node@v4.4.0 uses: actions/setup-node@v4.4.0
with: with:
node-version: ${{ matrix.node-version }} node-version-file: '.node-version'
cache: 'pnpm' cache: 'pnpm'
- run: pnpm i --frozen-lockfile - run: pnpm i --frozen-lockfile
- name: Copy Configure - name: Copy Configure

View File

@ -20,11 +20,6 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy:
matrix:
node-version: [22.11.0]
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4.2.2 uses: actions/checkout@v4.2.2
@ -32,10 +27,10 @@ jobs:
- name: Setup pnpm - name: Setup pnpm
uses: pnpm/action-setup@v4.1.0 uses: pnpm/action-setup@v4.1.0
- name: Setup Node.js ${{ matrix.node-version }} - name: Setup Node.js
uses: actions/setup-node@v4.4.0 uses: actions/setup-node@v4.4.0
with: with:
node-version: ${{ matrix.node-version }} node-version-file: '.node-version'
cache: 'pnpm' cache: 'pnpm'
- name: Install dependencies - name: Install dependencies

View File

@ -15,20 +15,16 @@ jobs:
name: Production build name: Production build
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy:
matrix:
node-version: [22.11.0]
steps: steps:
- uses: actions/checkout@v4.2.2 - uses: actions/checkout@v4.2.2
with: with:
submodules: true submodules: true
- name: Setup pnpm - name: Setup pnpm
uses: pnpm/action-setup@v4.1.0 uses: pnpm/action-setup@v4.1.0
- name: Use Node.js ${{ matrix.node-version }} - name: Use Node.js
uses: actions/setup-node@v4.4.0 uses: actions/setup-node@v4.4.0
with: with:
node-version: ${{ matrix.node-version }} node-version-file: '.node-version'
cache: 'pnpm' cache: 'pnpm'
- run: pnpm i --frozen-lockfile - run: pnpm i --frozen-lockfile
- name: Check pnpm-lock.yaml - name: Check pnpm-lock.yaml

View File

@ -16,20 +16,16 @@ jobs:
validate-api-json: validate-api-json:
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy:
matrix:
node-version: [22.11.0]
steps: steps:
- uses: actions/checkout@v4.2.2 - uses: actions/checkout@v4.2.2
with: with:
submodules: true submodules: true
- name: Setup pnpm - name: Setup pnpm
uses: pnpm/action-setup@v4.1.0 uses: pnpm/action-setup@v4.1.0
- name: Use Node.js ${{ matrix.node-version }} - name: Use Node.js
uses: actions/setup-node@v4.4.0 uses: actions/setup-node@v4.4.0
with: with:
node-version: ${{ matrix.node-version }} node-version-file: '.node-version'
cache: 'pnpm' cache: 'pnpm'
- name: Install Redocly CLI - name: Install Redocly CLI
run: npm i -g @redocly/cli run: npm i -g @redocly/cli

View File

@ -10,15 +10,15 @@ cd packages/backend/test-federation
First, you need to start servers by executing following commands: First, you need to start servers by executing following commands:
```sh ```sh
bash ./setup.sh bash ./setup.sh
docker compose up --scale tester=0 NODE_VERSION=22 docker compose up --scale tester=0
``` ```
Then you can run all tests by a following command: Then you can run all tests by a following command:
```sh ```sh
docker compose run --no-deps --rm tester NODE_VERSION=22 docker compose run --no-deps --rm tester
``` ```
For testing a specific file, run a following command: For testing a specific file, run a following command:
```sh ```sh
docker compose run --no-deps --rm tester -- pnpm -F backend test:fed packages/backend/test-federation/test/user.test.ts NODE_VERSION=22 docker compose run --no-deps --rm tester -- pnpm -F backend test:fed packages/backend/test-federation/test/user.test.ts
``` ```

View File

@ -12,7 +12,7 @@ services:
retries: 20 retries: 20
misskey: misskey:
image: node:20 image: node:${NODE_VERSION}
env_file: env_file:
- ./.config/docker.env - ./.config/docker.env
environment: environment:

View File

@ -16,7 +16,7 @@ services:
" "
tester: tester:
image: node:20 image: node:${NODE_VERSION}
depends_on: depends_on:
a.test: a.test:
condition: service_healthy condition: service_healthy
@ -85,7 +85,7 @@ services:
command: pnpm -F backend test:fed command: pnpm -F backend test:fed
daemon: daemon:
image: node:20 image: node:${NODE_VERSION}
depends_on: depends_on:
redis.test: redis.test:
condition: service_healthy condition: service_healthy