CI "minimum" leg builds with go1.26.11, so the go 1.26.0 floor is untested

オープン 初心者向け
#323 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
62/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
活発
技術スタック
github, github-actions, go
領域
ci-cd

調査の方向性

.github/workflows/go.yml から始めます。そこでは build (minimum) レッグが actions/setup-go を go-version-file: 'go.mod' とともに使っており、go.mod の go 1.26.0 ディレクティブではなく toolchain 行 (go1.26.11) がインストールされます。go ディレクティブのバージョンを go-version として setup-go に渡す(sed ステップで読み取る)か、コメントとレッグ名を、toolchain 行をテストしていることが分かるように書き直してください。レッグのログにディレクティブのバージョンが表示されるか、コメントがテスト内容と一致し、1.26.0 の下限という判断が .github/dependabot.yml の lipgloss の無視設定の横に記録されていれば完了です。

索引モデルが issue の本文から書いたものです。

説明

ci good first issue severity: low

Summary

The CI leg that claims to prove the go.mod floor installs the toolchain version instead, so nothing builds or tests with Go 1.26.0, the version that also holds back a dependency upgrade.

Where

  • .github/workflows/go.yml:11
  • .github/workflows/go.yml:28
  • go.mod:3
  • go.mod:5
  • .github/dependabot.yml:15

Details

go.yml:11-13 says "minimum" proves the go.mod floor (1.26.0) still builds and passes, and the leg uses actions/setup-go with go-version-file: 'go.mod' (go.yml:28-33). go.mod has go 1.26.0 (line 3) and toolchain go1.26.11 (line 5); setup-go takes the toolchain line. The log of job build (minimum) in run 43648865601 (head d0c56f0) reads Setup go version spec 1.26.11, Successfully set up Go version 1.26.11, go version go1.26.11 linux/amd64, with GOTOOLCHAIN: local. No other job installs 1.26.0 (the rest use stable, which was go1.27.4, or the same go.mod file).

Impact

No CI job has built or tested the code with Go 1.26.0 since the toolchain directive was added (#243). The floor is what keeps lipgloss on v2.0.x (dependabot.yml:15-19 ignores >= 2.1.0 because it needs go 1.26.7; docs/DEVELOPER_GUIDE.md:340-341 repeats the rule), so an available upgrade is held back for a minimum that nothing verifies. A user who builds with GOTOOLCHAIN=local on 1.26.0 to 1.26.10 is on an untested path. The "Check go directive" step only compares the text of the line.

Steps to reproduce

gh api repos/TMHSDigital/subenum/actions/jobs/132612623946/logs, then search for Setup go version spec.

Suggested fix

Make the leg install the go line's version: read it in a step (sed -n 's/^go //p' go.mod) and pass it to setup-go as go-version (setup-go already sets GOTOOLCHAIN=local, so 1.26.0 is then what compiles). Or, if 1.26.0 is not really meant to be supported, say in the comment that the leg tests the toolchain line, raise the go directive on purpose, and drop the lipgloss ignore.

Notes

Related: #243 (added the toolchain directive).

Acceptance criteria

  • The leg's log shows the version of the go directive, or the comment and leg name say it tests the toolchain line
  • The decision about the 1.26.0 floor is written down next to the Dependabot ignore rule

Getting started

  • Relevant files: .github/workflows/go.yml, go.mod, .github/dependabot.yml
  • How to run tests: make test (or go test ./...). Tests must stay hermetic: use -simulate, -simulate-zone or the local DNS test server, never a live domain.
  • Related docs: docs/DEVELOPER_GUIDE.md, docs/ARCHITECTURE.md

Filed by repo-audit/full-audit at d0c56f0. Severity: low. Effort: S. audit-key: ci|.github/workflows/go.yml|build.minimum.go-version-file

主要言語
Go
スター
1
フォーク
1
平均マージ
6時間 42分
マージ済み PR(30日)
7

環境構築

Codespaces で開く

このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

TMHSDigital/subenum のほかの issue

TMHSDigital/subenum の issue をすべて見る

似ている issue

Go の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。