2929 persist-credentials : false
3030 submodules : true
3131
32+ - uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
33+ with :
34+ repository : rolldown/rolldown
35+ path : rolldown
36+ ref : main
37+
38+ - uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
39+ with :
40+ repository : vitejs/rolldown-vite
41+ path : rolldown-vite
42+ ref : rolldown-vite
43+ - uses : actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
3244 - uses : oxc-project/setup-rust@d286d43bc1f606abbd98096666ff8be68c8d5f57 # v1.0.2
3345 with :
3446 save-cache : ${{ github.ref_name == 'main' }}
3749 - name : Rustup Adds Target
3850 run : rustup target add ${{ matrix.settings.target }}
3951
52+ - name : Rustup Adds Target for rolldown
53+ working-directory : rolldown
54+ run : rustup target add ${{ matrix.settings.target }}
55+
4056 - name : Add musl target (x86_64)
4157 if : ${{ matrix.settings.target == 'x86_64-unknown-linux-gnu' }}
4258 run : rustup target add x86_64-unknown-linux-musl
@@ -45,35 +61,68 @@ jobs:
4561 if : ${{ matrix.settings.target == 'aarch64-unknown-linux-gnu' }}
4662 run : rustup target add aarch64-unknown-linux-musl
4763
64+ - name : Add rolldown host target
65+ if : ${{ matrix.settings.target == 'aarch64-unknown-linux-gnu' }}
66+ working-directory : rolldown
67+ run : rustup target add x86_64-unknown-linux-gnu
68+
4869 - uses : oxc-project/setup-node@fdbf0dfd334c4e6d56ceeb77d91c76339c2a0885 # v1.0.4
4970
71+ - name : Build host rolldown
72+ if : ${{ matrix.settings.target == 'aarch64-unknown-linux-gnu' }}
73+ run : pnpm --filter rolldown build-binding:release --target x86_64-unknown-linux-gnu
74+
5075 - name : Set binding version
5176 run : pnpm exec tool replace-file-content packages/cli/binding/Cargo.toml 'version = "0.0.0"' 'version = "0.0.0-${{ github.sha }}"'
5277
5378 - name : Build
5479 if : ${{ matrix.settings.target == 'x86_64-unknown-linux-gnu' }}
55- run : pnpm --filter=@voidzero-dev/vite-plus build --target ${{ matrix.settings.target }} --use-napi-cross
80+ run : |
81+ pnpm --filter @rolldown/pluginutils build
82+ pnpm --filter rolldown build-binding:release --target ${{ matrix.settings.target }} --use-napi-cross
83+ pnpm --filter rolldown build-node
84+ pnpm --filter rolldown-vite build-types
85+ CC="x86_64-unknown-linux-gnu-cc" pnpm --filter=@voidzero-dev/vite-plus build --target ${{ matrix.settings.target }} --use-napi-cross
5686 env :
57- CC : x86_64-unknown-linux-gnu-cc
5887 TARGET_CC : clang
5988
6089 - name : Build
6190 if : ${{ matrix.settings.target == 'aarch64-unknown-linux-gnu' }}
62- run : pnpm --filter=@voidzero-dev/vite-plus build --target ${{ matrix.settings.target }} --use-napi-cross
91+ run : |
92+ pnpm --filter @rolldown/pluginutils build
93+ pnpm --filter rolldown build-binding:release --target ${{ matrix.settings.target }} --use-napi-cross
94+ pnpm --filter rolldown build-node
95+ pnpm --filter rolldown-vite build-types
96+ pnpm --filter=@voidzero-dev/vite-plus build --target ${{ matrix.settings.target }} --use-napi-cross
6397 env :
6498 TARGET_CC : clang
6599
66100 - name : Build
67101 if : ${{ !contains(matrix.settings.target, 'linux') }}
68- run : pnpm --filter=@voidzero-dev/vite-plus build --target ${{ matrix.settings.target }}
102+ run : |
103+ pnpm --filter @rolldown/pluginutils build
104+ pnpm --filter rolldown build-binding:release --target ${{ matrix.settings.target }}
105+ pnpm --filter rolldown build-node
106+ pnpm --filter rolldown-vite build-types
107+ pnpm --filter=@voidzero-dev/vite-plus build --target ${{ matrix.settings.target }}
69108
70- - name : Upload artifact
109+ - name : Upload Vite+ artifact
71110 uses : actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
72111 with :
73- name : bindings -${{ matrix.settings.target }}
112+ name : vite-plus-native -${{ matrix.settings.target }}
74113 path : ./packages/cli/binding/*.node
75114 if-no-files-found : error
76115
116+ - name : Upload rolldown artifact
117+ uses : actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
118+ with :
119+ name : rolldown-native-${{ matrix.settings.target }}
120+ path : ./rolldown/packages/rolldown/src/*.node
121+ if-no-files-found : error
122+ - name : Remove .node files before upload dist
123+ if : ${{ matrix.settings.target == 'x86_64-unknown-linux-gnu' }}
124+ run : rm ./packages/cli/dist/**/*.node
125+
77126 - name : Upload cli dist
78127 uses : actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
79128 if : ${{ matrix.settings.target == 'x86_64-unknown-linux-gnu' }}
@@ -93,11 +142,19 @@ jobs:
93142 with :
94143 persist-credentials : false
95144 submodules : true
145+ - uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
146+ with :
147+ repository : rolldown/rolldown
148+ path : rolldown
149+ ref : main
96150
97- - uses : oxc-project/setup-node@fdbf0dfd334c4e6d56ceeb77d91c76339c2a0885 # v1.0.4
151+ - uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
152+ with :
153+ repository : vitejs/rolldown-vite
154+ path : rolldown-vite
155+ ref : rolldown-vite
98156
99- - name : Bootstrap
100- run : pnpm bootstrap-cli:ci
157+ - uses : oxc-project/setup-node@fdbf0dfd334c4e6d56ceeb77d91c76339c2a0885 # v1.0.4
101158
102159 - uses : actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
103160 with :
@@ -108,7 +165,13 @@ jobs:
108165 - uses : actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
109166 with :
110167 path : packages/cli/dist
111- pattern : bindings-*
168+ pattern : vite-plus-native-*
169+ merge-multiple : true
170+
171+ - uses : actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
172+ with :
173+ path : packages/cli/dist/vite
174+ pattern : rolldown-native-*
112175 merge-multiple : true
113176
114177 - name : Set npm packages version
0 commit comments