ci(release): harden beta validation gates

This commit is contained in:
Peter Steinberger
2026-05-15 18:27:36 +01:00
parent 7715b29aa2
commit 1bcc071385
5 changed files with 10 additions and 9 deletions

View File

@@ -1952,7 +1952,7 @@ jobs:
name: "macos-swift"
needs: [preflight]
if: needs.preflight.outputs.run_macos_swift == 'true'
runs-on: ${{ github.event_name == 'workflow_dispatch' && 'macos-latest' || (github.repository == 'openclaw/openclaw' && 'blacksmith-12vcpu-macos-latest' || 'macos-latest') }}
runs-on: ${{ github.event_name == 'workflow_dispatch' && 'macos-26' || (github.repository == 'openclaw/openclaw' && 'blacksmith-12vcpu-macos-latest' || 'macos-26') }}
timeout-minutes: 20
steps:
- name: Checkout

View File

@@ -518,7 +518,7 @@ jobs:
openai_model: openai/gpt-5.4
ubuntu_runner: ubuntu-24.04
windows_runner: windows-2025
macos_runner: macos-latest
macos_runner: macos-26
secrets:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}

View File

@@ -200,7 +200,7 @@ validate_changelog_entry_for_pr() {
pr_pattern="(#$pr|openclaw#$pr)"
local with_pr
with_pr=$(printf '%s\n' "$added_lines" | rg -in "$pr_pattern" || true)
with_pr=$(printf '%s\n' "$added_lines" | grep -Ein "$pr_pattern" || true)
if [ -z "$with_pr" ]; then
echo "CHANGELOG.md update must reference PR #$pr (for example, (#$pr))."
exit 1
@@ -338,7 +338,7 @@ END {
if changelog_thanks_required_for_contributor "$contrib"; then
local with_pr_and_thanks
with_pr_and_thanks=$(printf '%s\n' "$added_lines" | rg -in "$pr_pattern" | rg -i "thanks @$contrib" || true)
with_pr_and_thanks=$(printf '%s\n' "$added_lines" | grep -Ein "$pr_pattern" | grep -Fi "thanks @$contrib" || true)
if [ -z "$with_pr_and_thanks" ]; then
echo "CHANGELOG.md update must include both PR #$pr and thanks @$contrib on the changelog entry line."
exit 1
@@ -353,7 +353,7 @@ END {
fi
local with_pr_and_any_thanks
with_pr_and_any_thanks=$(printf '%s\n' "$added_lines" | rg -in "$pr_pattern" | rg -i '\bthanks[[:space:]]+@' || true)
with_pr_and_any_thanks=$(printf '%s\n' "$added_lines" | grep -Ein "$pr_pattern" | grep -Ei '(^|[[:space:]])thanks[[:space:]]+@' || true)
if [ -z "$with_pr_and_any_thanks" ]; then
echo "CHANGELOG.md update for bot/app/non-creditable author $contrib must include an explicit human Thanks @handle on the PR #$pr entry line."
echo "Choose the credited original contributor, or stop for maintainer input if authorship is unclear."
@@ -377,7 +377,7 @@ validate_changelog_merge_hygiene() {
fi
local removed_refs
removed_refs=$(printf '%s\n' "$removed_lines" | rg -o '#[0-9]+' | sort -u || true)
removed_refs=$(printf '%s\n' "$removed_lines" | grep -Eo '#[0-9]+' | sort -u || true)
if [ -z "$removed_refs" ]; then
return 0
fi
@@ -391,7 +391,7 @@ validate_changelog_merge_hygiene() {
local ref
while IFS= read -r ref; do
[ -z "$ref" ] && continue
if ! printf '%s\n' "$added_lines" | rg -q -F "$ref"; then
if ! printf '%s\n' "$added_lines" | grep -Fq "$ref"; then
echo "CHANGELOG.md drops existing entry reference $ref without re-adding it."
echo "Likely merge conflict loss; restore the dropped entry (or keep the same PR ref in rewritten text)."
exit 1

View File

@@ -236,7 +236,8 @@ describe("scripts/lib/plugin-prerelease-test-plan.mjs", () => {
permissions: {
contents: "read",
},
"runs-on": "blacksmith-8vcpu-ubuntu-2404",
"runs-on":
"${{ github.event_name == 'workflow_dispatch' && 'ubuntu-24.04' || 'blacksmith-8vcpu-ubuntu-2404' }}",
steps: [
{
name: "Checkout",

View File

@@ -42,7 +42,7 @@ describe("happy path prompt snapshots", () => {
beforeAll(async () => {
generatedSnapshots = await createFormattedPromptSnapshotFiles();
});
}, 300_000);
it("matches the committed Codex prompt snapshot artifacts", async () => {
const expectedPaths = new Set(generatedSnapshots.map((file) => file.path));