Files
gemini-cli/.github/workflows/ci-bundling-trial.yml
T
2026-04-24 18:47:10 +00:00

305 lines
8.5 KiB
YAML

name: 'Bundling Trial CI'
on:
push:
branches:
- 'feat/ci-bundling-revamp'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
test_ui_messages:
name: 'cli:ui/messages'
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 project'
run: 'npm run build'
- name: 'Setup Gemini'
uses: './.github/actions/setup-gemini'
with:
mode: 'source'
skip-npm-ci: 'true'
- name: 'Run UI Messages Tests'
run: 'npx vitest run --pool=threads packages/cli/src/ui/components/messages'
shell: 'bash'
test_ui_shared:
name: 'cli:ui/shared'
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 project'
run: 'npm run build'
- name: 'Setup Gemini'
uses: './.github/actions/setup-gemini'
with:
mode: 'source'
skip-npm-ci: 'true'
- name: 'Run UI Shared Tests'
run: 'npx vitest run --pool=threads packages/cli/src/ui/components/shared'
shell: 'bash'
test_ui_views:
name: 'cli:ui/views'
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 project'
run: 'npm run build'
- name: 'Setup Gemini'
uses: './.github/actions/setup-gemini'
with:
mode: 'source'
skip-npm-ci: 'true'
- name: 'Run UI Views Tests'
run: 'npx vitest run --pool=threads packages/cli/src/ui/components/views packages/cli/src/ui/components/SessionBrowser'
shell: 'bash'
test_ui_rest:
name: 'cli:ui/rest'
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 project'
run: 'npm run build'
- name: 'Setup Gemini'
uses: './.github/actions/setup-gemini'
with:
mode: 'source'
skip-npm-ci: 'true'
- name: 'Run UI Rest Tests'
run: 'npx vitest run --pool=threads packages/cli/src/ui/App.test.tsx packages/cli/src/ui/AppContainer.test.tsx packages/cli/src/ui/IdeIntegrationNudge.test.tsx packages/cli/src/ui/ToolConfirmationFullFrame.test.tsx packages/cli/src/ui/auth packages/cli/src/ui/commands packages/cli/src/ui/contexts packages/cli/src/ui/hooks packages/cli/src/ui/key packages/cli/src/ui/layouts packages/cli/src/ui/noninteractive packages/cli/src/ui/privacy packages/cli/src/ui/state packages/cli/src/ui/themes packages/cli/src/ui/utils'
shell: 'bash'
test_ui_components_top:
name: 'cli:ui/components'
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 project'
run: 'npm run build'
- name: 'Setup Gemini'
uses: './.github/actions/setup-gemini'
with:
mode: 'source'
skip-npm-ci: 'true'
- name: 'Run UI Components Top Tests'
run: 'npx vitest run --pool=threads packages/cli/src/ui/components/*.test.tsx'
shell: 'bash'
test_batch_1:
name: 'cli:utils'
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 project'
run: 'npm run build'
- name: 'Setup Gemini'
uses: './.github/actions/setup-gemini'
with:
mode: 'source'
skip-npm-ci: 'true'
- name: 'Run Batch 1 Tests'
run: 'npx vitest run --pool=threads packages/cli/src/test-utils packages/cli/src/utils'
shell: 'bash'
test_batch_2:
name: 'cli:core-services'
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 project'
run: 'npm run build'
- name: 'Setup Gemini'
uses: './.github/actions/setup-gemini'
with:
mode: 'source'
skip-npm-ci: 'true'
- name: 'Run Batch 2 Tests'
run: 'npx vitest run --pool=threads packages/cli/src/core packages/cli/src/services packages/cli/src/acp'
shell: 'bash'
test_batch_3:
name: 'cli:commands-config'
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 project'
run: 'npm run build'
- name: 'Setup Gemini'
uses: './.github/actions/setup-gemini'
with:
mode: 'source'
skip-npm-ci: 'true'
- name: 'Run Batch 3 Tests'
run: 'npx vitest run --pool=threads packages/cli/src/commands packages/cli/src/config'
shell: 'bash'
test_core:
name: 'core'
runs-on: 'gemini-cli-ubuntu-16-core'
env:
GEMINI_SANDBOX: 'false'
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 project'
run: 'npm run build'
- name: 'Setup Gemini'
uses: './.github/actions/setup-gemini'
with:
mode: 'source'
skip-npm-ci: 'true'
- name: 'Run All Core Tests'
run: 'npx vitest run --pool=threads packages/core/src --exclude "**/*.integration.test.ts"'
shell: 'bash'
test_e2e:
name: 'e2e:linux'
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 project'
run: 'npm run build'
- name: 'Build Bundle'
run: 'npm run bundle'
- 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: 'bash'