Files
gemini-cli/.github/workflows/ci-bundling-trial.yml
T

101 lines
2.6 KiB
YAML

name: 'Bundling Trial CI'
on:
push:
branches:
- 'feat/ci-bundling-revamp'
jobs:
build_bundle:
name: 'Build Bundle'
runs-on: 'gemini-cli-ubuntu-16-core'
steps:
- name: 'Checkout'
uses: 'actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8'
- name: 'Set up Node'
uses: 'actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020'
with:
node-version-file: '.nvmrc'
cache: 'npm'
- name: 'Install & Build'
run: |
npm ci
npm run build
npm run bundle
- name: 'Upload Bundle'
uses: 'actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02' # v4
with:
name: 'gemini-bundle'
path: 'bundle/'
test_linux:
name: 'Test (Linux) - CLI Unit'
runs-on: 'gemini-cli-ubuntu-16-core'
steps:
- name: 'Checkout'
uses: 'actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8'
- name: 'Setup and Build'
uses: './.github/actions/setup-gemini'
with:
mode: 'source'
- name: 'Run CLI Unit Tests'
run: 'npx vitest run packages/cli'
shell: 'bash'
test_mac:
name: 'Test (Mac) - CLI Unit'
runs-on: 'macos-large-latest'
steps:
- name: 'Checkout'
uses: 'actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8'
- name: 'Setup and Build'
uses: './.github/actions/setup-gemini'
with:
mode: 'source'
- name: 'Run CLI Unit Tests'
run: 'npx vitest run packages/cli'
shell: 'bash'
test_windows:
name: 'Test (Windows) - CLI Unit'
runs-on: 'gemini-cli-windows-16-core'
steps:
- name: 'Checkout'
uses: 'actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8'
- name: 'Setup and Build'
uses: './.github/actions/setup-gemini'
with:
mode: 'source'
- name: 'Run CLI Unit Tests'
run: 'npx vitest run packages/cli'
shell: 'bash'
test_integration:
name: 'Test (Linux) - Bundled Integration'
needs: 'build_bundle'
runs-on: 'gemini-cli-ubuntu-16-core'
steps:
- name: 'Checkout'
uses: 'actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8'
- name: 'Setup with Bundle'
uses: './.github/actions/setup-gemini'
with:
mode: 'bundle'
bundle-artifact: 'gemini-bundle'
- name: 'Run Integration Tests'
env:
GEMINI_API_KEY: '${{ secrets.GEMINI_API_KEY }}'
run: 'npm run test:integration:sandbox:none'
shell: 'bash'