Files
coder[bot]andDmitry Makovey 17ec9459c0 fix(scripts/dogfood): pass GO_LINT_NEW_CODE_BASE to the image lint run (#30851)
Fixes the `build_image (26.04)` failure in the `dogfood` workflow on PRs
into `main` (seen on #30807). Tracked in
[ENT-213](https://linear.app/codercom/issue/ENT-213).

## Problem

`lint/go/new-code` (added in #30622) runs `.golangci.new-code.yaml` with
`--new-from-merge-base=$(GO_LINT_NEW_CODE_BASE)`, which defaults to
`origin/main`. `ci.yaml` sets `GO_LINT_NEW_CODE_BASE` to `HEAD^1` for
PRs and `HEAD` otherwise. `scripts/dogfood/test_image.sh` doesn't pass
it into the container, and the dogfood checkout (depth 2) has no
`origin/main`. So `make lint` inside the image reports the whole tree
(1263 issues: errcheck 437, forbidigo 42, nolintlint 784) and fails
"Test image tooling".

Pushes to `main` run the same validation before pushing the image, so
the next dogfood-triggering merge to `main` would also fail and skip the
Docker Hub push.

## Change

`scripts/dogfood/test_image.sh` only:

- Under GitHub Actions, and when `GO_LINT_NEW_CODE_BASE` isn't already
set, default it to `HEAD^1` for `pull_request` and `HEAD` otherwise,
mirroring `ci.yaml`.
- Forward it into the container with `--env GO_LINT_NEW_CODE_BASE`.
- Local runs are unchanged: the variable stays unset unless you set it,
so the Makefile default (`origin/main`) applies.

This PR touches `scripts/dogfood/**`, which triggers the `dogfood`
workflow, so its own `build_image (26.04)` run is the end-to-end test.

Opened by Superblink on behalf of @droopy4096.

Co-authored-by: coder[bot] <137810501+coder[bot]@users.noreply.github.com>
Co-authored-by: Dmitry Makovey <dmakovey@yahoo.com>
2026-10-15 11:11:10 -07:00
..
…