mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-03-10 14:10:37 -07:00
73 lines
2.3 KiB
YAML
73 lines
2.3 KiB
YAML
name: 'Verify an NPM release'
|
|
description: 'Fetches a package from NPM and does some basic smoke tests'
|
|
|
|
inputs:
|
|
npm-package:
|
|
description: 'NPM Package'
|
|
required: true
|
|
default: '@google/gemini-cli@latest'
|
|
expected-version:
|
|
description: 'Expected version'
|
|
required: true
|
|
gemini_api_key:
|
|
description: 'The API key for running integration tests.'
|
|
required: true
|
|
ref:
|
|
description: 'The branch, tag, or SHA to release from.'
|
|
required: false
|
|
type: 'string'
|
|
default: 'main'
|
|
|
|
runs:
|
|
using: 'composite'
|
|
steps:
|
|
- name: '📝 Print Inputs'
|
|
shell: 'bash'
|
|
run: 'echo "${{ toJSON(inputs) }}"'
|
|
|
|
- name: 'Checkout'
|
|
uses: 'actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955' # ratchet:actions/checkout@v4
|
|
with:
|
|
path: 'verify'
|
|
ref: '${{ github.event.inputs.ref }}'
|
|
fetch-depth: 0
|
|
|
|
- name: 'Clear npm cache'
|
|
shell: 'bash'
|
|
run: 'npm cache clean --force'
|
|
|
|
- name: 'Install from NPM'
|
|
uses: 'nick-fields/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08' # ratchet:nick-fields/retry@v3
|
|
with:
|
|
timeout_seconds: 900
|
|
retry_wait_seconds: 30
|
|
max_attempts: 10
|
|
command: 'cd ./verify && pkg="${{ inputs.npm-package }}" && npm install --prefer-online --no-cache -g "$pkg"'
|
|
|
|
- name: 'Smoke test - NPM Install'
|
|
shell: 'bash'
|
|
working-directory: './verify'
|
|
run: |-
|
|
gemini_version=$(gemini --version)
|
|
if [ "$gemini_version" != "${{ inputs.expected-version }}" ]; then
|
|
echo "❌ NPM Version mismatch: Got $gemini_version from ${{ inputs.npm-package }}, expected ${{ inputs.expected-version }}"
|
|
exit 1
|
|
fi
|
|
|
|
- name: 'Clear npm cache'
|
|
shell: 'bash'
|
|
run: 'npm cache clean --force'
|
|
|
|
- name: 'Smoke test - NPX Run'
|
|
shell: 'bash'
|
|
working-directory: './verify'
|
|
run: |-
|
|
gemini_version=$(npx --prefer-online "${{ inputs.npm-package}}" --version)
|
|
if [ "$gemini_version" != "${{ inputs.expected-version }}" ]; then
|
|
echo "❌ NPX Run Version mismatch: Got $gemini_version from ${{ inputs.npm-package }}, expected ${{ inputs.expected-version }}"
|
|
exit 1
|
|
fi
|
|
|
|
# TODO: Add back integration tests once we resolve
|
|
# https://github.com/google-gemini/gemini-cli/issues/10517
|