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

未關閉 適合新手
#323 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視

維護者通常 1 天內回覆

還沒有人認領這個 Issue。

評估

難度
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',這會安裝 toolchain 行(go1.26.11),而不是 go.mod 中 go 1.26.0 指令所指定的版本。你可以將 go 指令的版本以 go-version 形式傳給 setup-go(透過 sed 步驟讀取),也可以修改註解和任務名稱,說明它測試的是 toolchain 行。當該任務的日誌顯示指令版本,或註解與實際測試內容一致,並且在 .github/dependabot.yml 中 lipgloss 忽略規則旁記錄了 1.26.0 下限的決定時,即為完成。

由索引模型根據 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 分鐘
30 天內合併 PR
7

環境準備

在 Codespaces 中開啟

在瀏覽器裡用你自己的 GitHub 帳號啟動這個專案的開發容器。

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

TMHSDigital/subenum 的其他 Issue

查看 TMHSDigital/subenum 的全部 Issue

相似的 Issue

更多 Go Issue

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。