Skip to content

Commit 6c0dba0

Browse files
committed
Merge branch 'main' of github.com:voidzero-dev/vite-plus into feat/publish-support
2 parents 3d305ba + 3fc8005 commit 6c0dba0

61 files changed

Lines changed: 1902 additions & 1090 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/actions/build-upstream/action.yml

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,12 @@ runs:
2727
run: |
2828
echo "key=napi-binding-v3-${{ inputs.target }}-${{ env.RELEASE_BUILD }}-${{ env.DEBUG }}-${{ env.VERSION }}-${{ env.NPM_TAG }}-${{ hashFiles('packages/tools/.upstream-versions.json', 'Cargo.lock', 'crates/**/*.rs', 'crates/*/Cargo.toml', 'packages/cli/binding/**/*.rs', 'packages/cli/binding/Cargo.toml', 'Cargo.toml', '.cargo/config.toml', 'packages/cli/package.json', 'packages/cli/build.ts') }}" >> $GITHUB_OUTPUT
2929
30+
# Resolve the Rust target directory (CARGO_TARGET_DIR from setup-rust, or default "target")
31+
- name: Resolve Rust target directory
32+
id: rust-target
33+
shell: bash
34+
run: echo "dir=${CARGO_TARGET_DIR:-target}" >> $GITHUB_OUTPUT
35+
3036
# Cache NAPI bindings and Rust CLI binary (the slow parts, especially on Windows)
3137
- name: Restore NAPI binding cache
3238
id: cache-restore
@@ -38,9 +44,9 @@ runs:
3844
packages/cli/binding/index.d.ts
3945
packages/cli/binding/index.cjs
4046
packages/cli/binding/index.d.cts
41-
target/${{ inputs.target }}/release/vp
42-
target/${{ inputs.target }}/release/vp.exe
43-
target/${{ inputs.target }}/release/vp-shim.exe
47+
${{ steps.rust-target.outputs.dir }}/${{ inputs.target }}/release/vp
48+
${{ steps.rust-target.outputs.dir }}/${{ inputs.target }}/release/vp.exe
49+
${{ steps.rust-target.outputs.dir }}/${{ inputs.target }}/release/vp-shim.exe
4450
key: ${{ steps.cache-key.outputs.key }}
4551

4652
# Apply Vite+ branding patches to vite source (CI checks out
@@ -147,9 +153,9 @@ runs:
147153
packages/cli/binding/index.d.ts
148154
packages/cli/binding/index.cjs
149155
packages/cli/binding/index.d.cts
150-
target/${{ inputs.target }}/release/vp
151-
target/${{ inputs.target }}/release/vp.exe
152-
target/${{ inputs.target }}/release/vp-shim.exe
156+
${{ steps.rust-target.outputs.dir }}/${{ inputs.target }}/release/vp
157+
${{ steps.rust-target.outputs.dir }}/${{ inputs.target }}/release/vp.exe
158+
${{ steps.rust-target.outputs.dir }}/${{ inputs.target }}/release/vp-shim.exe
153159
key: ${{ steps.cache-key.outputs.key }}
154160

155161
# Build vite-plus TypeScript after native bindings are ready

.github/actions/clone/action.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,13 @@ runs:
3131
node -e "console.log('ECOSYSTEM_CI_PROJECT_REPOSITORY=' + require('./ecosystem-ci/repo.json')['${{ inputs.ecosystem-ci-project }}'].repository.replace('https://github.com/', '').replace('.git', ''))" >> $GITHUB_OUTPUT
3232
echo "ECOSYSTEM_CI_PROJECT_PATH=${{ runner.temp }}/vite-plus-ecosystem-ci/${{ inputs.ecosystem-ci-project }}" >> $GITHUB_OUTPUT
3333
34-
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
34+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
3535
with:
3636
repository: rolldown/rolldown
3737
path: rolldown
3838
ref: ${{ steps.upstream-versions.outputs.ROLLDOWN_HASH }}
3939

40-
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
40+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
4141
with:
4242
repository: vitejs/vite
4343
path: vite
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
#!/usr/bin/env bash
2+
# Retry only the snap test cases whose snap.txt changed, up to max_retries times.
3+
# Usage: retry-failed-snap-tests.sh [max_retries]
4+
set -euo pipefail
5+
6+
max_retries=${1:-2}
7+
8+
for retry in $(seq 1 "$max_retries"); do
9+
changed=$(git diff --name-only -- 'packages/cli/snap-tests*/*/snap.txt')
10+
if [ -z "$changed" ]; then
11+
exit 0
12+
fi
13+
14+
echo "::warning::Snapshot diff detected, retry $retry/$max_retries for failed cases..."
15+
git diff --stat -- 'packages/cli/snap-tests*/*/snap.txt'
16+
17+
failed_local=$(echo "$changed" | grep -v 'snap-tests-global/' | sed -E 's|packages/cli/snap-tests/([^/]+)/.*|\1|' | sort -u || true)
18+
failed_global=$(echo "$changed" | grep 'snap-tests-global/' | sed -E 's|packages/cli/snap-tests-global/([^/]+)/.*|\1|' | sort -u || true)
19+
20+
echo "$changed" | xargs git checkout --
21+
22+
for name in $failed_local; do
23+
echo "Retrying local snap test: $name"
24+
RUST_BACKTRACE=1 pnpm -F ./packages/cli snap-test-local "$name"
25+
done
26+
for name in $failed_global; do
27+
echo "Retrying global snap test: $name"
28+
RUST_BACKTRACE=1 pnpm -F ./packages/cli snap-test-global "$name"
29+
done
30+
done
31+
32+
# Final check after all retries
33+
if ! git diff --quiet -- 'packages/cli/snap-tests*/*/snap.txt'; then
34+
echo "::error::Snapshot diff detected after $max_retries retries. Run 'pnpm -F vite-plus snap-test' locally and commit the updated snap.txt files."
35+
git diff --stat
36+
git diff
37+
exit 1
38+
fi

0 commit comments

Comments
 (0)