From f660d37f24b281b2ab58b58fe25e4d680e42456d Mon Sep 17 00:00:00 2001 From: mkorwel Date: Fri, 24 Apr 2026 21:18:33 +0000 Subject: [PATCH] ci: final restructure with dual Windows jobs and large Mac runner --- .github/workflows/ci-bundling-trial.yml | 87 ++++++++++++------------- 1 file changed, 42 insertions(+), 45 deletions(-) diff --git a/.github/workflows/ci-bundling-trial.yml b/.github/workflows/ci-bundling-trial.yml index cf336fe187..da8848b16c 100644 --- a/.github/workflows/ci-bundling-trial.yml +++ b/.github/workflows/ci-bundling-trial.yml @@ -40,7 +40,7 @@ jobs: - name: 'Configure npm for GitHub Packages' run: | echo "//npm.pkg.github.com/:_authToken=\${{ secrets.GITHUB_TOKEN }}" > ~/.npmrc - echo "@google:registry=https://npm.pkg.github.com" >> ~/.npmrc + echo "@google-gemini:registry=https://npm.pkg.github.com" >> ~/.npmrc shell: 'bash' - name: 'Publish Packages' @@ -49,31 +49,6 @@ jobs: npm publish --workspace @google/gemini-cli shell: 'bash' - build_bundle: - name: 'Build Bundle' - runs-on: 'gemini-cli-ubuntu-16-core' - steps: - - name: 'Checkout' - uses: 'actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8' - - - name: 'Set up Node.js' - uses: 'actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020' - with: - node-version-file: '.nvmrc' - cache: 'npm' - - - name: 'Install dependencies' - run: 'npm ci' - - - name: 'Build Bundle' - run: 'npm run bundle' - - - name: 'Upload Bundle' - uses: 'actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02' - with: - name: 'gemini-bundle' - path: 'bundle/' - test_ui_messages: name: 'cli:ui/messages' runs-on: 'gemini-cli-ubuntu-16-core' @@ -339,18 +314,11 @@ jobs: test_e2e: name: 'e2e:linux' - needs: build_bundle runs-on: 'gemini-cli-ubuntu-16-core' steps: - name: 'Checkout' uses: 'actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8' - - name: 'Download Bundle' - uses: 'actions/download-artifact@cc203385981b70ca67e1cc392babf9cc229d5806' - with: - name: 'gemini-bundle' - path: 'bundle' - - name: 'Set up Node.js' uses: 'actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020' with: @@ -363,6 +331,9 @@ jobs: - name: 'Build project' run: 'npm run build' + - name: 'Build Bundle' + run: 'npm run bundle' + - name: 'Run Integration Tests' env: GEMINI_API_KEY: '${{ secrets.GEMINI_API_KEY }}' @@ -373,18 +344,11 @@ jobs: test_e2e_mac: name: 'e2e:mac' - needs: build_bundle - runs-on: 'macos-latest' + runs-on: 'macos-latest-large' steps: - name: 'Checkout' uses: 'actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8' - - name: 'Download Bundle' - uses: 'actions/download-artifact@cc203385981b70ca67e1cc392babf9cc229d5806' - with: - name: 'gemini-bundle' - path: 'bundle' - - name: 'Set up Node.js' uses: 'actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020' with: @@ -397,6 +361,9 @@ jobs: - name: 'Build project' run: 'npm run build' + - name: 'Build Bundle' + run: 'npm run bundle' + - name: 'Fix rollup optional dependencies on macOS' run: 'npm cache clean --force' shell: 'bash' @@ -409,8 +376,38 @@ jobs: run: 'npm run test:integration:sandbox:none' shell: 'bash' - test_e2e_windows: - name: 'e2e:windows' + test_e2e_windows_full: + name: 'e2e:windows:full' + runs-on: 'gemini-cli-windows-16-core' + timeout-minutes: 60 + steps: + - name: 'Checkout' + uses: 'actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8' + + - name: 'Set up Node.js' + uses: 'actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020' + with: + node-version-file: '.nvmrc' + cache: 'npm' + + - name: 'Install dependencies' + run: 'npm ci' + shell: 'pwsh' + + - name: 'Build project' + run: 'npm run build' + shell: 'pwsh' + + - name: 'Run Integration Tests' + env: + GEMINI_API_KEY: '${{ secrets.GEMINI_API_KEY }}' + KEEP_OUTPUT: 'true' + VERBOSE: 'true' + run: 'npm run test:integration:sandbox:none' + shell: 'pwsh' + + test_e2e_windows_fast: + name: 'e2e:windows:fast' needs: publish_packages runs-on: 'gemini-cli-windows-16-core' steps: @@ -426,11 +423,11 @@ jobs: - name: 'Configure npm for GitHub Packages' run: | echo "//npm.pkg.github.com/:_authToken=${{ secrets.GITHUB_TOKEN }}" > "$env:USERPROFILE\.npmrc" - echo "@google:registry=https://npm.pkg.github.com" >> "$env:USERPROFILE\.npmrc" + echo "@google-gemini:registry=https://npm.pkg.github.com" >> "$env:USERPROFILE\.npmrc" shell: 'pwsh' - name: 'Install dependencies' - run: 'npm install @google/gemini-cli@0.0.0-${{ github.sha }} @google/gemini-cli-core@0.0.0-${{ github.sha }} vitest node-pty --no-save' + run: 'npm install @google-gemini/gemini-cli@0.0.0-${{ github.sha }} @google-gemini/gemini-cli-core@0.0.0-${{ github.sha }} vitest node-pty --no-save' shell: 'pwsh' - name: 'Run Integration Tests'