From 4bedcc5528c2eba3bc395d91f6f0b147353b4808 Mon Sep 17 00:00:00 2001 From: ranxi2001 Date: Tue, 7 Jul 2026 20:01:05 +0800 Subject: [PATCH 01/11] ci: add go toolchain update workflow Signed-off-by: ranxi2001 --- .github/workflows/go-toolchain-update.yml | 125 ++++++++++ hack/go-toolchain.py | 286 ++++++++++++++++++++++ 2 files changed, 411 insertions(+) create mode 100644 .github/workflows/go-toolchain-update.yml create mode 100755 hack/go-toolchain.py diff --git a/.github/workflows/go-toolchain-update.yml b/.github/workflows/go-toolchain-update.yml new file mode 100644 index 000000000..369762074 --- /dev/null +++ b/.github/workflows/go-toolchain-update.yml @@ -0,0 +1,125 @@ +name: Go Toolchain Update + +on: + schedule: + - cron: "0 3 * * 1" + +permissions: + contents: read + +jobs: + update-go-toolchain: + runs-on: ubuntu-24.04 + permissions: + contents: write + pull-requests: write + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Set up Go + uses: actions/setup-go@v5 + with: + go-version-file: go.mod + + - name: Check Go toolchain baseline + id: versions + run: | + current="$(python3 hack/go-toolchain.py current)" + latest="$(python3 hack/go-toolchain.py latest)" + + echo "current=${current}" >> "$GITHUB_OUTPUT" + echo "latest=${latest}" >> "$GITHUB_OUTPUT" + + if [ "$current" = "$latest" ]; then + echo "changed=false" >> "$GITHUB_OUTPUT" + echo "Go toolchain already matches latest stable Go ${latest}." + exit 0 + fi + + echo "changed=true" >> "$GITHUB_OUTPUT" + echo "Go toolchain update needed: ${current} -> ${latest}." + + - name: Update Go toolchain baseline + if: steps.versions.outputs.changed == 'true' + run: | + python3 hack/go-toolchain.py update --version "${{ steps.versions.outputs.latest }}" + go mod tidy + python3 hack/go-toolchain.py verify --check-latest --require-latest + git diff --check + + - name: Create or update pull request + if: steps.versions.outputs.changed == 'true' + env: + GH_TOKEN: ${{ github.token }} + TARGET_GO_VERSION: ${{ steps.versions.outputs.latest }} + run: | + branch="chore/go-toolchain-${TARGET_GO_VERSION//./}" + title="chore: update Go toolchain to ${TARGET_GO_VERSION}" + + git config user.name "github-actions[bot]" + git config user.email "41898282+github-actions[bot]@users.noreply.github.com" + git fetch origin "+refs/heads/${branch}:refs/remotes/origin/${branch}" || true + git switch -C "$branch" + git add go.mod go.sum docker/Dockerfile docker/Dockerfile.router docker/Dockerfile.picod + + if git diff --cached --quiet; then + echo "No Go toolchain changes remain after update." + exit 0 + fi + + git commit -s -m "$title" + git push --force-with-lease="refs/heads/${branch}" origin "$branch:$branch" + + cat > /tmp/go-toolchain-pr-body.md < str: + return path.read_text(encoding="utf-8") + + +def write_if_changed(path: Path, content: str, changed: list[Path]) -> None: + old = read_text(path) + if old == content: + return + path.write_text(content, encoding="utf-8") + changed.append(path) + + +def go_mod_path(repo: Path) -> Path: + return repo / "go.mod" + + +def read_go_version(repo: Path) -> str: + content = read_text(go_mod_path(repo)) + match = GO_DIRECTIVE_RE.search(content) + if not match: + raise ValueError("go.mod does not contain a parseable go directive") + return match.group(1) + + +def read_toolchain_version(repo: Path) -> str | None: + content = read_text(go_mod_path(repo)) + match = TOOLCHAIN_RE.search(content) + return match.group(1) if match else None + + +def latest_stable_go() -> str: + with urllib.request.urlopen("https://go.dev/dl/?mode=json", timeout=30) as response: + releases = json.load(response) + + for release in releases: + if release.get("stable"): + return str(release["version"]).removeprefix("go") + + raise ValueError("go.dev did not return a stable Go release") + + +def validate_version(version: str) -> None: + if not VERSION_RE.match(version): + raise ValueError(f"invalid Go version: {version!r}") + + +def update_go_mod(repo: Path, version: str, changed: list[Path]) -> None: + path = go_mod_path(repo) + content = read_text(path) + + if not GO_DIRECTIVE_RE.search(content): + raise ValueError("go.mod does not contain a parseable go directive") + + content = GO_DIRECTIVE_RE.sub(f"go {version}", content, count=1) + content = re.sub(r"\ntoolchain[ \t]+go[0-9]+\.[0-9]+(?:\.[0-9]+)?[ \t]*\n", "\n", content) + content = re.sub(r"\n{3,}", "\n\n", content) + write_if_changed(path, content, changed) + + +def update_dockerfiles(repo: Path, version: str, changed: list[Path]) -> None: + docker_dir = repo / "docker" + if not docker_dir.is_dir(): + raise ValueError(f"missing docker directory: {docker_dir}") + + found = False + for path in sorted(docker_dir.glob("Dockerfile*")): + content = read_text(path) + + def replace(match: re.Match[str]) -> str: + nonlocal found + found = True + prefix, _old_version, suffix = match.groups() + return f"{prefix}{version}{suffix}" + + write_if_changed(path, GOLANG_IMAGE_RE.sub(replace, content), changed) + + if not found: + raise ValueError("no golang builder images found under docker/Dockerfile*") + + +def update_workflows(repo: Path, changed: list[Path]) -> None: + workflows = repo / ".github" / "workflows" + if not workflows.is_dir(): + raise ValueError(f"missing workflow directory: {workflows}") + + for path in sorted(workflows.glob("*.yml")): + content = read_text(path) + write_if_changed(path, INLINE_GO_VERSION_RE.sub(r"\1go-version-file: go.mod", content), changed) + + +def update_repo(repo: Path, version: str) -> list[Path]: + validate_version(version) + changed: list[Path] = [] + update_go_mod(repo, version, changed) + update_dockerfiles(repo, version, changed) + update_workflows(repo, changed) + return changed + + +def verify_dockerfiles(repo: Path, go_version: str) -> list[str]: + errors: list[str] = [] + docker_dir = repo / "docker" + found = [] + + for path in sorted(docker_dir.glob("Dockerfile*")): + content = read_text(path) + for match in GOLANG_IMAGE_RE.finditer(content): + version, suffix = match.group(2), match.group(3) + rel = path.relative_to(repo) + found.append(rel) + print(f"Docker builder: {rel}: golang:{version}{suffix}") + if version != go_version: + errors.append(f"{rel} uses golang:{version}{suffix}, expected Go {go_version}") + + if not found: + errors.append("no golang builder images found under docker/Dockerfile*") + + return errors + + +def verify_workflows(repo: Path) -> list[str]: + errors: list[str] = [] + workflows = repo / ".github" / "workflows" + + for path in sorted(workflows.glob("*.yml")): + content = read_text(path) + if not SETUP_GO_RE.search(content): + continue + + rel = path.relative_to(repo) + has_file = bool(GO_VERSION_FILE_RE.search(content)) + has_inline = bool(GO_VERSION_RE.search(content)) + print(f"setup-go workflow: {rel}: go-version-file={has_file} inline-go-version={has_inline}") + + if not has_file: + errors.append(f"{rel} uses actions/setup-go without go-version-file: go.mod") + if has_inline: + errors.append(f"{rel} has inline go-version; prefer go-version-file: go.mod") + + return errors + + +def verify_repo(repo: Path, check_latest: bool, require_latest: bool) -> int: + errors: list[str] = [] + go_version = read_go_version(repo) + toolchain_version = read_toolchain_version(repo) + + print(f"go.mod go directive: {go_version}") + if toolchain_version: + print(f"go.mod toolchain directive: {toolchain_version}") + if toolchain_version != go_version: + errors.append(f"go.mod toolchain {toolchain_version} differs from go directive {go_version}") + else: + print("go.mod toolchain directive: ") + + errors.extend(verify_dockerfiles(repo, go_version)) + errors.extend(verify_workflows(repo)) + + if check_latest or require_latest: + latest = latest_stable_go() + print(f"latest stable Go release: {latest}") + if latest != go_version: + message = f"project Go {go_version} differs from latest stable Go {latest}" + if require_latest: + errors.append(message) + else: + print(f"NOTICE: {message}") + + if errors: + for error in errors: + print(f"ERROR: {error}", file=sys.stderr) + return 1 + + print("Go toolchain alignment: OK") + return 0 + + +def parse_args() -> argparse.Namespace: + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--repo-root", default=".", help="Repository root. Defaults to current directory.") + + subparsers = parser.add_subparsers(dest="command", required=True) + subparsers.add_parser("current", help="Print the current go.mod Go directive.") + subparsers.add_parser("latest", help="Print the latest stable Go release from go.dev.") + + update = subparsers.add_parser("update", help="Update go.mod, Dockerfiles, and setup-go workflows.") + update.add_argument("--version", help="Target Go version without the leading 'go'.") + update.add_argument("--latest", action="store_true", help="Use the latest stable Go release from go.dev.") + + verify = subparsers.add_parser("verify", help="Verify Go toolchain baseline alignment.") + verify.add_argument("--check-latest", action="store_true", help="Report the latest stable Go version.") + verify.add_argument("--require-latest", action="store_true", help="Fail if go.mod is behind latest stable Go.") + + return parser.parse_args() + + +def main() -> int: + args = parse_args() + repo = Path(args.repo_root).resolve() + + try: + if args.command == "current": + print(read_go_version(repo)) + return 0 + + if args.command == "latest": + print(latest_stable_go()) + return 0 + + if args.command == "update": + if args.latest == bool(args.version): + raise ValueError("choose exactly one of --latest or --version") + + version = latest_stable_go() if args.latest else args.version + assert version is not None + changed = update_repo(repo, version) + print(f"target Go version: {version}") + if changed: + print("updated files:") + for path in changed: + print(f"- {path.relative_to(repo)}") + else: + print("no files changed") + return 0 + + if args.command == "verify": + return verify_repo(repo, args.check_latest, args.require_latest) + + except Exception as exc: # noqa: BLE001 - CLI should print compact errors. + print(f"ERROR: {exc}", file=sys.stderr) + return 1 + + raise AssertionError(f"unhandled command: {args.command}") + + +if __name__ == "__main__": + raise SystemExit(main()) From ebb98f84dc43f9b295b10cc98ce06c65d64e4e99 Mon Sep 17 00:00:00 2001 From: ranxi2001 Date: Tue, 7 Jul 2026 22:48:33 +0800 Subject: [PATCH 02/11] ci: harden go toolchain update workflow Signed-off-by: ranxi2001 --- .github/workflows/go-toolchain-update.yml | 6 ++++-- hack/go-toolchain.py | 17 +---------------- 2 files changed, 5 insertions(+), 18 deletions(-) diff --git a/.github/workflows/go-toolchain-update.yml b/.github/workflows/go-toolchain-update.yml index 369762074..bb5fe49bb 100644 --- a/.github/workflows/go-toolchain-update.yml +++ b/.github/workflows/go-toolchain-update.yml @@ -15,12 +15,12 @@ jobs: pull-requests: write steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: fetch-depth: 0 - name: Set up Go - uses: actions/setup-go@v5 + uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6.5.0 with: go-version-file: go.mod @@ -49,6 +49,7 @@ jobs: go mod tidy python3 hack/go-toolchain.py verify --check-latest --require-latest git diff --check + git diff --exit-code -- .github/workflows - name: Create or update pull request if: steps.versions.outputs.changed == 'true' @@ -96,6 +97,7 @@ jobs: - \`go mod tidy\` - \`python3 hack/go-toolchain.py verify --check-latest --require-latest\` - \`git diff --check\` + - \`git diff --exit-code -- .github/workflows\` - PRs created with \`GITHUB_TOKEN\` may not recursively trigger every downstream workflow, so normal PR CI should still be checked before merge. **Does this PR introduce a user-facing change?**: diff --git a/hack/go-toolchain.py b/hack/go-toolchain.py index f53989f95..a9b520ba9 100755 --- a/hack/go-toolchain.py +++ b/hack/go-toolchain.py @@ -40,10 +40,6 @@ SETUP_GO_RE = re.compile(r"uses:[ \t]*actions/setup-go@") GO_VERSION_RE = re.compile(r"\bgo-version[ \t]*:") GO_VERSION_FILE_RE = re.compile(r"\bgo-version-file[ \t]*:[ \t]*go\.mod\b") -INLINE_GO_VERSION_RE = re.compile( - r"^([ \t]*)go-version[ \t]*:[ \t]*[\"']?[^\"'\n]+[\"']?[ \t]*$", - re.MULTILINE, -) VERSION_RE = re.compile(r"^[0-9]+\.[0-9]+(?:\.[0-9]+)?$") @@ -127,22 +123,11 @@ def replace(match: re.Match[str]) -> str: raise ValueError("no golang builder images found under docker/Dockerfile*") -def update_workflows(repo: Path, changed: list[Path]) -> None: - workflows = repo / ".github" / "workflows" - if not workflows.is_dir(): - raise ValueError(f"missing workflow directory: {workflows}") - - for path in sorted(workflows.glob("*.yml")): - content = read_text(path) - write_if_changed(path, INLINE_GO_VERSION_RE.sub(r"\1go-version-file: go.mod", content), changed) - - def update_repo(repo: Path, version: str) -> list[Path]: validate_version(version) changed: list[Path] = [] update_go_mod(repo, version, changed) update_dockerfiles(repo, version, changed) - update_workflows(repo, changed) return changed @@ -232,7 +217,7 @@ def parse_args() -> argparse.Namespace: subparsers.add_parser("current", help="Print the current go.mod Go directive.") subparsers.add_parser("latest", help="Print the latest stable Go release from go.dev.") - update = subparsers.add_parser("update", help="Update go.mod, Dockerfiles, and setup-go workflows.") + update = subparsers.add_parser("update", help="Update go.mod and Docker builder image tags.") update.add_argument("--version", help="Target Go version without the leading 'go'.") update.add_argument("--latest", action="store_true", help="Use the latest stable Go release from go.dev.") From 677f7b6f04c5d7a9745a364fde5d97c855bea4e1 Mon Sep 17 00:00:00 2001 From: ranxi2001 Date: Tue, 7 Jul 2026 22:52:41 +0800 Subject: [PATCH 03/11] test: lower go baseline for scheduled workflow Signed-off-by: ranxi2001 --- .github/workflows/go-toolchain-update.yml | 2 +- docker/Dockerfile | 2 +- docker/Dockerfile.picod | 2 +- docker/Dockerfile.router | 2 +- go.mod | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/go-toolchain-update.yml b/.github/workflows/go-toolchain-update.yml index bb5fe49bb..ba79717b9 100644 --- a/.github/workflows/go-toolchain-update.yml +++ b/.github/workflows/go-toolchain-update.yml @@ -2,7 +2,7 @@ name: Go Toolchain Update on: schedule: - - cron: "0 3 * * 1" + - cron: "55 14 * * *" permissions: contents: read diff --git a/docker/Dockerfile b/docker/Dockerfile index 012688cfe..7e276b9db 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,5 +1,5 @@ # Multi-stage build for workloadmanager -FROM --platform=$BUILDPLATFORM golang:1.26.4-alpine AS builder +FROM --platform=$BUILDPLATFORM golang:1.26.1-alpine AS builder # Build arguments for multi-architecture support ARG TARGETOS=linux diff --git a/docker/Dockerfile.picod b/docker/Dockerfile.picod index 05a663dd9..82c92568b 100644 --- a/docker/Dockerfile.picod +++ b/docker/Dockerfile.picod @@ -1,5 +1,5 @@ # Build stage -FROM --platform=$BUILDPLATFORM golang:1.26.4 AS builder +FROM --platform=$BUILDPLATFORM golang:1.26.1 AS builder # Build arguments for multi-architecture support ARG TARGETOS=linux diff --git a/docker/Dockerfile.router b/docker/Dockerfile.router index 03bd30ecb..b7db76870 100644 --- a/docker/Dockerfile.router +++ b/docker/Dockerfile.router @@ -1,5 +1,5 @@ # Multi-stage build for agentcube-router -FROM --platform=$BUILDPLATFORM golang:1.26.4-alpine AS builder +FROM --platform=$BUILDPLATFORM golang:1.26.1-alpine AS builder # Build arguments for multi-architecture support ARG TARGETOS=linux diff --git a/go.mod b/go.mod index 9e73c5019..3007546b0 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/volcano-sh/agentcube -go 1.26.4 +go 1.26.1 require ( github.com/agiledragon/gomonkey/v2 v2.13.0 From cd7ce20adb944b8f3b55419e7a7a6cfe27340332 Mon Sep 17 00:00:00 2001 From: ranxi2001 Date: Tue, 7 Jul 2026 23:08:17 +0800 Subject: [PATCH 04/11] test: reschedule go toolchain workflow Signed-off-by: ranxi2001 --- .github/workflows/go-toolchain-update.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/go-toolchain-update.yml b/.github/workflows/go-toolchain-update.yml index ba79717b9..c274384ca 100644 --- a/.github/workflows/go-toolchain-update.yml +++ b/.github/workflows/go-toolchain-update.yml @@ -2,7 +2,7 @@ name: Go Toolchain Update on: schedule: - - cron: "55 14 * * *" + - cron: "12 15 * * *" permissions: contents: read From fae4674952cc3ff8207941d54e82aabbf1f725e6 Mon Sep 17 00:00:00 2001 From: ranxi2001 Date: Tue, 7 Jul 2026 23:26:19 +0800 Subject: [PATCH 05/11] test: enable manual go toolchain workflow trigger [skip ci] Signed-off-by: ranxi2001 --- .github/workflows/go-toolchain-update.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/go-toolchain-update.yml b/.github/workflows/go-toolchain-update.yml index c274384ca..39a5494d9 100644 --- a/.github/workflows/go-toolchain-update.yml +++ b/.github/workflows/go-toolchain-update.yml @@ -1,6 +1,7 @@ name: Go Toolchain Update on: + workflow_dispatch: schedule: - cron: "12 15 * * *" From 9cd8e0fb886ce4bd4e54375c3a9b6aed87bc93ee Mon Sep 17 00:00:00 2001 From: ranxi2001 Date: Tue, 7 Jul 2026 23:50:23 +0800 Subject: [PATCH 06/11] test: validate go toolchain scheduled workflow [skip ci] Signed-off-by: ranxi2001 --- .github/workflows/go-toolchain-update.yml | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/.github/workflows/go-toolchain-update.yml b/.github/workflows/go-toolchain-update.yml index 39a5494d9..b50e8d025 100644 --- a/.github/workflows/go-toolchain-update.yml +++ b/.github/workflows/go-toolchain-update.yml @@ -1,9 +1,8 @@ name: Go Toolchain Update on: - workflow_dispatch: schedule: - - cron: "12 15 * * *" + - cron: "58 15 * * *" permissions: contents: read @@ -20,11 +19,6 @@ jobs: with: fetch-depth: 0 - - name: Set up Go - uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6.5.0 - with: - go-version-file: go.mod - - name: Check Go toolchain baseline id: versions run: | @@ -43,10 +37,19 @@ jobs: echo "changed=true" >> "$GITHUB_OUTPUT" echo "Go toolchain update needed: ${current} -> ${latest}." - - name: Update Go toolchain baseline + - name: Update Go toolchain files + if: steps.versions.outputs.changed == 'true' + run: python3 hack/go-toolchain.py update --version "${{ steps.versions.outputs.latest }}" + + - name: Set up target Go + if: steps.versions.outputs.changed == 'true' + uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6.5.0 + with: + go-version-file: go.mod + + - name: Validate Go toolchain update if: steps.versions.outputs.changed == 'true' run: | - python3 hack/go-toolchain.py update --version "${{ steps.versions.outputs.latest }}" go mod tidy python3 hack/go-toolchain.py verify --check-latest --require-latest git diff --check From 90be6464dc86f284ac5bf9de006f1f7fe3361bb6 Mon Sep 17 00:00:00 2001 From: ranxi2001 Date: Wed, 8 Jul 2026 00:23:52 +0800 Subject: [PATCH 07/11] test: run go toolchain schedule every five minutes [skip ci] Signed-off-by: ranxi2001 --- .github/workflows/go-toolchain-update.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/go-toolchain-update.yml b/.github/workflows/go-toolchain-update.yml index b50e8d025..ab9d2c640 100644 --- a/.github/workflows/go-toolchain-update.yml +++ b/.github/workflows/go-toolchain-update.yml @@ -2,7 +2,7 @@ name: Go Toolchain Update on: schedule: - - cron: "58 15 * * *" + - cron: "*/5 * * * *" permissions: contents: read From dddc2e64c6d51eb14fffa9ce2bc645439f46dc5b Mon Sep 17 00:00:00 2001 From: ranxi2001 Date: Wed, 8 Jul 2026 00:35:59 +0800 Subject: [PATCH 08/11] test: refresh go toolchain schedule Signed-off-by: ranxi2001 From 37dc2bc88651dce50a1b58c50c86b5f4fc71bff8 Mon Sep 17 00:00:00 2001 From: ranxi2001 Date: Wed, 8 Jul 2026 00:48:37 +0800 Subject: [PATCH 09/11] test: allow manual go toolchain schedule run Signed-off-by: ranxi2001 --- .github/workflows/go-toolchain-update.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/go-toolchain-update.yml b/.github/workflows/go-toolchain-update.yml index ab9d2c640..b4c6e1b3e 100644 --- a/.github/workflows/go-toolchain-update.yml +++ b/.github/workflows/go-toolchain-update.yml @@ -1,6 +1,7 @@ name: Go Toolchain Update on: + workflow_dispatch: schedule: - cron: "*/5 * * * *" From dce5662bce869ddccb6ea5965f7f96a4d0d1264d Mon Sep 17 00:00:00 2001 From: ranxi2001 Date: Wed, 8 Jul 2026 00:54:44 +0800 Subject: [PATCH 10/11] test: run go toolchain schedule every six hours Signed-off-by: ranxi2001 --- .github/workflows/go-toolchain-update.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/go-toolchain-update.yml b/.github/workflows/go-toolchain-update.yml index b4c6e1b3e..7121ab621 100644 --- a/.github/workflows/go-toolchain-update.yml +++ b/.github/workflows/go-toolchain-update.yml @@ -3,7 +3,7 @@ name: Go Toolchain Update on: workflow_dispatch: schedule: - - cron: "*/5 * * * *" + - cron: "17 */6 * * *" permissions: contents: read From 32f3d63bf78984831c0e5066fde18b3a00dca4d8 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 7 Jul 2026 20:18:12 +0000 Subject: [PATCH 11/11] chore: update Go toolchain to 1.26.5 Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- docker/Dockerfile | 2 +- docker/Dockerfile.picod | 2 +- docker/Dockerfile.router | 2 +- go.mod | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 7e276b9db..33f79a4d3 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,5 +1,5 @@ # Multi-stage build for workloadmanager -FROM --platform=$BUILDPLATFORM golang:1.26.1-alpine AS builder +FROM --platform=$BUILDPLATFORM golang:1.26.5-alpine AS builder # Build arguments for multi-architecture support ARG TARGETOS=linux diff --git a/docker/Dockerfile.picod b/docker/Dockerfile.picod index 82c92568b..ac6ce5aff 100644 --- a/docker/Dockerfile.picod +++ b/docker/Dockerfile.picod @@ -1,5 +1,5 @@ # Build stage -FROM --platform=$BUILDPLATFORM golang:1.26.1 AS builder +FROM --platform=$BUILDPLATFORM golang:1.26.5 AS builder # Build arguments for multi-architecture support ARG TARGETOS=linux diff --git a/docker/Dockerfile.router b/docker/Dockerfile.router index b7db76870..ce1ad1e45 100644 --- a/docker/Dockerfile.router +++ b/docker/Dockerfile.router @@ -1,5 +1,5 @@ # Multi-stage build for agentcube-router -FROM --platform=$BUILDPLATFORM golang:1.26.1-alpine AS builder +FROM --platform=$BUILDPLATFORM golang:1.26.5-alpine AS builder # Build arguments for multi-architecture support ARG TARGETOS=linux diff --git a/go.mod b/go.mod index 3007546b0..effcbfa95 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/volcano-sh/agentcube -go 1.26.1 +go 1.26.5 require ( github.com/agiledragon/gomonkey/v2 v2.13.0