mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-06-13 21:07:00 -07:00
refactor(ci): Create reusable lint workflow and define dependencies
Creates a new reusable workflow, 'lint.yml', to handle all linting operations. The main 'orchestrator.yml' is updated to use this new workflow. The dependency chain is now explicitly defined: 'lint' runs first, followed by 'build-and-publish' and 'ci' in parallel. The 'e2e' job remains dependent on 'build-and-publish'. This change also removes the now-unused 'version' input from 'ci.yml' and corrects the 'bundle_size' job to use 'npm ci'.
This commit is contained in:
@@ -2,11 +2,6 @@ name: 'Testing: CI'
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
version:
|
||||
description: 'The version of the published package'
|
||||
required: true
|
||||
type: 'string'
|
||||
|
||||
concurrency:
|
||||
group: 'ci-${{ github.workflow }}-${{ github.head_ref || github.ref }}'
|
||||
@@ -175,8 +170,8 @@ jobs:
|
||||
echo "@google-gemini:registry=https://npm.pkg.github.com/" > .npmrc
|
||||
echo "//npm.pkg.github.com/:_authToken=${{ secrets.GITHUB_TOKEN }}" >> .npmrc
|
||||
|
||||
- name: 'Install bundle'
|
||||
run: 'npm install @google-gemini/gemini-cli@${{ inputs.version }}'
|
||||
- name: 'Install dependencies'
|
||||
run: 'npm ci'
|
||||
|
||||
- uses: 'preactjs/compressed-size-action@946a292cd35bd1088e0d7eb92b69d1a8d5b5d76a'
|
||||
with:
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
# .github/workflows/lint.yml
|
||||
name: 'Linting'
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
|
||||
permissions:
|
||||
contents: 'read'
|
||||
|
||||
jobs:
|
||||
lint:
|
||||
name: 'Lint All'
|
||||
runs-on: 'ubuntu-latest'
|
||||
steps:
|
||||
- name: 'Checkout'
|
||||
uses: 'actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8' # ratchet:actions/checkout@v5
|
||||
|
||||
- name: 'Set up Node.js'
|
||||
uses: 'actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020' # ratchet:actions/setup-node@v4
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
cache: 'npm'
|
||||
|
||||
- name: 'Install dependencies'
|
||||
run: 'npm ci'
|
||||
|
||||
- name: 'Run linting'
|
||||
run: 'npm run lint:all'
|
||||
@@ -25,16 +25,19 @@ permissions:
|
||||
id-token: 'write'
|
||||
|
||||
jobs:
|
||||
lint:
|
||||
name: 'Lint'
|
||||
uses: './.github/workflows/lint.yml'
|
||||
|
||||
build-and-publish:
|
||||
name: 'Build and Publish CI Bundle'
|
||||
needs: 'lint'
|
||||
uses: './.github/workflows/build-and-publish.yml'
|
||||
|
||||
ci:
|
||||
name: 'CI Checks'
|
||||
needs: 'build-and-publish'
|
||||
needs: 'lint'
|
||||
uses: './.github/workflows/ci.yml'
|
||||
with:
|
||||
version: '${{ needs.build-and-publish.outputs.version }}'
|
||||
|
||||
e2e:
|
||||
name: 'E2E Checks'
|
||||
|
||||
Reference in New Issue
Block a user