fix(release): align nightly workflow with release patterns

Refactors the release-nightly.yml workflow to follow the established pattern used by other release workflows (release-manual, release-patch, etc.).

This change introduces a dedicated release subdirectory for the checkout, ensuring that all subsequent steps and local composite actions operate on a consistent and specific version of the code. This resolves an issue where the workflow could inadvertently execute stale or incorrect versions of actions from the default branch.
This commit is contained in:
mkorwel
2025-09-26 10:11:57 -07:00
parent 037399ee8a
commit 836114888a

View File

@@ -30,29 +30,33 @@ jobs:
issues: 'write'
pull-requests: 'write'
steps:
- name: 'Checkout'
- name: 'Checkout Release Code'
uses: 'actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8'
with:
ref: '${{ github.event.inputs.ref }}'
fetch-depth: 0
path: 'release'
- name: 'Setup Node.js'
uses: 'actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020' # ratchet:actions/setup-node@v4
with:
node-version-file: '.nvmrc'
node-version-file: './release/.nvmrc'
cache: 'npm'
- name: 'Install Dependencies'
working-directory: './release'
run: 'npm ci'
- name: 'Run Tests'
if: "${{github.event.inputs.force_skip_tests != 'true'}}"
uses: './.github/actions/run-tests'
working-directory: './release'
with:
gemini_api_key: '${{ secrets.GEMINI_API_KEY }}'
- name: 'Get Nightly Version'
id: 'nightly_version'
working-directory: './release'
env:
GH_TOKEN: '${{ secrets.GITHUB_TOKEN }}'
run: |
@@ -73,6 +77,7 @@ jobs:
github-token: '${{ secrets.GITHUB_TOKEN }}'
dry-run: '${{ github.event.inputs.dry_run }}'
previous-tag: '${{ steps.nightly_version.outputs.PREVIOUS_TAG }}'
working-directory: './release'
- name: 'Create and Merge Pull Request'
uses: './.github/actions/create-pull-request'
@@ -82,6 +87,7 @@ jobs:
pr-body: 'Automated version bump for nightly release.'
github-token: '${{ secrets.GEMINI_CLI_ROBOT_GITHUB_PAT }}'
dry-run: '${{ github.event.inputs.dry_run }}'
working-directory: './release'
- name: 'Create Issue on Failure'
if: '${{ failure() && github.event.inputs.dry_run == false }}'