Skip to content

build: LOAD and PUSH set in the environment are ignored, so a local load pushes instead #4499

Closed

Description

Setting LOAD=1 PUSH=0 in the environment has no effect on make image. The build still pushes instead of loading into the local docker store. The reason is that hack/common-envs.mk assigns PUSH := 1 and LOAD := 0 with plain :=. Make lets a command-line variable override that, but an environment variable loses to it. So make image LOAD=1 PUSH=0 works, while LOAD=1 PUSH=0 make image quietly pushes.

I checked it with make -n -C packages/system/cozystack-controller image. From the environment it expands to --push=1 --load=0, from the command line to --push=0 --load=1.

This is older than #4498. After #4498 it gets worse: the same environment call becomes a push for both linux/amd64 and linux/arm64, because the multi-arch default applies whenever LOAD is not 1.

The fix is ?= for both, like BUILDER, PLATFORM and SBOM already have. The OCI_EXPORT_DIR block that forces both to 0 must stay after that, so the fork export still wins.

Activity

  1. added a commit that references this issue on Oct 5, 2026
    2ddd55c
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

triage/needs-triageIndicates an issue needs triage by a maintainer

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions