mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-02-01 22:48:03 +00:00
95 lines
3.4 KiB
YAML
95 lines
3.4 KiB
YAML
name: 'Release: Patch (2) Trigger'
|
|
|
|
run-name: >-
|
|
Release Patch (2) Trigger |
|
|
${{ github.event.pull_request.number && format('PR #{0}', github.event.pull_request.number) || 'Manual' }} |
|
|
${{ github.event.pull_request.head.ref || github.event.inputs.ref }}
|
|
|
|
on:
|
|
pull_request:
|
|
types:
|
|
- 'closed'
|
|
branches:
|
|
- 'release/**'
|
|
workflow_dispatch:
|
|
inputs:
|
|
ref:
|
|
description: 'The head ref of the merged hotfix PR to trigger the release for (e.g. hotfix/v1.2.3/cherry-pick-abc).'
|
|
required: true
|
|
type: 'string'
|
|
workflow_ref:
|
|
description: 'The ref to checkout the workflow code from.'
|
|
required: false
|
|
type: 'string'
|
|
default: 'main'
|
|
workflow_id:
|
|
description: 'The workflow to trigger. Defaults to release-patch-3-release.yml'
|
|
required: false
|
|
type: 'string'
|
|
default: 'release-patch-3-release.yml'
|
|
dry_run:
|
|
description: 'Whether this is a dry run.'
|
|
required: false
|
|
type: 'boolean'
|
|
default: false
|
|
force_skip_tests:
|
|
description: 'Select to skip the "Run Tests" step in testing. Prod releases should run tests'
|
|
required: false
|
|
type: 'boolean'
|
|
default: false
|
|
test_mode:
|
|
description: 'Whether or not to run in test mode'
|
|
required: false
|
|
type: 'boolean'
|
|
default: false
|
|
environment:
|
|
description: 'Environment'
|
|
required: false
|
|
type: 'choice'
|
|
options:
|
|
- 'prod'
|
|
- 'dev'
|
|
default: 'prod'
|
|
|
|
jobs:
|
|
trigger-patch-release:
|
|
if: "(github.event_name == 'pull_request' && github.event.pull_request.merged == true && startsWith(github.event.pull_request.head.ref, 'hotfix/')) || github.event_name == 'workflow_dispatch'"
|
|
runs-on: 'ubuntu-latest'
|
|
environment: "${{ github.event.inputs.environment || 'prod' }}"
|
|
permissions:
|
|
actions: 'write'
|
|
contents: 'write'
|
|
pull-requests: 'write'
|
|
steps:
|
|
- name: 'Checkout'
|
|
uses: 'actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8'
|
|
with:
|
|
ref: "${{ github.event.inputs.workflow_ref || 'main' }}"
|
|
fetch-depth: 1
|
|
|
|
- name: 'Setup Node.js'
|
|
uses: 'actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020'
|
|
with:
|
|
node-version-file: '.nvmrc'
|
|
cache: 'npm'
|
|
|
|
- name: 'Install Dependencies'
|
|
run: 'npm ci'
|
|
|
|
- name: 'Trigger Patch Release'
|
|
env:
|
|
GITHUB_TOKEN: '${{ secrets.GITHUB_TOKEN }}'
|
|
HEAD_REF: "${{ github.event_name == 'pull_request' && github.event.pull_request.head.ref || github.event.inputs.ref }}"
|
|
PR_BODY: "${{ github.event_name == 'pull_request' && github.event.pull_request.body || '' }}"
|
|
WORKFLOW_ID: '${{ github.event.inputs.workflow_id }}'
|
|
GITHUB_REPOSITORY_OWNER: '${{ github.repository_owner }}'
|
|
GITHUB_REPOSITORY_NAME: '${{ github.event.repository.name }}'
|
|
GITHUB_EVENT_NAME: '${{ github.event_name }}'
|
|
GITHUB_EVENT_PAYLOAD: '${{ toJSON(github.event) }}'
|
|
FORCE_SKIP_TESTS: '${{ github.event.inputs.force_skip_tests }}'
|
|
TEST_MODE: '${{ github.event.inputs.test_mode }}'
|
|
ENVIRONMENT: "${{ github.event.inputs.environment || 'prod' }}"
|
|
DRY_RUN: '${{ github.event.inputs.dry_run }}'
|
|
run: |
|
|
node scripts/releasing/patch-trigger.js --dry-run="${DRY_RUN}"
|