Skip to content

Commit 2e6a528

Browse files
committed
ci: split release workflow file
1 parent 765da02 commit 2e6a528

File tree

5 files changed

+95
-82
lines changed

5 files changed

+95
-82
lines changed

.github/workflows/ci.yml

-82
This file was deleted.

.github/workflows/release.yml

+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
name: CI
2+
3+
on: push
4+
5+
jobs:
6+
unit-test:
7+
uses: ./.github/workflows/test-unit.yml
8+
integration-test:
9+
uses: ./.github/workflows/test-integration.yml
10+
e2e-test:
11+
uses: ./.github/workflows/test-e2e.yml
12+
release:
13+
runs-on: ubuntu-latest
14+
needs:
15+
- unit-test
16+
- integration-test
17+
- e2e-test
18+
if: github.ref == 'refs/heads/master'
19+
steps:
20+
- uses: actions/checkout@v4
21+
- name: npm install
22+
run: npm install
23+
- name: Build
24+
run: npm run build
25+
- name: Release
26+
uses: cycjimmy/semantic-release-action@v3
27+
with:
28+
extra_plugins: |
29+
@semantic-release/changelog
30+
@semantic-release/git
31+
branch: master
32+
env:
33+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
34+
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}

.github/workflows/test-e2e.yml

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
name: E2E test
2+
on: workflow_call
3+
jobs:
4+
e2e-test:
5+
runs-on: ${{ matrix.os }}-latest
6+
strategy:
7+
matrix:
8+
os:
9+
- ubuntu
10+
- windows
11+
node:
12+
- "18.x" # Oldest supported lts
13+
- "20.x" # Newest lts
14+
- "22.x" # Latest
15+
name: E2E Tests
16+
steps:
17+
- uses: actions/checkout@v4
18+
- name: setup node.js
19+
uses: actions/setup-node@v4
20+
with:
21+
node-version: ${{ matrix.node }}
22+
- name: install deps
23+
run: npm ci
24+
- name: build
25+
run: npm run build
26+
- name: run tests
27+
run: npm run test:e2e
+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
2+
name: Integration test
3+
on: workflow_call
4+
jobs:
5+
integration-test:
6+
runs-on: ubuntu-latest
7+
name: Integration Tests
8+
steps:
9+
- name: Checkout repo
10+
uses: actions/checkout@v4
11+
- name: Setup Node.js
12+
uses: actions/setup-node@v4
13+
with:
14+
node-version: "22.x"
15+
- name: Install dependencies
16+
run: npm ci
17+
- name: Run tests
18+
run: npm run test:integration

.github/workflows/test-unit.yml

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
name: Unit test
2+
on: workflow_call
3+
jobs:
4+
unit-test:
5+
runs-on: ubuntu-latest
6+
name: Unit Tests
7+
steps:
8+
- uses: actions/checkout@v4
9+
- name: Setup Node.js
10+
uses: actions/setup-node@v4
11+
with:
12+
node-version: "22.x"
13+
- name: npm ci
14+
run: npm ci
15+
- name: Unit tests
16+
run: npm run test:unit

0 commit comments

Comments
 (0)