feat: migrate repo releases to manual release-please (#293)
This commit is contained in:
94
.github/workflows/release-preview.yml
vendored
Normal file
94
.github/workflows/release-preview.yml
vendored
Normal file
@@ -0,0 +1,94 @@
|
||||
name: Release Preview
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
title:
|
||||
description: "Conventional title to evaluate (defaults to the latest commit title on this ref)"
|
||||
required: false
|
||||
type: string
|
||||
cli_bump:
|
||||
description: "CLI bump override"
|
||||
required: false
|
||||
type: choice
|
||||
options: [auto, patch, minor, major]
|
||||
default: auto
|
||||
compound_engineering_bump:
|
||||
description: "compound-engineering bump override"
|
||||
required: false
|
||||
type: choice
|
||||
options: [auto, patch, minor, major]
|
||||
default: auto
|
||||
coding_tutor_bump:
|
||||
description: "coding-tutor bump override"
|
||||
required: false
|
||||
type: choice
|
||||
options: [auto, patch, minor, major]
|
||||
default: auto
|
||||
marketplace_bump:
|
||||
description: "marketplace bump override"
|
||||
required: false
|
||||
type: choice
|
||||
options: [auto, patch, minor, major]
|
||||
default: auto
|
||||
|
||||
jobs:
|
||||
preview:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Setup Bun
|
||||
uses: oven-sh/setup-bun@v2
|
||||
with:
|
||||
bun-version: latest
|
||||
|
||||
- name: Install dependencies
|
||||
run: bun install --frozen-lockfile
|
||||
|
||||
- name: Determine title and changed files
|
||||
id: inputs
|
||||
shell: bash
|
||||
run: |
|
||||
TITLE="${{ github.event.inputs.title }}"
|
||||
if [ -z "$TITLE" ]; then
|
||||
TITLE="$(git log -1 --pretty=%s)"
|
||||
fi
|
||||
|
||||
FILES="$(git diff --name-only HEAD~1...HEAD | tr '\n' ' ')"
|
||||
|
||||
echo "title=$TITLE" >> "$GITHUB_OUTPUT"
|
||||
echo "files=$FILES" >> "$GITHUB_OUTPUT"
|
||||
|
||||
- name: Add preview note
|
||||
run: |
|
||||
echo "This preview currently evaluates the selected ref from its latest commit title and changed files." >> "$GITHUB_STEP_SUMMARY"
|
||||
echo "It is side-effect free, but it does not yet reconstruct the full accumulated open release PR state." >> "$GITHUB_STEP_SUMMARY"
|
||||
|
||||
- name: Validate release metadata
|
||||
run: bun run release:validate
|
||||
|
||||
- name: Preview release
|
||||
shell: bash
|
||||
run: |
|
||||
TITLE='${{ steps.inputs.outputs.title }}'
|
||||
FILES='${{ steps.inputs.outputs.files }}'
|
||||
|
||||
args=(--title "$TITLE" --json)
|
||||
for file in $FILES; do
|
||||
args+=(--file "$file")
|
||||
done
|
||||
|
||||
args+=(--override "cli=${{ github.event.inputs.cli_bump || 'auto' }}")
|
||||
args+=(--override "compound-engineering=${{ github.event.inputs.compound_engineering_bump || 'auto' }}")
|
||||
args+=(--override "coding-tutor=${{ github.event.inputs.coding_tutor_bump || 'auto' }}")
|
||||
args+=(--override "marketplace=${{ github.event.inputs.marketplace_bump || 'auto' }}")
|
||||
|
||||
bun run scripts/release/preview.ts "${args[@]}" | tee /tmp/release-preview.txt
|
||||
|
||||
- name: Publish preview summary
|
||||
shell: bash
|
||||
run: cat /tmp/release-preview.txt >> "$GITHUB_STEP_SUMMARY"
|
||||
Reference in New Issue
Block a user