🐝

go1.25.1にアップデートしたらUTのCIが落ちた

に公開

起きたこと

  • go1.24.1を使っていたプロジェクトのバージョンをgo1.25.1にアップデートした。
  • プロジェクトでは、CIのUTのワークフローでgo test ./... -coverを行っていたが、以下のエラーが出た
    go: no such tool "covdata"
    

解決

name: Test

on: [push]

jobs:
  test:
    runs-on: ubuntu-latest

    defaults:
      run:
        working-directory: .

    steps:
      - name: Checkout repo
        uses: actions/checkout@v4
      - name: Use golang
        uses: actions/setup-go@v5
        with:
-          go-version: "1.24.1"
+          go-version: "1.25.1"
      - name: install dependencies
        run: go mod download
+      - name: set env
+        run: go env -w GOTOOLCHAIN=go1.25.1+auto
      - name: test coverage
        run: go test ./... -cover -gcflags=all=-l
        env:
          API_KEY: ${{ secrets.API_KEY }}
          ADDRESS: ${{ secrets.ADDRESS }}

原因

あくまで予想

testが実装されていないパッケージが存在するときに、coverageを集めるツールチェーンのautoインストールに失敗しているっぽい。
ローカルでは、go test -coverを行った際に、すでにオートインストールされていたと考えられる。

参考

https://github.com/mikeauclair/toolchain_covdata_replicate

Discussion