Skip to content

fix: initialize and pass envFiles map in processExtends#13678

Merged
glours merged 1 commit intodocker:mainfrom
Mohamed-Moumni:main
Mar 27, 2026
Merged

fix: initialize and pass envFiles map in processExtends#13678
glours merged 1 commit intodocker:mainfrom
Mohamed-Moumni:main

Conversation

@Mohamed-Moumni
Copy link
Copy Markdown
Contributor

Title: fix: initialize envFiles map in processExtends to handle env_file during publish

Description:

What I did

Initialize envFiles as an empty map in processExtends and pass it to processFile instead of nil.

Why

When running docker compose publish on a project that uses extends with services referencing env_file, processFile attempts to assign entries into the envFiles map. Since nil was passed, this caused a panic:

panic: assignment to entry in nil map
goroutine 1 [running]:
github.com/docker/compose/v5/pkg/compose.processFile(...)
    github.com/docker/compose/v5/pkg/compose/publish.go:255 +0x651

Fixes #13671

Signed-off-by: Mohamed-Moumni <mohamedmoumni593@gmail.com>
@Mohamed-Moumni Mohamed-Moumni requested a review from a team as a code owner March 26, 2026 11:54
Copy link
Copy Markdown
Contributor

@glours glours left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks for the contribution 🙏

@glours glours enabled auto-merge (rebase) March 27, 2026 14:52
@glours glours merged commit e742d09 into docker:main Mar 27, 2026
43 checks passed
@codecov
Copy link
Copy Markdown

codecov bot commented Mar 27, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

tmeijn pushed a commit to tmeijn/dotfiles that referenced this pull request Apr 10, 2026
This MR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [docker/compose](https://github.com/docker/compose) | patch | `v5.1.1` → `v5.1.2` |

MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot).

**Proposed changes to behavior should be submitted there as MRs.**

---

### Release Notes

<details>
<summary>docker/compose (docker/compose)</summary>

### [`v5.1.2`](https://github.com/docker/compose/releases/tag/v5.1.2)

[Compare Source](docker/compose@v5.1.1...v5.1.2)

#### What's Changed

##### 🐛 Fixes

