Skip to content

build: upgrade Go toolchain to 1.26.4 project-wide#14

Merged
hawkff merged 1 commit into
mainfrom
maintenance/go-1.26
Jun 15, 2026
Merged

build: upgrade Go toolchain to 1.26.4 project-wide#14
hawkff merged 1 commit into
mainfrom
maintenance/go-1.26

Conversation

@hawkff

@hawkff hawkff commented Jun 15, 2026

Copy link
Copy Markdown
Owner

Summary

Upgrades the Go toolchain across the whole project to the current stable 1.26.4
(from 1.24.9).

Where Before After
libcore/go.mod toolchain go1.24.9 go1.26.4
CI setup-go (all 8 entries: ci/build/preview/release × libcore+mieru jobs) 1.24.9 1.26.4

The go.mod language floor (go 1.24.7) is intentionally left unchanged — it states the
minimum language version; toolchain go1.26.4 controls the actual compiler.

Verification (AWS Linux builder, Go 1.26.4)

  • Native core rebuilt from scratch: starifly/sing-box + libneko + gomobile + all pinned
    deps compile cleanly under Go 1.26.4; libcore.aar produced.
  • ./gradlew app:assembleOssDebug — BUILD SUCCESSFUL (4 ABI APKs).
  • Local CodeRabbit review: 0 findings.

Notes

  • This is a two-minor-version jump (1.24 → 1.26). Go's compatibility guarantee held: no
    source or dependency changes were required.
  • Supersedes the earlier 1.24.9 alignment (PR ci: align Go toolchain to 1.24.9 across workflows #6) now that the full core is confirmed to
    build on 1.26.4.

Scope

  • libcore/go.mod (toolchain line) + 4 workflow files. No source, no dependency, no
    sing-box/libneko pin changes.

Bump libcore/go.mod toolchain directive (go1.24.9 -> go1.26.4) and all CI
setup-go pins (1.24.9 -> 1.26.4). The go.mod language floor (go 1.24.7) is
left as-is.

Verified the native core (starifly/sing-box + libneko + gomobile + all deps)
builds cleanly under Go 1.26.4 on the Linux builder.
@coderabbitai

coderabbitai Bot commented Jun 15, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@hawkff, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 6 hours, 51 minutes, and 33 seconds. Learn how PR review limits work.

Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file).

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 3dc73a04-afe9-427a-82fd-753cc72e91ef

📥 Commits

Reviewing files that changed from the base of the PR and between 3ab203f and 6a17eba.

📒 Files selected for processing (5)
  • .github/workflows/build.yml
  • .github/workflows/ci.yml
  • .github/workflows/preview.yml
  • .github/workflows/release.yml
  • libcore/go.mod

Comment @coderabbitai help to get the list of available commands and usage tips.

@hawkff hawkff marked this pull request as ready for review June 15, 2026 22:08
@hawkff

hawkff commented Jun 15, 2026

Copy link
Copy Markdown
Owner Author

@coderabbitai full review

Please focus on Go toolchain reproducibility. Verify this only bumps the go.mod toolchain directive and CI setup-go pins to 1.26.4 (language floor go 1.24.7 unchanged), with no source/dependency changes. The native core (starifly/sing-box + libneko + gomobile) was verified to build cleanly under Go 1.26.4 on the builder, plus a full assembleOssDebug.

@coderabbitai

coderabbitai Bot commented Jun 15, 2026

Copy link
Copy Markdown

Tip

For best results, initiate chat on the files or code changes.

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

REPO="hawkff/NekoBoxForAndroid"
PR=14

echo "=== PR info ==="
gh pr view "$PR" --repo "$REPO" --json title,body,files,baseRefName,headRefName

echo ""
echo "=== PR diff ==="
gh pr diff "$PR" --repo "$REPO"

Length of output: 5458



@hawkff: Full review complete. Here is a verified summary against every stated goal:


Review: Go toolchain bump to 1.26.4

Scope verification ✅

Exactly 5 files changed, all as declared:

File Change
libcore/go.mod toolchain go1.24.9toolchain go1.26.4
.github/workflows/build.yml go-version: '1.24.9''1.26.4'
.github/workflows/ci.yml go-version: '1.24.9''1.26.4'
.github/workflows/preview.yml go-version: '1.24.9''1.26.4'
.github/workflows/release.yml go-version: '1.24.9''1.26.4'

No go.sum, no require/replace block, no source file touched. ✅

Language floor unchanged ✅

libcore/go.mod line 3 remains go 1.24.7 — the minimum language version is untouched. ✅

CI reproducibility ✅

All 8 setup-go entries (libcore + mieru job × 4 workflows) use the exact patch version '1.26.4' — no floating 1.26.x or 1.26 shorthand. Every workflow uses actions/setup-go@v6 consistently. ✅

Toolchain sync ✅

toolchain go1.26.4 in go.mod matches go-version: '1.26.4' in all CI jobs — the compiler used locally (module directive) and in CI (runner) are identical, which is the key reproducibility requirement. ✅

No findings

The PR is surgical and minimal. Everything checks out against the stated scope.

[approve]

@hawkff hawkff merged commit 11d7cb6 into main Jun 15, 2026
4 checks passed
@hawkff hawkff deleted the maintenance/go-1.26 branch June 15, 2026 22:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant