mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-06-13 21:07:00 -07:00
refactor(ci): Move bundle size check to a parallel job
Creates a new reusable workflow, 'bundle-size.yml', to handle the bundle size check. This check is now run in a separate job in the main 'orchestrator.yml' workflow, parallel to the 'e2e' job. This optimizes the CI pipeline by allowing the E2E tests to start as soon as the bundle is published, without waiting for the size check to complete.
This commit is contained in:
@@ -41,16 +41,6 @@ jobs:
|
||||
- name: 'Bundle'
|
||||
run: 'npm run bundle'
|
||||
|
||||
- name: 'Check Bundle Size'
|
||||
if: "${{github.event_name == 'pull_request'}}"
|
||||
uses: 'preactjs/compressed-size-action@946a292cd35bd1088e0d7eb92b69d1a8d5b5d76a'
|
||||
with:
|
||||
repo-token: '${{ secrets.GITHUB_TOKEN }}'
|
||||
pattern: './bundle/**/*.{js,sb}'
|
||||
minimum-change-threshold: '1000'
|
||||
compression: 'none'
|
||||
clean-script: 'clean'
|
||||
|
||||
- name: 'Prepare for GitHub release'
|
||||
run: 'node scripts/prepare-github-release.js'
|
||||
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
# .github/workflows/bundle-size.yml
|
||||
name: 'Bundle Size Check'
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
version:
|
||||
description: 'The version of the published package'
|
||||
required: true
|
||||
type: 'string'
|
||||
|
||||
permissions:
|
||||
contents: 'read'
|
||||
pull-requests: 'write'
|
||||
|
||||
jobs:
|
||||
bundle-size:
|
||||
name: 'Check Bundle Size'
|
||||
runs-on: 'ubuntu-latest'
|
||||
steps:
|
||||
- name: 'Checkout'
|
||||
uses: 'actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8' # ratchet:actions/checkout@v5
|
||||
with:
|
||||
ref: '${{ github.event.inputs.branch_ref || github.ref }}'
|
||||
|
||||
- name: 'Set up Node.js'
|
||||
uses: 'actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020' # ratchet:actions/setup-node@v4
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
cache: 'npm'
|
||||
|
||||
- name: 'Configure npm for GitHub Packages'
|
||||
run: |
|
||||
echo "@google-gemini:registry=https://npm.pkg.github.com/" > .npmrc
|
||||
echo "//npm.pkg.github.com/:_authToken=${{ secrets.GITHUB_TOKEN }}" >> .npmrc
|
||||
|
||||
- name: 'Install dependencies'
|
||||
run: 'npm install @google-gemini/gemini-cli@${{ inputs.version }}'
|
||||
|
||||
- name: 'Check Bundle Size'
|
||||
uses: 'preactjs/compressed-size-action@946a292cd35bd1088e0d7eb92b69d1a8d5b5d76a'
|
||||
with:
|
||||
repo-token: '${{ secrets.GITHUB_TOKEN }}'
|
||||
pattern: './bundle/**/*.{js,sb}'
|
||||
minimum-change-threshold: '1000'
|
||||
compression: 'none'
|
||||
clean-script: 'clean'
|
||||
@@ -45,3 +45,10 @@ jobs:
|
||||
uses: './.github/workflows/e2e.yml'
|
||||
with:
|
||||
version: '${{ needs.build-and-publish.outputs.version }}'
|
||||
|
||||
bundle-size:
|
||||
name: 'Bundle Size Check'
|
||||
needs: 'build-and-publish'
|
||||
uses: './.github/workflows/bundle-size.yml'
|
||||
with:
|
||||
version: '${{ needs.build-and-publish.outputs.version }}'
|
||||
|
||||
Reference in New Issue
Block a user