Skip to content

Commit da21b54

Browse files
authored
ci: split e2e to independent workflow (#339)
1 parent f8e5f4b commit da21b54

3 files changed

Lines changed: 135 additions & 86 deletions

File tree

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
name: 'Download Rolldown Binaries'
2+
description: 'Download previous release rolldown binaries and upload as artifact'
3+
4+
inputs:
5+
github-token:
6+
description: 'GitHub token for accessing GitHub Package Registry'
7+
required: true
8+
9+
runs:
10+
using: 'composite'
11+
steps:
12+
- name: Install previous release
13+
shell: bash
14+
run: |
15+
echo "//npm.pkg.github.com/:_authToken=${GITHUB_TOKEN}" >> ~/.npmrc
16+
echo "@voidzero-dev:registry=https://npm.pkg.github.com/" >> ~/.npmrc
17+
export VERSION=$(npm view --json @voidzero-dev/vite-plus-core | jq -r '.version')
18+
npm pack "@voidzero-dev/vite-plus-core@${VERSION}"
19+
tar -xzf voidzero-dev-vite-plus-core-${VERSION}.tgz
20+
env:
21+
GITHUB_TOKEN: ${{ inputs.github-token }}
22+
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
23+
with:
24+
name: rolldown-binaries
25+
path: ./package/dist/rolldown/shared/rolldown-binding.*.node
26+
if-no-files-found: error

.github/workflows/ci.yml

Lines changed: 3 additions & 86 deletions
Original file line numberDiff line numberDiff line change
@@ -31,20 +31,10 @@ jobs:
3131
contents: read
3232
packages: read
3333
steps:
34-
- name: Install previous release
35-
run: |
36-
echo "//npm.pkg.github.com/:_authToken=${GITHUB_TOKEN}" >> ~/.npmrc
37-
echo "@voidzero-dev:registry=https://npm.pkg.github.com/" >> ~/.npmrc
38-
export VERSION=$(npm view --json @voidzero-dev/vite-plus-core | jq -r '.version')
39-
npm pack "@voidzero-dev/vite-plus-core@${VERSION}"
40-
tar -xzf voidzero-dev-vite-plus-core-${VERSION}.tgz
41-
env:
42-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
43-
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
34+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
35+
- uses: ./.github/actions/download-rolldown-binaries
4436
with:
45-
name: rolldown-binaries
46-
path: ./package/dist/rolldown/shared/rolldown-binding.*.node
47-
if-no-files-found: error
37+
github-token: ${{ secrets.GITHUB_TOKEN }}
4838
test:
4939
name: Test
5040
strategy:
@@ -218,79 +208,6 @@ jobs:
218208
RUST_BACKTRACE=1 pnpm -r snap-test
219209
git diff --exit-code
220210
221-
e2e-test:
222-
name: ${{ matrix.project.name }} E2E test
223-
needs:
224-
- download-previous-rolldown-binaries
225-
runs-on: ubuntu-latest
226-
strategy:
227-
fail-fast: false
228-
matrix:
229-
project:
230-
- name: vibe-dashboard
231-
node-version: 24
232-
command: vite run ready
233-
- name: skeleton
234-
node-version: 22
235-
command: |
236-
pnpm run --filter="@skeletonlabs/*" --sequential build
237-
pnpm test
238-
if: ${{ github.ref_name == 'main' }}
239-
steps:
240-
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
241-
- uses: ./.github/actions/clone
242-
with:
243-
ecosystem-ci-project: ${{ matrix.project.name }}
244-
245-
- name: Configure Git for access to vite-task
246-
run: git config --global url."https://x-access-token:${{ secrets.VITE_TASK_TOKEN }}@github.com/".insteadOf "https://github.com/"
247-
248-
- uses: oxc-project/setup-rust@d286d43bc1f606abbd98096666ff8be68c8d5f57 # v1.0.0
249-
with:
250-
save-cache: ${{ github.ref_name == 'main' }}
251-
cache-key: e2e-test
252-
253-
- uses: oxc-project/setup-node@fdbf0dfd334c4e6d56ceeb77d91c76339c2a0885 # v1.0.4
254-
255-
- uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
256-
with:
257-
name: rolldown-binaries
258-
path: ./rolldown/packages/rolldown/src
259-
merge-multiple: true
260-
261-
- name: Build with upstream
262-
uses: ./.github/actions/build-upstream
263-
with:
264-
target: x86_64-unknown-linux-gnu
265-
266-
- name: Build all packages
267-
run: pnpm bootstrap-cli:ci
268-
269-
- name: Pack packages into tgz
270-
run: |
271-
mkdir -p tmp/tgz
272-
cd packages/core && pnpm pack --pack-destination ../../tmp/tgz && cd ../..
273-
cd packages/test && pnpm pack --pack-destination ../../tmp/tgz && cd ../..
274-
cd packages/cli && pnpm pack --pack-destination ../../tmp/tgz && cd ../..
275-
cd packages/global && pnpm pack --pack-destination ../../tmp/tgz && cd ../..
276-
ls -la tmp/tgz
277-
278-
- uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5
279-
with:
280-
node-version: ${{ matrix.project.node-version }}
281-
package-manager-cache: false
282-
283-
- name: Install vite-plus from tgz in ${{ matrix.project.name }}
284-
working-directory: ecosystem-ci/${{ matrix.project.name }}
285-
run: |
286-
node ../patch-project.ts ${{ matrix.project.name }}
287-
pnpm install --no-frozen-lockfile
288-
pnpm playwright install --with-deps
289-
290-
- name: Run vite-plus commands in ${{ matrix.project.name }}
291-
working-directory: ecosystem-ci/${{ matrix.project.name }}
292-
run: ${{ matrix.project.command }}
293-
294211
install-e2e-test:
295212
name: vite install E2E test
296213
# FIXME: Error: spawnSync esbuild ENOTSOCK

.github/workflows/e2e-test.yml

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
name: E2E Test
2+
3+
permissions: {}
4+
5+
on:
6+
workflow_dispatch:
7+
push:
8+
branches:
9+
- main
10+
paths-ignore:
11+
- '**/*.md'
12+
13+
concurrency:
14+
group: ${{ github.workflow }}-${{ github.sha }}
15+
cancel-in-progress: ${{ github.ref_name != 'main' }}
16+
17+
defaults:
18+
run:
19+
shell: bash
20+
21+
jobs:
22+
download-previous-rolldown-binaries:
23+
runs-on: ubuntu-latest
24+
permissions:
25+
contents: read
26+
packages: read
27+
steps:
28+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
29+
- uses: ./.github/actions/download-rolldown-binaries
30+
with:
31+
github-token: ${{ secrets.GITHUB_TOKEN }}
32+
33+
e2e-test:
34+
name: ${{ matrix.project.name }} E2E test
35+
permissions:
36+
contents: read
37+
packages: read
38+
needs:
39+
- download-previous-rolldown-binaries
40+
runs-on: ubuntu-latest
41+
strategy:
42+
fail-fast: false
43+
matrix:
44+
project:
45+
- name: vibe-dashboard
46+
node-version: 24
47+
command: vite run ready
48+
- name: skeleton
49+
node-version: 22
50+
command: |
51+
pnpm run --filter="@skeletonlabs/*" --sequential build
52+
pnpm test
53+
steps:
54+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
55+
- uses: ./.github/actions/clone
56+
with:
57+
ecosystem-ci-project: ${{ matrix.project.name }}
58+
59+
- name: Configure Git for access to vite-task
60+
run: git config --global url."https://x-access-token:${{ secrets.VITE_TASK_TOKEN }}@github.com/".insteadOf "https://github.com/"
61+
62+
- uses: oxc-project/setup-rust@d286d43bc1f606abbd98096666ff8be68c8d5f57 # v1.0.0
63+
with:
64+
save-cache: ${{ github.ref_name == 'main' }}
65+
cache-key: e2e-test
66+
67+
- uses: oxc-project/setup-node@fdbf0dfd334c4e6d56ceeb77d91c76339c2a0885 # v1.0.4
68+
69+
- uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
70+
with:
71+
name: rolldown-binaries
72+
path: ./rolldown/packages/rolldown/src
73+
merge-multiple: true
74+
75+
- name: Build with upstream
76+
uses: ./.github/actions/build-upstream
77+
with:
78+
target: x86_64-unknown-linux-gnu
79+
80+
- name: Build all packages
81+
run: pnpm bootstrap-cli:ci
82+
83+
- name: Pack packages into tgz
84+
run: |
85+
mkdir -p tmp/tgz
86+
cd packages/core && pnpm pack --pack-destination ../../tmp/tgz && cd ../..
87+
cd packages/test && pnpm pack --pack-destination ../../tmp/tgz && cd ../..
88+
cd packages/cli && pnpm pack --pack-destination ../../tmp/tgz && cd ../..
89+
cd packages/global && pnpm pack --pack-destination ../../tmp/tgz && cd ../..
90+
ls -la tmp/tgz
91+
92+
- uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5
93+
with:
94+
node-version: ${{ matrix.project.node-version }}
95+
package-manager-cache: false
96+
97+
- name: Install vite-plus from tgz in ${{ matrix.project.name }}
98+
working-directory: ecosystem-ci/${{ matrix.project.name }}
99+
run: |
100+
node ../patch-project.ts ${{ matrix.project.name }}
101+
pnpm install --no-frozen-lockfile
102+
pnpm playwright install --with-deps
103+
104+
- name: Run vite-plus commands in ${{ matrix.project.name }}
105+
working-directory: ecosystem-ci/${{ matrix.project.name }}
106+
run: ${{ matrix.project.command }}

0 commit comments

Comments
 (0)