47 lines
1.4 KiB
YAML
47 lines
1.4 KiB
YAML
name: Release Check
|
||
|
||
on:
|
||
pull_request:
|
||
branches:
|
||
- main
|
||
|
||
concurrency:
|
||
group: release-check-${{ github.head_ref }}
|
||
cancel-in-progress: true
|
||
|
||
jobs:
|
||
check-release-mode:
|
||
runs-on: ubuntu-latest
|
||
steps:
|
||
- uses: actions/checkout@v4
|
||
with:
|
||
fetch-depth: 0
|
||
|
||
- name: Check release mode
|
||
run: |
|
||
set -euo pipefail
|
||
echo "🔍 Checking if branch is in pre-release mode..."
|
||
|
||
if [[ -f .changeset/pre.json ]]; then
|
||
if ! PRE_MODE=$(jq -r '.mode' .changeset/pre.json 2>/dev/null); then
|
||
echo "❌ ERROR: Unable to parse .changeset/pre.json – aborting merge."
|
||
exit 1
|
||
fi
|
||
if [[ "$PRE_MODE" == "pre" ]]; then
|
||
echo "❌ ERROR: This branch is in active pre-release mode!"
|
||
echo ""
|
||
echo "Pre-release mode must be exited before merging to main."
|
||
echo ""
|
||
echo "To fix this, run the following commands in your branch:"
|
||
echo " npx changeset pre exit"
|
||
echo " git add -u"
|
||
echo " git commit -m 'chore: exit pre-release mode'"
|
||
echo " git push"
|
||
echo ""
|
||
echo "Then update this pull request."
|
||
exit 1
|
||
fi
|
||
fi
|
||
|
||
echo "✅ Not in active pre-release mode - PR can be merged"
|