goose/.github/workflows/minor-release.yaml
Jack Amadeo 184f9efda2
Some checks are pending
Canary / bundle-desktop (push) Blocked by required conditions
Canary / bundle-desktop-intel (push) Blocked by required conditions
Canary / bundle-desktop-linux (push) Blocked by required conditions
Canary / bundle-desktop-windows (push) Blocked by required conditions
Canary / bundle-desktop-windows-cuda (push) Blocked by required conditions
Canary / Release (push) Blocked by required conditions
Cargo Deny / deny (push) Waiting to run
Unused Dependencies / machete (push) Waiting to run
CI / Test and Lint Electron Desktop App (push) Blocked by required conditions
CI / changes (push) Waiting to run
CI / Check Rust Code Format (push) Blocked by required conditions
CI / Build and Test Rust Project (push) Blocked by required conditions
CI / Build Rust Project on Windows (push) Waiting to run
CI / Check MSRV (push) Blocked by required conditions
CI / Lint Rust Code (push) Blocked by required conditions
CI / Check Generated Schemas are Up-to-Date (push) Blocked by required conditions
Deploy Documentation / deploy (push) Waiting to run
Create Minor Release PR / check-version-bump-pr (push) Waiting to run
Create Minor Release PR / release (push) Blocked by required conditions
Live Provider Tests / check-fork (push) Waiting to run
Live Provider Tests / changes (push) Blocked by required conditions
Live Provider Tests / Build Binary (push) Blocked by required conditions
Live Provider Tests / Smoke Tests (push) Blocked by required conditions
Live Provider Tests / Smoke Tests (Code Execution) (push) Blocked by required conditions
Live Provider Tests / Compaction Tests (push) Blocked by required conditions
Canary / Prepare Version (push) Waiting to run
Canary / build-cli (push) Blocked by required conditions
Canary / Upload Install Script (push) Blocked by required conditions
Live Provider Tests / goose server HTTP integration tests (push) Blocked by required conditions
Publish Ask AI Bot Docker Image / docker (push) Waiting to run
Publish Docker Image / docker (push) Waiting to run
Scorecard supply-chain security / Scorecard analysis (push) Waiting to run
Keep the version-bump PR up to date by re-running on merge conflicts (#9761)
2026-06-17 15:43:23 +00:00

71 lines
2.3 KiB
YAML

name: Create Minor Release PR
permissions:
contents: write
pull-requests: write
on:
schedule:
- cron: "0 0 * * 2"
workflow_dispatch:
push:
branches:
- main
jobs:
check-version-bump-pr:
if: github.repository == 'aaif-goose/goose' && github.event_name == 'push'
runs-on: ubuntu-latest
outputs:
should_run: ${{ steps.check.outputs.should_run }}
steps:
- name: Check for conflicted version bump PR
id: check
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
for attempt in 1 2 3 4 5 6; do
CONFLICTING_PR_URLS=$(gh pr list \
--repo "$GITHUB_REPOSITORY" \
--base main \
--state open \
--search 'head:version-bump/' \
--json mergeStateStatus,url \
--jq '.[] | select(.mergeStateStatus == "DIRTY") | .url')
UNKNOWN_COUNT=$(gh pr list \
--repo "$GITHUB_REPOSITORY" \
--base main \
--state open \
--search 'head:version-bump/' \
--json mergeStateStatus \
--jq '[.[] | select(.mergeStateStatus == "UNKNOWN")] | length')
if [ -n "$CONFLICTING_PR_URLS" ] || [ "$UNKNOWN_COUNT" = "0" ]; then
break
fi
echo "Waiting for GitHub to compute PR mergeability (attempt $attempt)..."
sleep 10
done
if [ -n "$CONFLICTING_PR_URLS" ]; then
echo "Found conflicted version bump PR(s):"
echo "$CONFLICTING_PR_URLS"
echo "should_run=true" >> "$GITHUB_OUTPUT"
else
echo "No conflicted version bump PR found."
echo "should_run=false" >> "$GITHUB_OUTPUT"
fi
release:
needs: check-version-bump-pr
if: always() && github.repository == 'aaif-goose/goose' && (github.event_name != 'push' || needs.check-version-bump-pr.outputs.should_run == 'true')
uses: ./.github/workflows/create-version-bump-pr.yaml
secrets:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
GOOGLE_API_KEY: ${{ secrets.GOOGLE_API_KEY }}
OPENROUTER_API_KEY: ${{ secrets.OPENROUTER_API_KEY }}
XAI_API_KEY: ${{ secrets.XAI_API_KEY }}
TETRATE_API_KEY: ${{ secrets.TETRATE_API_KEY }}