Skip to content

Commit c9f414d

Browse files
authored
ci: merge cli-self-update into cli-e2e-test job (#554)
## Summary Merge the `cli-self-update` job into the `cli-e2e-test` job to eliminate redundant build pipelines. ## Motivation The `cli-self-update` job ran on 3 platforms (ubuntu, mac, windows) and duplicated the entire setup: clone, setup-rust, build-upstream, and bootstrap-cli — just to run self-update tests. This added ~3-5 minutes of unnecessary runner time per CI run. ## Changes - Moved self-update test steps (bash, powershell, cmd) to the end of `cli-e2e-test` job - Removed the standalone `cli-self-update` job entirely - Updated `done` job to remove `cli-self-update` dependency ## Impact - **3 fewer runner instances** per CI run (one per platform) - No loss of test coverage — same tests, same platforms - Self-update tests reuse the already-built CLI from the e2e job
1 parent 4ecdcbf commit c9f414d

1 file changed

Lines changed: 3 additions & 60 deletions

File tree

.github/workflows/ci.yml

Lines changed: 3 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -361,63 +361,7 @@ jobs:
361361
RUST_BACKTRACE=1 pnpm test
362362
git diff --exit-code
363363
364-
cli-self-update:
365-
name: CLI self-update test
366-
needs:
367-
- download-previous-rolldown-binaries
368-
strategy:
369-
fail-fast: false
370-
matrix:
371-
include:
372-
- os: ubuntu-latest
373-
- os: namespace-profile-mac-default
374-
- os: windows-latest
375-
runs-on: ${{ matrix.os }}
376-
steps:
377-
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
378-
- uses: ./.github/actions/clone
379-
380-
- name: Configure Git for access to vite-task
381-
run: git config --global url."https://x-access-token:${{ secrets.VITE_TASK_TOKEN }}@github.com/".insteadOf "ssh://git@github.com/"
382-
383-
- run: |
384-
brew install rustup
385-
rustup install stable
386-
echo "PATH=/opt/homebrew/opt/rustup/bin:$PATH" >> $GITHUB_ENV
387-
if: ${{ matrix.os == 'namespace-profile-mac-default' }}
388-
389-
- uses: oxc-project/setup-rust@d286d43bc1f606abbd98096666ff8be68c8d5f57 # v1.0.0
390-
with:
391-
save-cache: ${{ github.ref_name == 'main' }}
392-
cache-key: cli-self-update
393-
394-
- uses: oxc-project/setup-node@fdbf0dfd334c4e6d56ceeb77d91c76339c2a0885 # v1.0.4
395-
396-
- uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
397-
with:
398-
name: rolldown-binaries
399-
path: ./rolldown/packages/rolldown/src
400-
merge-multiple: true
401-
402-
- name: Build with upstream
403-
uses: ./.github/actions/build-upstream
404-
with:
405-
target: ${{ matrix.os == 'ubuntu-latest' && 'x86_64-unknown-linux-gnu' || matrix.os == 'windows-latest' && 'x86_64-pc-windows-msvc' || 'aarch64-apple-darwin' }}
406-
407-
- name: Build CLI
408-
run: |
409-
pnpm bootstrap-cli:ci
410-
if [[ "$RUNNER_OS" == "Windows" ]]; then
411-
echo "$USERPROFILE\.vite-plus\bin" >> $GITHUB_PATH
412-
else
413-
echo "$HOME/.vite-plus/bin" >> $GITHUB_PATH
414-
fi
415-
416-
- name: Verify CLI installation
417-
run: |
418-
which vp
419-
vp --version
420-
364+
# Self-update tests (merged from separate job to avoid duplicate build)
421365
- name: Test self-update (bash)
422366
shell: bash
423367
run: |
@@ -464,7 +408,7 @@ jobs:
464408
fi
465409
466410
- name: Test self-update (powershell)
467-
if: matrix.os == 'windows-latest'
411+
if: ${{ matrix.os == 'windows-latest' }}
468412
shell: pwsh
469413
run: |
470414
Get-ChildItem "$env:USERPROFILE\.vite-plus\"
@@ -512,7 +456,7 @@ jobs:
512456
}
513457
514458
- name: Test self-update (cmd)
515-
if: matrix.os == 'windows-latest'
459+
if: ${{ matrix.os == 'windows-latest' }}
516460
shell: cmd
517461
run: |
518462
REM Save initial (dev build) version
@@ -631,7 +575,6 @@ jobs:
631575
- lint
632576
- run
633577
- cli-e2e-test
634-
- cli-self-update
635578
steps:
636579
- run: exit 1
637580
# Thank you, next https://github.com/vercel/next.js/blob/canary/.github/workflows/build_and_test.yml#L379

0 commit comments

Comments
 (0)