From 36b43028540d90a0c736f3685856bd9d4144ee56 Mon Sep 17 00:00:00 2001 From: Cristian Maglie Date: Tue, 28 Oct 2025 17:59:48 +0100 Subject: [PATCH 01/10] Update DistTask go version to 1.25.2 --- .../assets/release-go-task/DistTasks.yml | 46 ++++--------------- 1 file changed, 9 insertions(+), 37 deletions(-) diff --git a/workflow-templates/assets/release-go-task/DistTasks.yml b/workflow-templates/assets/release-go-task/DistTasks.yml index c6bc3889..778695b8 100644 --- a/workflow-templates/assets/release-go-task/DistTasks.yml +++ b/workflow-templates/assets/release-go-task/DistTasks.yml @@ -19,7 +19,7 @@ version: "3" vars: CONTAINER: "docker.elastic.co/beats-dev/golang-crossbuild" - GO_VERSION: "1.17.8" + GO_VERSION: "1.25.2" tasks: Windows_32bit: @@ -152,9 +152,9 @@ tasks: vars: PLATFORM_DIR: "{{.PROJECT_NAME}}_linux_arm_7" - BUILD_COMMAND: "go build -o {{.DIST_DIR}}/{{.PLATFORM_DIR}}/{{.PROJECT_NAME}} {{.LDFLAGS}}" + BUILD_COMMAND: "go build -buildvcs=false -o {{.DIST_DIR}}/{{.PLATFORM_DIR}}/{{.PROJECT_NAME}} {{.LDFLAGS}}" BUILD_PLATFORM: "linux/armv7" - CONTAINER_TAG: "{{.GO_VERSION}}-armhf" + CONTAINER_TAG: "{{.GO_VERSION}}-armhf-debian10" PACKAGE_PLATFORM: "Linux_ARMv7" PACKAGE_NAME: "{{.PROJECT_NAME}}_{{.VERSION}}_{{.PACKAGE_PLATFORM}}.tar.gz" @@ -180,37 +180,9 @@ tasks: vars: PLATFORM_DIR: "{{.PROJECT_NAME}}_linux_arm_6" - BUILD_COMMAND: "go build -o {{.DIST_DIR}}/{{.PLATFORM_DIR}}/{{.PROJECT_NAME}} {{.LDFLAGS}}" + BUILD_COMMAND: "go build -buildvcs=false -o {{.DIST_DIR}}/{{.PLATFORM_DIR}}/{{.PROJECT_NAME}} {{.LDFLAGS}}" BUILD_PLATFORM: "linux/armv6" - # We are experiencing the following error with ARMv6 build: - # - # # github.com/arduino/arduino-cli - # net(.text): unexpected relocation type 296 (R_ARM_V4BX) - # panic: runtime error: invalid memory address or nil pointer dereference - # [signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x51ae53] - # - # goroutine 1 [running]: - # cmd/link/internal/loader.(*Loader).SymName(0xc000095c00, 0x0, 0xc0000958d8, 0x5a0ac) - # /usr/local/go/src/cmd/link/internal/loader/loader.go:684 +0x53 - # cmd/link/internal/ld.dynrelocsym2(0xc000095880, 0x5a0ac) - # /usr/local/go/src/cmd/link/internal/ld/data.go:777 +0x295 - # cmd/link/internal/ld.(*dodataState).dynreloc2(0xc007df9800, 0xc000095880) - # /usr/local/go/src/cmd/link/internal/ld/data.go:794 +0x89 - # cmd/link/internal/ld.(*Link).dodata2(0xc000095880, 0xc007d00000, 0x60518, 0x60518) - # /usr/local/go/src/cmd/link/internal/ld/data.go:1434 +0x4d4 - # cmd/link/internal/ld.Main(0x8729a0, 0x4, 0x8, 0x1, 0xd, 0xe, 0x0, 0x0, 0x6d7737, 0x12, ...) - # /usr/local/go/src/cmd/link/internal/ld/main.go:302 +0x123a - # main.main() - # /usr/local/go/src/cmd/link/main.go:68 +0x1dc - # Error: failed building for linux/armv6: exit status 2 - # - # This seems to be a problem in the go builder 1.16.x that removed support for the R_ARM_V4BX instruction: - # https://github.com/golang/go/pull/44998 - # https://groups.google.com/g/golang-codereviews/c/yzN80xxwu2E - # - # Until there is a fix released we must use a recent gcc for Linux_ARMv6 build, so for this - # build we select the debian10 based container. - CONTAINER_TAG: "{{.GO_VERSION}}-armel-debian10" + CONTAINER_TAG: "{{.GO_VERSION}}-armel-debian12" PACKAGE_PLATFORM: "Linux_ARMv6" PACKAGE_NAME: "{{.PROJECT_NAME}}_{{.VERSION}}_{{.PACKAGE_PLATFORM}}.tar.gz" @@ -236,9 +208,9 @@ tasks: vars: PLATFORM_DIR: "{{.PROJECT_NAME}}_linux_arm_64" - BUILD_COMMAND: "go build -o {{.DIST_DIR}}/{{.PLATFORM_DIR}}/{{.PROJECT_NAME}} {{.LDFLAGS}}" + BUILD_COMMAND: "go build -buildvcs=false -o {{.DIST_DIR}}/{{.PLATFORM_DIR}}/{{.PROJECT_NAME}} {{.LDFLAGS}}" BUILD_PLATFORM: "linux/arm64" - CONTAINER_TAG: "{{.GO_VERSION}}-arm" + CONTAINER_TAG: "{{.GO_VERSION}}-base-arm-debian10" PACKAGE_PLATFORM: "Linux_ARM64" PACKAGE_NAME: "{{.PROJECT_NAME}}_{{.VERSION}}_{{.PACKAGE_PLATFORM}}.tar.gz" @@ -264,7 +236,7 @@ tasks: vars: PLATFORM_DIR: "{{.PROJECT_NAME}}_osx_darwin_amd64" - BUILD_COMMAND: "go build -o {{.DIST_DIR}}/{{.PLATFORM_DIR}}/{{.PROJECT_NAME}} {{.LDFLAGS}}" + BUILD_COMMAND: "go build -buildvcs=false -o {{.DIST_DIR}}/{{.PLATFORM_DIR}}/{{.PROJECT_NAME}} {{.LDFLAGS}}" BUILD_PLATFORM: "darwin/amd64" # We are experiencing the following error with macOS_64bit build: # @@ -305,7 +277,7 @@ tasks: vars: PLATFORM_DIR: "{{.PROJECT_NAME}}_osx_darwin_arm64" - BUILD_COMMAND: "go build -o {{.DIST_DIR}}/{{.PLATFORM_DIR}}/{{.PROJECT_NAME}} {{.LDFLAGS}}" + BUILD_COMMAND: "go build -buildvcs=false -o {{.DIST_DIR}}/{{.PLATFORM_DIR}}/{{.PROJECT_NAME}} {{.LDFLAGS}}" BUILD_PLATFORM: "darwin/arm64" CONTAINER_TAG: "{{.GO_VERSION}}-darwin-arm64-debian10" PACKAGE_PLATFORM: "macOS_ARM64" From b43bd1efbfb6e9e799d2e4cbbf3082e5391f6219 Mon Sep 17 00:00:00 2001 From: Cristian Maglie Date: Tue, 28 Oct 2025 18:02:24 +0100 Subject: [PATCH 02/10] Added Windows ARM64 build support --- .../assets/release-go-task/DistTasks.yml | 26 +++++++++++++++++++ workflow-templates/release-go-task.yml | 2 ++ 2 files changed, 28 insertions(+) diff --git a/workflow-templates/assets/release-go-task/DistTasks.yml b/workflow-templates/assets/release-go-task/DistTasks.yml index 778695b8..a0bbf897 100644 --- a/workflow-templates/assets/release-go-task/DistTasks.yml +++ b/workflow-templates/assets/release-go-task/DistTasks.yml @@ -74,6 +74,32 @@ tasks: PACKAGE_PLATFORM: "Windows_64bit" PACKAGE_NAME: "{{.PROJECT_NAME}}_{{.VERSION}}_{{.PACKAGE_PLATFORM}}.zip" + Windows_ARM64: + desc: Builds Windows ARM64 binaries + dir: "{{.DIST_DIR}}" + cmds: + - | + docker run \ + -v `pwd`/..:/home/build \ + -w /home/build \ + -e CGO_ENABLED=1 \ + {{.CONTAINER}}:{{.CONTAINER_TAG}} \ + --build-cmd "{{.BUILD_COMMAND}}" \ + -p "{{.BUILD_PLATFORM}}" + + zip \ + {{.PACKAGE_NAME}} \ + {{.PLATFORM_DIR}}/{{.PROJECT_NAME}}.exe ../LICENSE.txt \ + -j + + vars: + PLATFORM_DIR: "{{.PROJECT_NAME}}_windows_arm64" + BUILD_COMMAND: "go build -buildvcs=false -o {{.DIST_DIR}}/{{.PLATFORM_DIR}}/{{.PROJECT_NAME}}.exe {{.LDFLAGS}}" + BUILD_PLATFORM: "windows/arm64" + CONTAINER_TAG: "{{.GO_VERSION}}-windows-arm64-debian12" + PACKAGE_PLATFORM: "Windows_ARM64" + PACKAGE_NAME: "{{.PROJECT_NAME}}_{{.VERSION}}_{{.PACKAGE_PLATFORM}}.zip" + Linux_32bit: desc: Builds Linux 32 bit binaries dir: "{{.DIST_DIR}}" diff --git a/workflow-templates/release-go-task.yml b/workflow-templates/release-go-task.yml index 49f00b4b..1508651c 100644 --- a/workflow-templates/release-go-task.yml +++ b/workflow-templates/release-go-task.yml @@ -30,6 +30,8 @@ jobs: artifact-suffix: Windows_32bit - task: Windows_64bit artifact-suffix: Windows_64bit + - task: Windows_ARM64 + artifact-suffix: Windows_ARM64 - task: Linux_32bit artifact-suffix: Linux_32bit - task: Linux_64bit From dd4b203c0fbd4e5401309c0a6486f291a866d1a4 Mon Sep 17 00:00:00 2001 From: Cristian Maglie Date: Tue, 28 Oct 2025 18:02:50 +0100 Subject: [PATCH 03/10] New docker crossbuild images requires qemu on non-arm CI runners --- workflow-templates/release-go-task.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/workflow-templates/release-go-task.yml b/workflow-templates/release-go-task.yml index 1508651c..80145164 100644 --- a/workflow-templates/release-go-task.yml +++ b/workflow-templates/release-go-task.yml @@ -68,6 +68,9 @@ jobs: with: go-version-file: go.mod + - name: Setup QEMU + uses: docker/setup-qemu-action@v3 + - name: Build run: | go tool \ From 5f30a51f6a142cf0108fe0c1f780371a4448e8d9 Mon Sep 17 00:00:00 2001 From: Cristian Maglie Date: Tue, 4 Nov 2025 11:08:49 +0100 Subject: [PATCH 04/10] Made CGO_ENABLED in DistTask.yml configurable. --- .../assets/release-go-task/DistTasks.yml | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/workflow-templates/assets/release-go-task/DistTasks.yml b/workflow-templates/assets/release-go-task/DistTasks.yml index a0bbf897..0f99ea95 100644 --- a/workflow-templates/assets/release-go-task/DistTasks.yml +++ b/workflow-templates/assets/release-go-task/DistTasks.yml @@ -20,6 +20,7 @@ version: "3" vars: CONTAINER: "docker.elastic.co/beats-dev/golang-crossbuild" GO_VERSION: "1.25.2" + CGO_ENABLED: "1" tasks: Windows_32bit: @@ -30,7 +31,7 @@ tasks: docker run \ -v `pwd`/..:/home/build \ -w /home/build \ - -e CGO_ENABLED=1 \ + -e CGO_ENABLED={{.CGO_ENABLED}} \ {{.CONTAINER}}:{{.CONTAINER_TAG}} \ --build-cmd "{{.BUILD_COMMAND}}" \ -p "{{.BUILD_PLATFORM}}" @@ -56,7 +57,7 @@ tasks: docker run \ -v `pwd`/..:/home/build \ -w /home/build \ - -e CGO_ENABLED=1 \ + -e CGO_ENABLED={{.CGO_ENABLED}} \ {{.CONTAINER}}:{{.CONTAINER_TAG}} \ --build-cmd "{{.BUILD_COMMAND}}" \ -p "{{.BUILD_PLATFORM}}" @@ -82,7 +83,7 @@ tasks: docker run \ -v `pwd`/..:/home/build \ -w /home/build \ - -e CGO_ENABLED=1 \ + -e CGO_ENABLED={{.CGO_ENABLED}} \ {{.CONTAINER}}:{{.CONTAINER_TAG}} \ --build-cmd "{{.BUILD_COMMAND}}" \ -p "{{.BUILD_PLATFORM}}" @@ -108,7 +109,7 @@ tasks: docker run \ -v `pwd`/..:/home/build \ -w /home/build \ - -e CGO_ENABLED=1 \ + -e CGO_ENABLED={{.CGO_ENABLED}} \ {{.CONTAINER}}:{{.CONTAINER_TAG}} \ --build-cmd "{{.BUILD_COMMAND}}" \ -p "{{.BUILD_PLATFORM}}" @@ -136,7 +137,7 @@ tasks: docker run \ -v `pwd`/..:/home/build \ -w /home/build \ - -e CGO_ENABLED=1 \ + -e CGO_ENABLED={{.CGO_ENABLED}} \ {{.CONTAINER}}:{{.CONTAINER_TAG}} \ --build-cmd "{{.BUILD_COMMAND}}" \ -p "{{.BUILD_PLATFORM}}" @@ -164,7 +165,7 @@ tasks: docker run \ -v `pwd`/..:/home/build \ -w /home/build \ - -e CGO_ENABLED=1 \ + -e CGO_ENABLED={{.CGO_ENABLED}} \ {{.CONTAINER}}:{{.CONTAINER_TAG}} \ --build-cmd "{{.BUILD_COMMAND}}" \ -p "{{.BUILD_PLATFORM}}" @@ -192,7 +193,7 @@ tasks: docker run \ -v `pwd`/..:/home/build \ -w /home/build \ - -e CGO_ENABLED=1 \ + -e CGO_ENABLED={{.CGO_ENABLED}} \ {{.CONTAINER}}:{{.CONTAINER_TAG}} \ --build-cmd "{{.BUILD_COMMAND}}" \ -p "{{.BUILD_PLATFORM}}" @@ -220,7 +221,7 @@ tasks: docker run \ -v `pwd`/..:/home/build \ -w /home/build \ - -e CGO_ENABLED=1 \ + -e CGO_ENABLED={{.CGO_ENABLED}} \ {{.CONTAINER}}:{{.CONTAINER_TAG}} \ --build-cmd "{{.BUILD_COMMAND}}" \ -p "{{.BUILD_PLATFORM}}" @@ -248,7 +249,7 @@ tasks: docker run \ -v `pwd`/..:/home/build \ -w /home/build \ - -e CGO_ENABLED=1 \ + -e CGO_ENABLED={{.CGO_ENABLED}} \ {{.CONTAINER}}:{{.CONTAINER_TAG}} \ --build-cmd "{{.BUILD_COMMAND}}" \ -p "{{.BUILD_PLATFORM}}" @@ -289,7 +290,7 @@ tasks: docker run \ -v `pwd`/..:/home/build \ -w /home/build \ - -e CGO_ENABLED=1 \ + -e CGO_ENABLED={{.CGO_ENABLED}} \ {{.CONTAINER}}:{{.CONTAINER_TAG}} \ --build-cmd "{{.BUILD_COMMAND}}" \ -p "{{.BUILD_PLATFORM}}" From 8ec31fb2457d1aadcb8f1b3abfff4710288cf364 Mon Sep 17 00:00:00 2001 From: Cristian Maglie Date: Tue, 4 Nov 2025 11:09:31 +0100 Subject: [PATCH 05/10] Use safe.directory instead of disabling go' vcs stamping --- .../assets/release-go-task/DistTasks.yml | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/workflow-templates/assets/release-go-task/DistTasks.yml b/workflow-templates/assets/release-go-task/DistTasks.yml index 0f99ea95..c97dbd92 100644 --- a/workflow-templates/assets/release-go-task/DistTasks.yml +++ b/workflow-templates/assets/release-go-task/DistTasks.yml @@ -85,7 +85,7 @@ tasks: -w /home/build \ -e CGO_ENABLED={{.CGO_ENABLED}} \ {{.CONTAINER}}:{{.CONTAINER_TAG}} \ - --build-cmd "{{.BUILD_COMMAND}}" \ + --build-cmd "git config --global --add safe.directory /home/build && {{.BUILD_COMMAND}}" \ -p "{{.BUILD_PLATFORM}}" zip \ @@ -95,7 +95,7 @@ tasks: vars: PLATFORM_DIR: "{{.PROJECT_NAME}}_windows_arm64" - BUILD_COMMAND: "go build -buildvcs=false -o {{.DIST_DIR}}/{{.PLATFORM_DIR}}/{{.PROJECT_NAME}}.exe {{.LDFLAGS}}" + BUILD_COMMAND: "go build -o {{.DIST_DIR}}/{{.PLATFORM_DIR}}/{{.PROJECT_NAME}}.exe {{.LDFLAGS}}" BUILD_PLATFORM: "windows/arm64" CONTAINER_TAG: "{{.GO_VERSION}}-windows-arm64-debian12" PACKAGE_PLATFORM: "Windows_ARM64" @@ -167,7 +167,7 @@ tasks: -w /home/build \ -e CGO_ENABLED={{.CGO_ENABLED}} \ {{.CONTAINER}}:{{.CONTAINER_TAG}} \ - --build-cmd "{{.BUILD_COMMAND}}" \ + --build-cmd "git config --global --add safe.directory /home/build && {{.BUILD_COMMAND}}" \ -p "{{.BUILD_PLATFORM}}" tar cz \ @@ -179,7 +179,7 @@ tasks: vars: PLATFORM_DIR: "{{.PROJECT_NAME}}_linux_arm_7" - BUILD_COMMAND: "go build -buildvcs=false -o {{.DIST_DIR}}/{{.PLATFORM_DIR}}/{{.PROJECT_NAME}} {{.LDFLAGS}}" + BUILD_COMMAND: "go build -o {{.DIST_DIR}}/{{.PLATFORM_DIR}}/{{.PROJECT_NAME}} {{.LDFLAGS}}" BUILD_PLATFORM: "linux/armv7" CONTAINER_TAG: "{{.GO_VERSION}}-armhf-debian10" PACKAGE_PLATFORM: "Linux_ARMv7" @@ -195,7 +195,7 @@ tasks: -w /home/build \ -e CGO_ENABLED={{.CGO_ENABLED}} \ {{.CONTAINER}}:{{.CONTAINER_TAG}} \ - --build-cmd "{{.BUILD_COMMAND}}" \ + --build-cmd "git config --global --add safe.directory /home/build && {{.BUILD_COMMAND}}" \ -p "{{.BUILD_PLATFORM}}" tar cz \ @@ -207,7 +207,7 @@ tasks: vars: PLATFORM_DIR: "{{.PROJECT_NAME}}_linux_arm_6" - BUILD_COMMAND: "go build -buildvcs=false -o {{.DIST_DIR}}/{{.PLATFORM_DIR}}/{{.PROJECT_NAME}} {{.LDFLAGS}}" + BUILD_COMMAND: "go build -o {{.DIST_DIR}}/{{.PLATFORM_DIR}}/{{.PROJECT_NAME}} {{.LDFLAGS}}" BUILD_PLATFORM: "linux/armv6" CONTAINER_TAG: "{{.GO_VERSION}}-armel-debian12" PACKAGE_PLATFORM: "Linux_ARMv6" @@ -223,7 +223,7 @@ tasks: -w /home/build \ -e CGO_ENABLED={{.CGO_ENABLED}} \ {{.CONTAINER}}:{{.CONTAINER_TAG}} \ - --build-cmd "{{.BUILD_COMMAND}}" \ + --build-cmd "git config --global --add safe.directory /home/build && {{.BUILD_COMMAND}}" \ -p "{{.BUILD_PLATFORM}}" tar cz \ @@ -235,7 +235,7 @@ tasks: vars: PLATFORM_DIR: "{{.PROJECT_NAME}}_linux_arm_64" - BUILD_COMMAND: "go build -buildvcs=false -o {{.DIST_DIR}}/{{.PLATFORM_DIR}}/{{.PROJECT_NAME}} {{.LDFLAGS}}" + BUILD_COMMAND: "go build -o {{.DIST_DIR}}/{{.PLATFORM_DIR}}/{{.PROJECT_NAME}} {{.LDFLAGS}}" BUILD_PLATFORM: "linux/arm64" CONTAINER_TAG: "{{.GO_VERSION}}-base-arm-debian10" PACKAGE_PLATFORM: "Linux_ARM64" @@ -251,7 +251,7 @@ tasks: -w /home/build \ -e CGO_ENABLED={{.CGO_ENABLED}} \ {{.CONTAINER}}:{{.CONTAINER_TAG}} \ - --build-cmd "{{.BUILD_COMMAND}}" \ + --build-cmd "git config --global --add safe.directory /home/build && {{.BUILD_COMMAND}}" \ -p "{{.BUILD_PLATFORM}}" tar cz \ @@ -263,7 +263,7 @@ tasks: vars: PLATFORM_DIR: "{{.PROJECT_NAME}}_osx_darwin_amd64" - BUILD_COMMAND: "go build -buildvcs=false -o {{.DIST_DIR}}/{{.PLATFORM_DIR}}/{{.PROJECT_NAME}} {{.LDFLAGS}}" + BUILD_COMMAND: "go build -o {{.DIST_DIR}}/{{.PLATFORM_DIR}}/{{.PROJECT_NAME}} {{.LDFLAGS}}" BUILD_PLATFORM: "darwin/amd64" # We are experiencing the following error with macOS_64bit build: # @@ -292,7 +292,7 @@ tasks: -w /home/build \ -e CGO_ENABLED={{.CGO_ENABLED}} \ {{.CONTAINER}}:{{.CONTAINER_TAG}} \ - --build-cmd "{{.BUILD_COMMAND}}" \ + --build-cmd "git config --global --add safe.directory /home/build && {{.BUILD_COMMAND}}" \ -p "{{.BUILD_PLATFORM}}" tar cz \ @@ -304,7 +304,7 @@ tasks: vars: PLATFORM_DIR: "{{.PROJECT_NAME}}_osx_darwin_arm64" - BUILD_COMMAND: "go build -buildvcs=false -o {{.DIST_DIR}}/{{.PLATFORM_DIR}}/{{.PROJECT_NAME}} {{.LDFLAGS}}" + BUILD_COMMAND: "go build -o {{.DIST_DIR}}/{{.PLATFORM_DIR}}/{{.PROJECT_NAME}} {{.LDFLAGS}}" BUILD_PLATFORM: "darwin/arm64" CONTAINER_TAG: "{{.GO_VERSION}}-darwin-arm64-debian10" PACKAGE_PLATFORM: "macOS_ARM64" From b8307bd29c8eb6eafc925e87bb2cd437f6574706 Mon Sep 17 00:00:00 2001 From: Cristian Maglie Date: Tue, 4 Nov 2025 11:26:52 +0100 Subject: [PATCH 06/10] Do not depend on QEMU. --- workflow-templates/publish-go-tester-task.yml | 11 ++++++++++- workflow-templates/release-go-task.yml | 15 +++++++++++---- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/workflow-templates/publish-go-tester-task.yml b/workflow-templates/publish-go-tester-task.yml index eb47dfa1..4067b4dc 100644 --- a/workflow-templates/publish-go-tester-task.yml +++ b/workflow-templates/publish-go-tester-task.yml @@ -78,7 +78,7 @@ jobs: build: needs: package-name-prefix name: Build ${{ matrix.os.artifact-name }} - runs-on: ubuntu-latest + runs-on: ${{ matrix.os.runner }} permissions: contents: read @@ -88,30 +88,39 @@ jobs: - task: Windows_32bit path: "*Windows_32bit.zip" artifact-name: Windows_X86-32 + runner: ubuntu-latest - task: Windows_64bit path: "*Windows_64bit.zip" artifact-name: Windows_X86-64 + runner: ubuntu-latest - task: Linux_32bit path: "*Linux_32bit.tar.gz" artifact-name: Linux_X86-32 + runner: ubuntu-latest - task: Linux_64bit path: "*Linux_64bit.tar.gz" artifact-name: Linux_X86-64 + runner: ubuntu-latest - task: Linux_ARMv6 path: "*Linux_ARMv6.tar.gz" artifact-name: Linux_ARMv6 + runner: ubuntu-latest - task: Linux_ARMv7 path: "*Linux_ARMv7.tar.gz" artifact-name: Linux_ARMv7 + runner: ubuntu-latest - task: Linux_ARM64 path: "*Linux_ARM64.tar.gz" artifact-name: Linux_ARM64 + runner: ubuntu-24.04-arm - task: macOS_64bit path: "*macOS_64bit.tar.gz" artifact-name: macOS_64 + runner: ubuntu-latest - task: macOS_ARM64 path: "*macOS_ARM64.tar.gz" artifact-name: macOS_ARM64 + runner: ubuntu-24.04-arm steps: - name: Checkout repository diff --git a/workflow-templates/release-go-task.yml b/workflow-templates/release-go-task.yml index 80145164..55c86203 100644 --- a/workflow-templates/release-go-task.yml +++ b/workflow-templates/release-go-task.yml @@ -19,7 +19,7 @@ on: jobs: create-release-artifacts: name: Build ${{ matrix.os.artifact-suffix }} - runs-on: ubuntu-latest + runs-on: ${{ matrix.os.runner }} permissions: contents: read @@ -28,24 +28,34 @@ jobs: os: - task: Windows_32bit artifact-suffix: Windows_32bit + runner: ubuntu-latest - task: Windows_64bit artifact-suffix: Windows_64bit + runner: ubuntu-latest - task: Windows_ARM64 artifact-suffix: Windows_ARM64 + runner: ubuntu-24.04-arm - task: Linux_32bit artifact-suffix: Linux_32bit + runner: ubuntu-latest - task: Linux_64bit artifact-suffix: Linux_64bit + runner: ubuntu-latest - task: Linux_ARMv6 artifact-suffix: Linux_ARMv6 + runner: ubuntu-latest - task: Linux_ARMv7 artifact-suffix: Linux_ARMv7 + runner: ubuntu-latest - task: Linux_ARM64 artifact-suffix: Linux_ARM64 + runner: ubuntu-24.04-arm - task: macOS_64bit artifact-suffix: macOS_64bit + runner: ubuntu-latest - task: macOS_ARM64 artifact-suffix: macOS_ARM64 + runner: ubuntu-24.04-arm steps: - name: Checkout repository @@ -68,9 +78,6 @@ jobs: with: go-version-file: go.mod - - name: Setup QEMU - uses: docker/setup-qemu-action@v3 - - name: Build run: | go tool \ From 4618688ef068cc4397c635907336793f8ff6dae8 Mon Sep 17 00:00:00 2001 From: Cristian Maglie Date: Tue, 4 Nov 2025 11:27:56 +0100 Subject: [PATCH 07/10] Added Win/ARM64 build on publish-go-tester-task.yml --- workflow-templates/publish-go-tester-task.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/workflow-templates/publish-go-tester-task.yml b/workflow-templates/publish-go-tester-task.yml index 4067b4dc..ab609adb 100644 --- a/workflow-templates/publish-go-tester-task.yml +++ b/workflow-templates/publish-go-tester-task.yml @@ -93,6 +93,10 @@ jobs: path: "*Windows_64bit.zip" artifact-name: Windows_X86-64 runner: ubuntu-latest + - task: Windows_ARM64 + path: "*Windows_ARM64.zip" + artifact-name: Windows_ARM64 + runner: ubuntu-24.04-arm - task: Linux_32bit path: "*Linux_32bit.tar.gz" artifact-name: Linux_X86-32 From 654c9ac7cccfe5423a858b2733eab7c981535eb4 Mon Sep 17 00:00:00 2001 From: Cristian Maglie Date: Tue, 4 Nov 2025 11:35:45 +0100 Subject: [PATCH 08/10] Updated publish-go-nightly-task.yml --- workflow-templates/publish-go-nightly-task.yml | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/workflow-templates/publish-go-nightly-task.yml b/workflow-templates/publish-go-nightly-task.yml index 81275104..25a4c8e4 100644 --- a/workflow-templates/publish-go-nightly-task.yml +++ b/workflow-templates/publish-go-nightly-task.yml @@ -22,7 +22,7 @@ on: jobs: create-nightly-artifacts: name: Build ${{ matrix.os.artifact-suffix }} - runs-on: ubuntu-latest + runs-on: ${{ matrix.os.runner }} permissions: contents: read @@ -31,22 +31,34 @@ jobs: os: - task: Windows_32bit artifact-suffix: Windows_32bit + runner: ubuntu-latest - task: Windows_64bit artifact-suffix: Windows_64bit + runner: ubuntu-latest + - task: Windows_ARM64 + artifact-suffix: Windows_ARM64 + runner: ubuntu-24.04-arm - task: Linux_32bit artifact-suffix: Linux_32bit + runner: ubuntu-latest - task: Linux_64bit artifact-suffix: Linux_64bit + runner: ubuntu-latest - task: Linux_ARMv6 artifact-suffix: Linux_ARMv6 + runner: ubuntu-latest - task: Linux_ARMv7 artifact-suffix: Linux_ARMv7 + runner: ubuntu-latest - task: Linux_ARM64 artifact-suffix: Linux_ARM64 + runner: ubuntu-24.04-arm - task: macOS_64bit artifact-suffix: macOS_64bit + runner: ubuntu-latest - task: macOS_ARM64 artifact-suffix: macOS_ARM64 + runner: ubuntu-24.04-arm steps: - name: Checkout repository From 5a73e8c5ff98f2668916d2adbf141eba7201a4be Mon Sep 17 00:00:00 2001 From: Cristian Maglie Date: Tue, 4 Nov 2025 11:39:29 +0100 Subject: [PATCH 09/10] Added Windows/ARM64 release in installation.md --- other/installation-script/installation.md | 32 +++++++++++++---------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/other/installation-script/installation.md b/other/installation-script/installation.md index 1a564dc8..e1ebb953 100644 --- a/other/installation-script/installation.md +++ b/other/installation-script/installation.md @@ -41,13 +41,14 @@ in your [`PATH`](https://wikipedia.org/wiki/PATH%5F%28variable%29) or add the TO ### Latest release -| Platform | | | -| --------- | -------------------- | -------------------- | -| Linux | [32 bit][linux32] | [64 bit][linux64] | -| Linux ARM | [32 bit][linuxarm32] | [64 bit][linuxarm64] | -| Windows | [32 bit][windows32] | [64 bit][windows64] | -| macOS | | [64 bit][macos64] | -| macOS ARM | | [64 bit][macosarm64] | +| Platform | | | +| ----------- | -------------------- | ---------------------- | +| Linux | [32 bit][linux32] | [64 bit][linux64] | +| Linux ARM | [32 bit][linuxarm32] | [64 bit][linuxarm64] | +| Windows | [32 bit][windows32] | [64 bit][windows64] | +| Windows ARM | | [64 bit][windowsarm64] | +| macOS | | [64 bit][macos64] | +| macOS ARM | | [64 bit][macosarm64] | [linux64]: https://downloads.arduino.cc/TODO_REPO_NAME/TODO_REPO_NAME_latest_Linux_64bit.tar.gz [linux32]: https://downloads.arduino.cc/TODO_REPO_NAME/TODO_REPO_NAME_latest_Linux_32bit.tar.gz @@ -55,6 +56,7 @@ in your [`PATH`](https://wikipedia.org/wiki/PATH%5F%28variable%29) or add the TO [linuxarm32]: https://downloads.arduino.cc/TODO_REPO_NAME/TODO_REPO_NAME_latest_Linux_ARMv7.tar.gz [windows64]: https://downloads.arduino.cc/TODO_REPO_NAME/TODO_REPO_NAME_latest_Windows_64bit.zip [windows32]: https://downloads.arduino.cc/TODO_REPO_NAME/TODO_REPO_NAME_latest_Windows_32bit.zip +[windowsarm64]: https://downloads.arduino.cc/TODO_REPO_NAME/TODO_REPO_NAME_latest_Windows_ARM64.zip [macos64]: https://downloads.arduino.cc/TODO_REPO_NAME/TODO_REPO_NAME_latest_macOS_64bit.tar.gz [macosarm64]: https://downloads.arduino.cc/TODO_REPO_NAME/TODO_REPO_NAME_latest_macOS_ARM64.tar.gz @@ -67,13 +69,14 @@ These are available from the "Assets" sections on the [releases page](https://gi These builds are generated every day at 01:00 GMT from the `main` branch and should be considered unstable. In order to get the latest nightly build available for the supported platform, use the following links: -| Platform | | | -| --------- | ---------------------------- | ---------------------------- | -| Linux | [32 bit][linux32-nightly] | [64 bit][linux64-nightly] | -| Linux ARM | [32 bit][linuxarm32-nightly] | [64 bit][linuxarm64-nightly] | -| Windows | [32 bit][windows32-nightly] | [64 bit][windows64-nightly] | -| macOS | | [64 bit][macos64-nightly] | -| macOS ARM | | [64 bit][macosarm64-nightly] | +| Platform | | | +| ----------- | ---------------------------- | ------------------------------ | +| Linux | [32 bit][linux32-nightly] | [64 bit][linux64-nightly] | +| Linux ARM | [32 bit][linuxarm32-nightly] | [64 bit][linuxarm64-nightly] | +| Windows | [32 bit][windows32-nightly] | [64 bit][windows64-nightly] | +| Windows ARM | | [64 bit][windowsarm64-nightly] | +| macOS | | [64 bit][macos64-nightly] | +| macOS ARM | | [64 bit][macosarm64-nightly] | [linux64-nightly]: https://downloads.arduino.cc/TODO_REPO_NAME/nightly/TODO_REPO_NAME_nightly-latest_Linux_64bit.tar.gz [linux32-nightly]: https://downloads.arduino.cc/TODO_REPO_NAME/nightly/TODO_REPO_NAME_nightly-latest_Linux_32bit.tar.gz @@ -81,6 +84,7 @@ get the latest nightly build available for the supported platform, use the follo [linuxarm32-nightly]: https://downloads.arduino.cc/TODO_REPO_NAME/nightly/TODO_REPO_NAME_nightly-latest_Linux_ARMv7.tar.gz [windows64-nightly]: https://downloads.arduino.cc/TODO_REPO_NAME/nightly/TODO_REPO_NAME_nightly-latest_Windows_64bit.zip [windows32-nightly]: https://downloads.arduino.cc/TODO_REPO_NAME/nightly/TODO_REPO_NAME_nightly-latest_Windows_32bit.zip +[windowsarm64-nightly]: https://downloads.arduino.cc/TODO_REPO_NAME/nightly/TODO_REPO_NAME_nightly-latest_Windows_ARM64.zip [macos64-nightly]: https://downloads.arduino.cc/TODO_REPO_NAME/nightly/TODO_REPO_NAME_nightly-latest_macOS_64bit.tar.gz [macosarm64-nightly]: https://downloads.arduino.cc/TODO_REPO_NAME/nightly/TODO_REPO_NAME_nightly-latest_macOS_ARM64.tar.gz From 4808ffd1709eb42e27decab20e9a8f48abcc9d3a Mon Sep 17 00:00:00 2001 From: Cristian Maglie Date: Tue, 4 Nov 2025 11:41:58 +0100 Subject: [PATCH 10/10] updated go version to 1.25.2 --- go.mod | 2 +- go.sum | 36 +++++++++++++++++++++++++++++++++--- 2 files changed, 34 insertions(+), 4 deletions(-) diff --git a/go.mod b/go.mod index 24209a0d..4f60fbb0 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/arduino/tooling-project-assets -go 1.24.7 +go 1.25.2 tool ( github.com/go-task/task/v3/cmd/task diff --git a/go.sum b/go.sum index d416f982..e06abb57 100644 --- a/go.sum +++ b/go.sum @@ -19,14 +19,19 @@ github.com/alecthomas/participle/v2 v2.1.4 h1:W/H79S8Sat/krZ3el6sQMvMaahJ+XcM9WS github.com/alecthomas/participle/v2 v2.1.4/go.mod h1:8tqVbpTX20Ru4NfYQgZf4mP18eXPTBViyMWiArNEgGI= github.com/alecthomas/repr v0.5.1 h1:E3G4t2QbHTSNpPKBgMTln5KLkZHLOcU7r37J4pXBuIg= github.com/alecthomas/repr v0.5.1/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= +github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8= +github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4= +github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= +github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= github.com/chainguard-dev/git-urls v1.0.2 h1:pSpT7ifrpc5X55n4aTTm7FFUE+ZQHKiqpiwNkJrVcKQ= github.com/chainguard-dev/git-urls v1.0.2/go.mod h1:rbGgj10OS7UgZlbzdUQIQpT0k/D4+An04HJY7Ol+Y/o= github.com/cloudflare/circl v1.6.1 h1:zqIqSPIndyBh1bjLVVDHMPpVKqp8Su/V+6MeDzzQBQ0= github.com/cloudflare/circl v1.6.1/go.mod h1:uddAzsPgqdMAYatqJ0lsjX1oECcQLIlRpzZh3pJrofs= github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= +github.com/creack/pty v1.1.24 h1:bJrF4RRfyJnbTJqzRLHzcGaZK1NeM5kTC9jGgovnR1s= +github.com/creack/pty v1.1.24/go.mod h1:08sCNb52WyoAwi2QDyzUCTgcvVFhUzewun7wtTfvcwE= github.com/cyphar/filepath-securejoin v0.4.1 h1:JyxxyPEaktOD+GAnqIqTf9A8tHyAG22rowi7HkoSU1s= github.com/cyphar/filepath-securejoin v0.4.1/go.mod h1:Sdj7gXlvMcPZsbhwhQ33GguGLDGQL7h7bg04C/+u9jI= -github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -36,6 +41,8 @@ github.com/dlclark/regexp2 v1.11.5 h1:Q/sSnsKerHeCkc/jSTNq1oCm7KiVgUMZRDUoRu0JQZ github.com/dlclark/regexp2 v1.11.5/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8= github.com/dominikbraun/graph v0.23.0 h1:TdZB4pPqCLFxYhdyMFb1TBdFxp8XLcJfTTBQucVPgCo= github.com/dominikbraun/graph v0.23.0/go.mod h1:yOjYyogZLY1LSG9E33JWZJiq5k83Qy2C6POAuiViluc= +github.com/elazarl/goproxy v1.7.2 h1:Y2o6urb7Eule09PjlhQRGNsqRfPmYI3KKQLFpCAV3+o= +github.com/elazarl/goproxy v1.7.2/go.mod h1:82vkLNir0ALaW14Rc399OTTjyNREgmdL2cVoIbS6XaE= github.com/elliotchance/orderedmap v1.8.0 h1:TrOREecvh3JbS+NCgwposXG5ZTFHtEsQiCGOhPElnMw= github.com/elliotchance/orderedmap v1.8.0/go.mod h1:wsDwEaX5jEoyhbs7x93zk2H/qv0zwuhg4inXhDkYqys= github.com/elliotchance/orderedmap/v3 v3.1.0 h1:j4DJ5ObEmMBt/lcwIecKcoRxIQUEnw0L804lXYDt/pg= @@ -46,14 +53,20 @@ github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM= github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU= github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S9k= github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= +github.com/gliderlabs/ssh v0.3.8 h1:a4YXD1V7xMF9g5nTkdfnja3Sxy1PVDCj1Zg4Wb8vY6c= +github.com/gliderlabs/ssh v0.3.8/go.mod h1:xYoytBv1sV0aL3CavoDuJIQNURXkkfPA/wxQ1pL1fAU= github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI= github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod h1:an3vInlBmSxCcxctByoQdvwPiA7DTK7jaaFDBTtu0ic= github.com/go-git/go-billy/v5 v5.6.2 h1:6Q86EsPXMa7c3YZ3aLAQsMA0VlWmy43r6FHqa/UNbRM= github.com/go-git/go-billy/v5 v5.6.2/go.mod h1:rcFC2rAsp/erv7CMz9GczHcuD0D32fWzH+MJAU+jaUU= +github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399 h1:eMje31YglSBqCdIqdhKBW8lokaMrL3uTkpGYlE2OOT4= +github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399/go.mod h1:1OCfN199q1Jm3HZlxleg+Dw/mwps2Wbk9frAWm+4FII= github.com/go-git/go-git/v5 v5.16.2 h1:fT6ZIOjE5iEnkzKyxTHK1W4HGAsPhqEqiSAssSO77hM= github.com/go-git/go-git/v5 v5.16.2/go.mod h1:4Ge4alE/5gPs30F2H1esi2gPd69R0C39lolkucHBOp8= github.com/go-ini/ini v1.67.0 h1:z6ZrTEZqSWOTyH2FlglNbNgARyHG8oLW9gMELqKr06A= github.com/go-ini/ini v1.67.0/go.mod h1:ByCAeIL28uOIIG0E3PJtZPDL8WnHpFKFOtgjp+3Ies8= +github.com/go-quicktest/qt v1.101.0 h1:O1K29Txy5P2OK0dGo59b7b0LR6wKfIhttaAhHUyn7eI= +github.com/go-quicktest/qt v1.101.0/go.mod h1:14Bz/f7NwaXPtdYEgzsx46kqSxVwTbzVZsDC26tQJow= github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= github.com/go-task/task/v3 v3.44.1 h1:i+lP9Ng3SQVUdBR8mmuiID7uKoIu+5LwwkOjio92VEQ= @@ -66,6 +79,8 @@ github.com/goccy/go-yaml v1.18.0 h1:8W7wMFS12Pcas7KU+VVkaiCng+kG8QiFeFwzFb+rwuw= github.com/goccy/go-yaml v1.18.0/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA= github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 h1:f+oWsMOmNPc8JmEHVZIycC7hBoQxHH9pNKQORJNozsQ= github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8/go.mod h1:wcDNUvekVysuuOpQKo3191zZyTpiI6se1N1ULghS0sw= +github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= +github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUqJM= @@ -83,8 +98,12 @@ github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF github.com/klauspost/cpuid/v2 v2.2.7 h1:ZWSB3igEs+d0qvnxR/ZBzXVmxkgt8DdzP6m9pfuVLDM= github.com/klauspost/cpuid/v2 v2.2.7/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/magiconair/properties v1.8.10 h1:s31yESBquKXCV9a/ScB3ESkOjUYYv+X0rg8SYxI99mE= github.com/magiconair/properties v1.8.10/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE= @@ -95,20 +114,27 @@ github.com/mikefarah/yq/v4 v4.47.2 h1:Jb5fHlvgK5eeaPbreG9UJs1E5w6l5hUzXjeaY6LTTW github.com/mikefarah/yq/v4 v4.47.2/go.mod h1:ulYbZUzGJsBDDwO5ohvk/KOW4vW5Iddd/DBeAY1Q09g= github.com/mitchellh/hashstructure/v2 v2.0.2 h1:vGKWl0YJqUNxE8d+h8f6NJLcCJrgbhC4NcD46KavDd4= github.com/mitchellh/hashstructure/v2 v2.0.2/go.mod h1:MG3aRVU/N29oo/V/IhBX8GR/zz4kQkprJgF2EVszyDE= +github.com/onsi/gomega v1.34.1 h1:EUMJIKUjM8sKjYbtxQI9A4z2o+rruxnzNvpknOXie6k= +github.com/onsi/gomega v1.34.1/go.mod h1:kU1QgUvBDLXBJq618Xvm2LUX6rSAfRaFRTcdOeDLwwY= github.com/pelletier/go-toml/v2 v2.2.4 h1:mye9XuhQ6gvn5h28+VilKrrPoQVanw5PMw/TB0t5Ec4= github.com/pelletier/go-toml/v2 v2.2.4/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY= github.com/pjbgf/sha1cd v0.3.2 h1:a9wb0bp1oC2TGwStyn0Umc/IGKQnEgF0vVaZ8QF8eo4= github.com/pjbgf/sha1cd v0.3.2/go.mod h1:zQWigSxVmsHEZow5qaLtPYxpcKMMQpa09ixqBxuCS6A= github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e h1:aoZm08cpOy4WuID//EZDgcC4zIxODThtZNPirFr42+A= github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= +github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/puzpuzpuz/xsync/v3 v3.5.1 h1:GJYJZwO6IdxN/IKbneznS6yPkVC+c3zyY/j19c++5Fg= github.com/puzpuzpuz/xsync/v3 v3.5.1/go.mod h1:VjzYrABPabuM4KyBh1Ftq6u8nhwY5tBPKP9jpmh0nnA= +github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ= +github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/sajari/fuzzy v1.0.0 h1:+FmwVvJErsd0d0hAPlj4CxqxUtQY/fOoY0DwX4ykpRY= github.com/sajari/fuzzy v1.0.0/go.mod h1:OjYR6KxoWOe9+dOlXeiCJd4dIbED4Oo8wpS89o0pwOo= +github.com/sebdah/goldie/v2 v2.7.1 h1:PkBHymaYdtvEkZV7TmyqKxdmn5/Vcj+8TpATWZjnG5E= +github.com/sebdah/goldie/v2 v2.7.1/go.mod h1:oZ9fp0+se1eapSRjfYbsV/0Hqhbuu3bJVvKI/NNtssI= github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 h1:n661drycOFuPLCN3Uc8sB6B/s6Z4t2xvBgU1htSHuq8= github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3/go.mod h1:A0bzQcvG0E7Rwjx0REVgAGH58e96+X0MeOfepqsbeW4= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= @@ -124,7 +150,6 @@ github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= @@ -132,6 +157,8 @@ github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw= github.com/yuin/gopher-lua v1.1.1 h1:kYKnWBjvbNP4XLT3+bPEwAXJx262OhaHDWDVOPjL46M= github.com/yuin/gopher-lua v1.1.1/go.mod h1:GBR0iDaNXjAgGg9zfCvksxSRnQx76gclCIb7kdAd1Pw= +github.com/zeebo/assert v1.3.0 h1:g7C04CbJuIDKNPFHmsk4hwZDO5O+kntRxzaUoNXj+IQ= +github.com/zeebo/assert v1.3.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0= github.com/zeebo/xxh3 v1.0.2 h1:xZmwmqxHZA8AI603jOQ0tMqmBr9lPeFwGg6d+xy9DC0= github.com/zeebo/xxh3 v1.0.2/go.mod h1:5NWz9Sef7zIDm2JHfFlcQvNekmcEl9ekUZQQKCYaDcA= go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= @@ -139,6 +166,8 @@ go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.41.0 h1:WKYxWedPGCTVVl5+WHSSrOBT0O8lx32+zxmHxijgXp4= golang.org/x/crypto v0.41.0/go.mod h1:pO5AFd7FA68rFak7rOAGVuygIISepHftHnr8dr6+sUc= +golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 h1:2dVuKD2vS7b0QIHQbpyTISPd0LeHDbnYEryqj5Q1ug8= +golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56/go.mod h1:M4RDyNAINzryxdtnbRXRL/OHtkFuWGRjvuhBJpk2IlY= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.43.0 h1:lat02VYK2j4aLzMzecihNvTlJNQUq316m2Mr9rnM6YE= golang.org/x/net v0.43.0/go.mod h1:vhO1fvI4dGsIjh73sWfUVjj3N7CA9WkKJNQm2svM6Jg= @@ -161,9 +190,10 @@ golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.28.0 h1:rhazDwis8INMIwQ4tpjLDzUhx6RlXqZNPEM0huQojng= golang.org/x/text v0.28.0/go.mod h1:U8nCwOR8jO/marOQ0QbDiOngZVEBB7MAiitBuMjXiNU= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/op/go-logging.v1 v1.0.0-20160211212156-b2cb9fa56473 h1:6D+BvnJ/j6e222UW8s2qTSe3wGBtvo0MbVQG/c5k8RE= gopkg.in/op/go-logging.v1 v1.0.0-20160211212156-b2cb9fa56473/go.mod h1:N1eN2tsCx0Ydtgjl4cqmbRCsY4/+z4cYDeqwZTk6zog= gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME=