mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-05-15 14:23:02 -07:00
ci: final restructure with dual Windows jobs and large Mac runner
This commit is contained in:
@@ -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'
|
||||
|
||||
Reference in New Issue
Block a user