From be42d683397c380fe8fc64459df8ad3f52451a0d Mon Sep 17 00:00:00 2001 From: Ildar Nurislamov Date: Wed, 26 Aug 2026 18:03:44 +0400 Subject: [PATCH] feat(ai-review): switch to gpt-5.6-terra; add moving `current` tag - ai-review.yml: model gpt-5.3-codex -> gpt-5.6-terra (same effort: high). Cost table updated to Terra's rates ($2 / $0.2 / $12 per 1M) and the pricing source URL. Terra is in the pinned codex CLI 0.149.0 preset list; gpt-5.3-codex no longer is and its predecessors were shut down 2026-07-23. - release.yml: after cutting the dated release tag, force-move a `current` tag to the same commit. Consumers reference `@current` so a new release no longer needs a re-pin PR in every repo; rolling back is one `git tag -f current && git push -f`. - README: document `@current` vs pinned release and the rollback. Co-Authored-By: Claude Fable 5 --- .github/workflows/ai-review.yml | 14 +++++++------- .github/workflows/release.yml | 15 ++++++++++++++- README.md | 19 ++++++++++++++++--- 3 files changed, 37 insertions(+), 11 deletions(-) diff --git a/.github/workflows/ai-review.yml b/.github/workflows/ai-review.yml index 539c634..5d51df5 100644 --- a/.github/workflows/ai-review.yml +++ b/.github/workflows/ai-review.yml @@ -296,7 +296,7 @@ jobs: openai-api-key: ${{ secrets.OPENAI_API_KEY }} prompt-file: .github/workflows/ai-review.prompt.md output-file: .github/codex/output/codex-final-message.md - model: gpt-5.3-codex + model: gpt-5.6-terra effort: high # the CLI floated to npm latest too; pinned to the release verified # clean with v1.11 so a CLI release can't change review behaviour @@ -325,17 +325,17 @@ jobs: id: estimate-cost env: CODEX_HOME: .github/codex/home - MODEL: gpt-5.3-codex + MODEL: gpt-5.6-terra # Standard text-token rates per 1M tokens, sourced from: - # https://developers.openai.com/api/docs/models/gpt-5.3-codex - PRICE_INPUT_PER_M: "1.75" - PRICE_CACHED_INPUT_PER_M: "0.175" - PRICE_OUTPUT_PER_M: "14.0" + # https://developers.openai.com/api/docs/models/gpt-5.6-terra + PRICE_INPUT_PER_M: "2.0" + PRICE_CACHED_INPUT_PER_M: "0.2" + PRICE_OUTPUT_PER_M: "12.0" run: | set -euo pipefail echo "model=$MODEL" >> "$GITHUB_OUTPUT" - echo "price_source=https://developers.openai.com/api/docs/models/gpt-5.3-codex" >> "$GITHUB_OUTPUT" + echo "price_source=https://developers.openai.com/api/docs/models/gpt-5.6-terra" >> "$GITHUB_OUTPUT" SESSION_FILE=$(find "$CODEX_HOME" -type f -name '*.jsonl' -print 2>/dev/null | xargs ls -t 2>/dev/null | head -n1 || true) if [ -z "$SESSION_FILE" ]; then diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b0cb552..9e4f4aa 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -28,5 +28,18 @@ jobs: echo "tag=$TAG" >> "$GITHUB_OUTPUT" echo "Created tag: $TAG" + # `current` is a moving tag that always points at the latest release on + # main. Consumers reference `ai-review.yml@current` so they pick up new + # releases without a per-repo re-pin. To roll back every consumer at + # once, move the tag by hand to an older release: + # git tag -f current 1.30.20260821 && git push -f origin current + # (the next merge to main moves it forward again). + - name: "🏷️ Move `current` tag" + run: | + set -euo pipefail + git tag -f current + git push -f origin current + echo "Moved tag: current -> $(git rev-parse --short HEAD)" + - name: "📝 Write summary" - run: echo "Released tag \`${{ steps.tag.outputs.tag }}\`" >> "$GITHUB_STEP_SUMMARY" + run: echo "Released tag \`${{ steps.tag.outputs.tag }}\` (\`current\` now points here)" >> "$GITHUB_STEP_SUMMARY" diff --git a/README.md b/README.md index 9c666fe..3e72114 100644 --- a/README.md +++ b/README.md @@ -63,7 +63,7 @@ on: jobs: ai-review: - uses: jitsucom/github-workflows/.github/workflows/ai-review.yml@main + uses: jitsucom/github-workflows/.github/workflows/ai-review.yml@current secrets: inherit with: pr_number: ${{ inputs.pr_number }} @@ -81,9 +81,22 @@ Use the `review_instructions` input to focus the review on what matters for your Skip style nitpicks. ``` -#### Updating +#### Versioning -All consuming repos pick up changes automatically on the next run — no changes needed per repo. +Every merge to `main` is tagged `1..` by +[`release.yml`](.github/workflows/release.yml), which also moves the `current` tag to the +same commit. + +- `@current` (recommended) — consuming repos pick up each release automatically on the + next run; no per-repo re-pin. +- `@1.30.20260821` — pin a specific release if a repo needs to opt out of updates. + +To roll back **all** `@current` consumers at once, move the tag to an older release +(the next merge to `main` moves it forward again): + +```sh +git tag -f current 1.30.20260821 && git push -f origin current +``` ## Composite actions