- Fix TTY timer rendering when duration length changes by [@&#8203;MaybeSam05](https://github.com/MaybeSam05) in [#&#8203;13634](docker/compose#13634)
- Fix up attach filtering by [@&#8203;false200](https://github.com/false200) in [#&#8203;13664](docker/compose#13664)
- Preserve ssh:// URL scheme when resolving Dockerfile path by [@&#8203;ssam18](https://github.com/ssam18) in [#&#8203;13669](docker/compose#13669)
- Initialize and pass envFiles map in processExtends by [@&#8203;Mohamed-Moumni](https://github.com/Mohamed-Moumni) in [#&#8203;13678](docker/compose#13678)
- Fix TestRunHook\_ConsoleSize on macOS by [@&#8203;thaJeztah](https://github.com/thaJeztah) in [#&#8203;13686](docker/compose#13686)
- Restore post-connect fallback for multi-network stacks on API < 1.44 by [@&#8203;jotka](https://github.com/jotka) in [#&#8203;13629](docker/compose#13629)
- Publish: return api.ErrCanceled when user declines interactive prompts by [@&#8203;ishwar170695](https://github.com/ishwar170695) in [#&#8203;13674](docker/compose#13674)
- Return error on non-ErrNotExist stat failures in Tar.Sync() by [@&#8203;Lidang-Jiang](https://github.com/Lidang-Jiang) in [#&#8203;13684](docker/compose#13684)

##### 🔧  Internal

- Refactor: thread context through publish sensitive data check by [@&#8203;ishwar170695](https://github.com/ishwar170695) in [#&#8203;13653](docker/compose#13653)
- Add AI-powered MR review workflow via `docker/cagent-action` by [@&#8203;glours](https://github.com/glours) in [#&#8203;13659](docker/compose#13659)
- Update `cagent-action` to latest (with better permissions) by [@&#8203;derekmisler](https://github.com/derekmisler) in [#&#8203;13665](docker/compose#13665)
- Pin GitHub Actions to commit SHA, remove pr-review workflow by [@&#8203;glours](https://github.com/glours) in [#&#8203;13662](docker/compose#13662)
- Exclude hook\_test.go from Windows builds and propagate ExecStart error in runWaitExec by [@&#8203;pawannn](https://github.com/pawannn) in [#&#8203;13683](docker/compose#13683)
- Skip MR review workflow for Dependabot MRs by [@&#8203;glours](https://github.com/glours) in [#&#8203;13679](docker/compose#13679)
- Use negotiated API version for network setup by [@&#8203;glours](https://github.com/glours) in [#&#8203;13690](docker/compose#13690)
- Fix mixed assertion libraries in tests by [@&#8203;thaJeztah](https://github.com/thaJeztah) in [#&#8203;13689](docker/compose#13689)
- Test: use random host port for dind TLS build test by [@&#8203;ricardobranco777](https://github.com/ricardobranco777) in [#&#8203;13630](docker/compose#13630)
- Remove direct dependency on `docker/docker` by [@&#8203;glours](https://github.com/glours) in [#&#8203;13706](docker/compose#13706)

##### ⚙️ Dependencies

- Bump github.com/containerd/platforms from `1.0.0-rc.2` to `1.0.0-rc.3` by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;13657](docker/compose#13657)
- Bump golangci-lint to `v2.11.3` and configure CLAUDE to use it on change by [@&#8203;ndeloof](https://github.com/ndeloof) in [#&#8203;13656](docker/compose#13656)
- Bump google.golang.org/grpc from `1.78.0` to `1.79.3` by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;13642](docker/compose#13642)
- Bump github.com/moby/patternmatcher from `0.6.0` to `0.6.1` by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;13667](docker/compose#13667)
- Bump go.opentelemetry.io/otel/sdk from `1.39.0` to `1.42.0` by [@&#8203;glours](https://github.com/glours) in [#&#8203;13663](docker/compose#13663)
- Bump github.com/docker/cli from `29.2.1+incompatible` to `29.3.1+incompatible` by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;13670](docker/compose#13670)
- Bump github.com/hashicorp/go-version from `1.8.0` to `1.9.0` by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;13692](docker/compose#13692)
- Bump github.com/docker/buildx `v0.33.0`, buildkit `v0.29.0` by [@&#8203;thaJeztah](https://github.com/thaJeztah) in [#&#8203;13693](docker/compose#13693)
- Bump google.golang.org/grpc from `1.79.3` to `1.80.0` by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;13697](docker/compose#13697)
- Bump github.com/containerd/platforms from `1.0.0-rc.3` to `1.0.0-rc.4` by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;13696](docker/compose#13696)
- Bump github.com/moby/moby/client `v0.4.0`, moby/api `v1.54.1` by [@&#8203;thaJeztah](https://github.com/thaJeztah) in [#&#8203;13708](docker/compose#13708)
- Bump github.com/docker/cli `v29.4.0` by [@&#8203;thaJeztah](https://github.com/thaJeztah) in [#&#8203;13707](docker/compose#13707)
- Bump compose-go to version `v2.10.2` by [@&#8203;glours](https://github.com/glours) in [#&#8203;13705](docker/compose#13705)
- Bump to Go `1.25.9` by [@&#8203;thaJeztah](https://github.com/thaJeztah) in [#&#8203;13720](docker/compose#13720)

#### New Contributors

- [@&#8203;MaybeSam05](https://github.com/MaybeSam05) made their first contribution in [#&#8203;13634](docker/compose#13634)
- [@&#8203;ishwar170695](https://github.com/ishwar170695) made their first contribution in [#&#8203;13653](docker/compose#13653)
- [@&#8203;derekmisler](https://github.com/derekmisler) made their first contribution in [#&#8203;13665](docker/compose#13665)
- [@&#8203;false200](https://github.com/false200) made their first contribution in [#&#8203;13664](docker/compose#13664)
- [@&#8203;ssam18](https://github.com/ssam18) made their first contribution in [#&#8203;13669](docker/compose#13669)
- [@&#8203;Mohamed-Moumni](https://github.com/Mohamed-Moumni) made their first contribution in [#&#8203;13678](docker/compose#13678)
- [@&#8203;pawannn](https://github.com/pawannn) made their first contribution in [#&#8203;13683](docker/compose#13683)
- [@&#8203;jotka](https://github.com/jotka) made their first contribution in [#&#8203;13629](docker/compose#13629)
- [@&#8203;Lidang-Jiang](https://github.com/Lidang-Jiang) made their first contribution in [#&#8203;13684](docker/compose#13684)

**Full Changelog**: <docker/compose@v5.1.1...v5.1.2>

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever MR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this MR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMTAuOCIsInVwZGF0ZWRJblZlciI6IjQzLjExMC44IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJSZW5vdmF0ZSBCb3QiLCJhdXRvbWF0aW9uOmJvdC1hdXRob3JlZCIsImRlcGVuZGVuY3ktdHlwZTo6cGF0Y2giXX0=-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BUG] docker compose publish panics with nil map when using extends

2 participants