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
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
@@ -55,28 +80,52 @@ jobs:
5580
5681 - name : Build
5782 if : ${{ matrix.settings.target == 'x86_64-unknown-linux-gnu' }}
58- run : pnpm --filter=@voidzero-dev/vite-plus build --target ${{ matrix.settings.target }} --use-napi-cross
83+ run : |
84+ pnpm --filter @rolldown/pluginutils build
85+ pnpm --filter rolldown build-binding:release --target ${{ matrix.settings.target }} --use-napi-cross
86+ pnpm --filter rolldown build-node
87+ pnpm --filter rolldown-vite build-types
88+ CC="x86_64-unknown-linux-gnu-cc" pnpm --filter=@voidzero-dev/vite-plus build --target ${{ matrix.settings.target }} --use-napi-cross
5989 env :
60- CC : x86_64-unknown-linux-gnu-cc
6190 TARGET_CC : clang
6291
6392 - name : Build
6493 if : ${{ matrix.settings.target == 'aarch64-unknown-linux-gnu' }}
65- run : pnpm --filter=@voidzero-dev/vite-plus build --target ${{ matrix.settings.target }} --use-napi-cross
94+ run : |
95+ pnpm --filter @rolldown/pluginutils build
96+ pnpm --filter rolldown build-binding:release --target ${{ matrix.settings.target }} --use-napi-cross
97+ pnpm --filter rolldown build-node
98+ pnpm --filter rolldown-vite build-types
99+ pnpm --filter=@voidzero-dev/vite-plus build --target ${{ matrix.settings.target }} --use-napi-cross
66100 env :
67101 TARGET_CC : clang
68102
69103 - name : Build
70104 if : ${{ !contains(matrix.settings.target, 'linux') }}
71- run : pnpm --filter=@voidzero-dev/vite-plus build --target ${{ matrix.settings.target }}
105+ run : |
106+ pnpm --filter @rolldown/pluginutils build
107+ pnpm --filter rolldown build-binding:release --target ${{ matrix.settings.target }}
108+ pnpm --filter rolldown build-node
109+ pnpm --filter rolldown-vite build-types
110+ pnpm --filter=@voidzero-dev/vite-plus build --target ${{ matrix.settings.target }}
72111
73- - name : Upload artifact
112+ - name : Upload Vite+ artifact
74113 uses : actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
75114 with :
76- name : bindings -${{ matrix.settings.target }}
115+ name : vite-plus-native -${{ matrix.settings.target }}
77116 path : ./packages/cli/binding/*.node
78117 if-no-files-found : error
79118
119+ - name : Upload rolldown artifact
120+ uses : actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
121+ with :
122+ name : rolldown-native-${{ matrix.settings.target }}
123+ path : ./rolldown/packages/rolldown/src/*.node
124+ if-no-files-found : error
125+ - name : Remove .node files before upload dist
126+ if : ${{ matrix.settings.target == 'x86_64-unknown-linux-gnu' }}
127+ run : rm ./packages/cli/dist/**/*.node
128+
80129 - name : Upload cli dist
81130 uses : actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
82131 if : ${{ matrix.settings.target == 'x86_64-unknown-linux-gnu' }}
@@ -96,15 +145,23 @@ jobs:
96145 with :
97146 persist-credentials : false
98147 submodules : true
148+ - uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
149+ with :
150+ repository : rolldown/rolldown
151+ path : rolldown
152+ ref : main
153+
154+ - uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
155+ with :
156+ repository : vitejs/rolldown-vite
157+ path : rolldown-vite
158+ ref : rolldown-vite
99159
100160 - uses : oxc-project/setup-node@fdbf0dfd334c4e6d56ceeb77d91c76339c2a0885 # v1.0.4
101161
102162 - name : Configure Git for access to vite-task
103163 run : git config --global url."https://x-access-token:${{ secrets.VITE_TASK_TOKEN }}@github.com/".insteadOf "https://github.com/"
104164
105- - name : Bootstrap
106- run : pnpm bootstrap-cli:ci
107-
108165 - uses : actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
109166 with :
110167 path : packages/cli/dist
@@ -114,7 +171,13 @@ jobs:
114171 - uses : actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
115172 with :
116173 path : packages/cli/dist
117- pattern : bindings-*
174+ pattern : vite-plus-native-*
175+ merge-multiple : true
176+
177+ - uses : actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
178+ with :
179+ path : packages/cli/dist/vite
180+ pattern : rolldown-native-*
118181 merge-multiple : true
119182
120183 - name : Set npm packages version
0 commit comments