From 6743526ad86197afb06eace5b0d07b0c23c6e6ed Mon Sep 17 00:00:00 2001 From: Maxence Maireaux Date: Wed, 21 Oct 2026 12:40:13 +0200 Subject: [PATCH 1/3] chore: use patched Go 1.26.10 toolchain --- .github/workflows/main.yml | 2 +- flake.lock | 18 ++++++++++++++++++ flake.nix | 25 +++++++++++++++++++------ 3 files changed, 38 insertions(+), 7 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index cb7320eb..d53713d8 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -52,7 +52,7 @@ jobs: - uses: actions/checkout@v7 - uses: actions/setup-go@v7 with: - go-version-file: go.mod + go-version: 1.26.10 # internal/oracle and internal/difftest are their own modules with # their own go.sum; actions/setup-go only caches the root one by # default. diff --git a/flake.lock b/flake.lock index 977f4c86..a8d36432 100644 --- a/flake.lock +++ b/flake.lock @@ -21,6 +21,23 @@ "type": "github" } }, + "go-tooling": { + "flake": false, + "locked": { + "lastModified": 1792576425, + "narHash": "sha256-SUPLAibw0l2AIg19PC8ttGjMWNId0LSOzkjnzcd0gqE=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "8cec5ef1131078ea76689e84c362b0ed6a1fb6a1", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "8cec5ef1131078ea76689e84c362b0ed6a1fb6a1", + "type": "github" + } + }, "nixpkgs": { "locked": { "lastModified": 1773068389, @@ -72,6 +89,7 @@ }, "root": { "inputs": { + "go-tooling": "go-tooling", "nixpkgs": "nixpkgs", "nixpkgs-unstable": "nixpkgs-unstable", "nur": "nur" diff --git a/flake.nix b/flake.nix index 5d0fd199..c5c0474b 100644 --- a/flake.nix +++ b/flake.nix @@ -5,13 +5,18 @@ nixpkgs.url = "https://flakehub.com/f/NixOS/nixpkgs/0.2511"; nixpkgs-unstable.url = "https://flakehub.com/f/NixOS/nixpkgs/0.1"; + go-tooling = { + url = "github:NixOS/nixpkgs/8cec5ef1131078ea76689e84c362b0ed6a1fb6a1"; + flake = false; + }; + nur = { url = "github:nix-community/NUR"; inputs.nixpkgs.follows = "nixpkgs"; }; }; - outputs = { self, nixpkgs, nixpkgs-unstable, nur }: + outputs = { self, nixpkgs, nixpkgs-unstable, nur, go-tooling }: let supportedSystems = [ "x86_64-linux" @@ -40,24 +45,32 @@ { devShells = forEachSupportedSystem ({ pkgs, pkgs-unstable, system }: let + go = pkgs.callPackage "${go-tooling}/pkgs/development/compilers/go/1.26.nix" { + buildGo126Module = buildGoModule; + }; + buildGoModule = pkgs.buildGoModule.override { inherit go; }; + go127 = pkgs.callPackage "${go-tooling}/pkgs/development/compilers/go/1.27.nix" { + buildGo127Module = buildGo127Module; + }; + buildGo127Module = pkgs.buildGoModule.override { go = go127; }; + golangci-lint = pkgs.callPackage "${go-tooling}/pkgs/by-name/go/golangci-lint/package.nix" { + inherit buildGo127Module; + }; stablePackages = with pkgs; [ antlr ginkgo - go_1_26 goperf gotools just ]; - unstablePackages = with pkgs-unstable; [ - golangci-lint - ]; + goPackages = [ go golangci-lint ]; otherPackages = [ pkgs.nur.repos.goreleaser.goreleaser-pro ]; in { default = pkgs.mkShell { - packages = stablePackages ++ unstablePackages ++ otherPackages; + packages = stablePackages ++ goPackages ++ otherPackages; }; } ); From 9cde264ff6c7fcf87b377823a0f01aa1041fec9b Mon Sep 17 00:00:00 2001 From: Maxence Maireaux Date: Wed, 21 Oct 2026 13:52:28 +0200 Subject: [PATCH 2/3] chore: select Go 1.27.3 for compilation --- .github/workflows/main.yml | 2 +- flake.nix | 9 +++------ 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index d53713d8..d347e814 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -52,7 +52,7 @@ jobs: - uses: actions/checkout@v7 - uses: actions/setup-go@v7 with: - go-version: 1.26.10 + go-version: 1.27.3 # internal/oracle and internal/difftest are their own modules with # their own go.sum; actions/setup-go only caches the root one by # default. diff --git a/flake.nix b/flake.nix index c5c0474b..d708450b 100644 --- a/flake.nix +++ b/flake.nix @@ -1,5 +1,5 @@ { - description = "A Nix-flake-based Go 1.26 development environment"; + description = "A Nix-flake-based Go 1.27.3 development environment"; inputs = { nixpkgs.url = "https://flakehub.com/f/NixOS/nixpkgs/0.2511"; @@ -45,12 +45,9 @@ { devShells = forEachSupportedSystem ({ pkgs, pkgs-unstable, system }: let - go = pkgs.callPackage "${go-tooling}/pkgs/development/compilers/go/1.26.nix" { - buildGo126Module = buildGoModule; - }; - buildGoModule = pkgs.buildGoModule.override { inherit go; }; + go = go127; go127 = pkgs.callPackage "${go-tooling}/pkgs/development/compilers/go/1.27.nix" { - buildGo127Module = buildGo127Module; + inherit buildGo127Module; }; buildGo127Module = pkgs.buildGoModule.override { go = go127; }; golangci-lint = pkgs.callPackage "${go-tooling}/pkgs/by-name/go/golangci-lint/package.nix" { From 9dbb776ddbd63cf7bed7d260289f82bb8722e7fe Mon Sep 17 00:00:00 2001 From: Maxence Maireaux Date: Wed, 21 Oct 2026 16:53:57 +0200 Subject: [PATCH 3/3] chore(go): select Go 1.27.3 in module toolchains --- go.mod | 2 ++ internal/difftest/go.mod | 2 ++ internal/oracle/go.mod | 2 ++ 3 files changed, 6 insertions(+) diff --git a/go.mod b/go.mod index 0cf14cb5..4b49653e 100644 --- a/go.mod +++ b/go.mod @@ -2,6 +2,8 @@ module github.com/formancehq/numscript go 1.26.0 +toolchain go1.27.3 + require ( github.com/antlr4-go/antlr/v4 v4.13.1 github.com/getsentry/sentry-go v0.43.0 diff --git a/internal/difftest/go.mod b/internal/difftest/go.mod index 01446285..5fa48fad 100644 --- a/internal/difftest/go.mod +++ b/internal/difftest/go.mod @@ -2,6 +2,8 @@ module github.com/formancehq/numscript/internal/difftest go 1.26.0 +toolchain go1.27.3 + require ( github.com/formancehq/go-libs/v5 v5.6.1 github.com/formancehq/numscript v0.0.0-00010101000000-000000000000 diff --git a/internal/oracle/go.mod b/internal/oracle/go.mod index a090d8e2..88ce47d9 100644 --- a/internal/oracle/go.mod +++ b/internal/oracle/go.mod @@ -2,6 +2,8 @@ module github.com/formancehq/numscript/internal/oracle go 1.26.0 +toolchain go1.27.3 + require ( github.com/antlr/antlr4/runtime/Go/antlr v1.4.10 github.com/formancehq/go-libs/v5 v5.6.1