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'