8000 Fix edge-case bug checking path prefix in watch for bind mount volumes by matiboux · Pull Request #12640 · docker/compose · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Fix edge-case bug checking path prefix in watch for bind mount volumes #12640

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account relate 8000 d emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Mar 17, 2025

Conversation

matiboux
Copy link
Contributor
@matiboux matiboux commented Mar 14, 2025

What I did
I updated the condition that checks whether a bind mount volume is a prefix to a watched path.

Note: I'm not sure if the paths are cleaned already or not (especially volume.Source), so I did not add an instruction for this. If it is not already, volume.Source should be filepath.Clean(volume.Source) in my code to be safe.

Related issue
Fixes #12639.

(not mandatory) A picture of a cute animal, if possible in relation to what you did
Have a photo of my cat, Pepper. 💖

image

@matiboux matiboux requested a review from a team as a code owner March 14, 2025 23:33
@matiboux matiboux requested review from ndeloof and glours March 14, 2025 23:33
@matiboux matiboux force-pushed the fix/checkIfPathAlreadyBindMounted branch from 829ce30 to e623a49 Compare March 14, 2025 23:36
@glours
Copy link
Contributor
glours commented Mar 17, 2025

Hey @matiboux
Thanks for this contribution! Can you update this compose file to be sure we cover this use case please?

@matiboux matiboux force-pushed the fix/checkIfPathAlreadyBindMounted branch from c4c185d to 3a56aaf Compare March 17, 2025 16:20
@ndeloof
Copy link
Contributor
ndeloof commented Mar 17, 2025

Ready to merge.
can you please squash changes in a single commits to make project history clear regarding this new flag ?

Signed-off-by: Matiboux <matiboux@gmail.com>
@matiboux matiboux force-pushed the fix/checkIfPathAlreadyBindMounted branch from 3a56aaf to 87d22cd Compare March 17, 2025 16:24
@matiboux
Copy link
Contributor Author

Done as asked! Thank you.

@ndeloof ndeloof enabled auto-merge (rebase) March 17, 2025 16:29
Copy link
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, thank you @matiboux

@ndeloof ndeloof merged commit 9129abe into docker:main Mar 17, 2025
25 checks passed
Copy link
codecov bot commented Mar 17, 2025

Codecov Report

Attention: Patch coverage is 40.00000% with 3 lines in your changes missing coverage. Please review.

Project coverage is 51.94%. Comparing base (8092ce9) to head (87d22cd).
Report is 31 commits behind head on main.

Files with missing lines Patch % Lines
pkg/compose/watch.go 40.00% 2 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main   #12640      +/-   ##
==========================================
+ Coverage   51.68%   51.94%   +0.26%     
==========================================
  Files         156      157       +1     
  Lines       15824    16364     +540     
==========================================
+ Hits         8178     8501     +323     
- Misses       6829     6978     +149     
- Partials      817      885      +68     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@matiboux matiboux deleted the fix/checkIfPathAlreadyBindMounted branch March 17, 2025 16:47
tmeijn pushed a commit to tmeijn/dotfiles that referenced this pull request May 8, 2025
This MR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [docker/compose](https://github.com/docker/compose) | minor | `v2.34.0` -> `v2.36.0` |

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>

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

[Compare Source](docker/compose@v2.35.1...v2.36.0)

#### What's Changed

🎉 You can now use external binaries as service provider to extend Compose behaviour. For more information about creating your own plugin check [the documentation](https://github.com/docker/compose/blob/main/docs/extension.md)

##### ✨ Improvements

-   Introduce `networks.interface_name` by [@&#8203;ndeloof](https://github.com/ndeloof) in docker/compose#12771
-   Add support for `COMPOSE_PROGRESS` env variable by [@&#8203;AnvarU](https://github.com/AnvarU) in docker/compose#12769
-   Document extensibility using service.provider and open provider to external binaries by [@&#8203;ndeloof](https://github.com/ndeloof) in docker/compose#12777
-   Introduce build `--check` by [@&#8203;ndeloof](https://github.com/ndeloof) in docker/compose#12765

##### 🐛 Fixes

-   Build: write `--print` output to stdout by [@&#8203;emersion](https://github.com/emersion) in docker/compose#12756
-   Fix: concurrent map writes when pulling by [@&#8203;skanehira](https://github.com/skanehira) in docker/compose#12752
-   Fix support for remote absolute path by [@&#8203;ndeloof](https://github.com/ndeloof) in docker/compose#12786
-   Fix collect image digests for service images built by bake by [@&#8203;ndeloof](https://github.com/ndeloof) in docker/compose#12784
-   Enable services implicitly declared by a service:xx build dependency by [@&#8203;ndeloof](https://github.com/ndeloof) in docker/compose#12785
-   Fix config `--variables` not honoring the `--format` flag by [@&#8203;alessio-perugini](https://github.com/alessio-perugini) in docker/compose#12809

##### 🔧  Internal

-   Remove support of Synchronize File Shares integration with Docker Desktop by [@&#8203;glours](https://github.com/glours) in docker/compose#12763
-   Display proper event message for provider services on up and down by [@&#8203;glours](https://github.com/glours) in docker/compose#12788
-   E2e test for start_interval by [@&#8203;ndeloof](https://github.com/ndeloof) in docker/compose#12795
-   Document behavior on missing extension by [@&#8203;ndeloof](https://github.com/ndeloof) in docker/compose#12802

##### ⚙️ Dependencies

-   Build(deps): bump github.com/docker/cli from `28.1.0+incompatible` to `28.1.1+incompatible` by [@&#8203;dependabot](https://github.com/dependabot) in docker/compose#12761
-   Build(deps): bump github.com/docker/docker from `28.1.0+incompatible` to `28.1.1+incompatible` by [@&#8203;dependabot](https://github.com/dependabot) in docker/compose#12759
-   Build(deps): bump google.golang.org/grpc from `1.71.1` to `1.72.0` by [@&#8203;dependabot](https://github.com/dependabot) in docker/compose#12760
-   Build(deps): bump github.com/containerd/containerd/v2 from `2.0.4` to `2.0.5` by [@&#8203;dependabot](https://github.com/dependabot) in docker/compose#12758
-   Bump compose-go to `v2.6.1` by [@&#8203;glours](https://github.com/glours) in docker/compose#12766
-   Bump compose-go to `v2.6.2` by [@&#8203;glours](https://github.com/glours) in docker/compose#12810
-   Build(deps): bump github.com/moby/buildkit from `0.21.0` to `0.21.1` by [@&#8203;dependabot](https://github.com/dependabot) in docker/compose#12796
-   Build(deps): bump golang.org/x/sync from `0.13.0` to `0.14.0` by [@&#8203;dependabot](https://github.com/dependabot) in docker/compose#12805
-   Build(deps): bump golang.org/x/sys from `0.32.0` to `0.33.0` by [@&#8203;dependabot](https://github.com/dependabot) in docker/compose#12804
-   Build(deps): bump go.uber.org/mock from `0.5.1` to `0.5.2` by [@&#8203;dependabot](https://github.com/dependabot) in docker/compose#12792

#### New Contributors

-   [@&#8203;skanehira](https://github.com/skanehira) made their first contribution in docker/compose#12752
-   [@&#8203;AnvarU](https://github.com/AnvarU) made their first contribution in docker/compose#12769
-   [@&#8203;alessio-perugini](https://github.com/alessio-perugini) made their first contribution in docker/compose#12809

**Full Changelog**: docker/compose@v2.35.1...v2.36.0

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

[Compare Source](docker/compose@v2.35.0...v2.35.1)

#### What's Changed

##### 🐛 Fixes

-   Use bind API for bind mounts by [@&#8203;ndeloof](https://github.com/ndeloof) in docker/compose#12733
-   Prefer bind API by [@&#8203;ndeloof](https://github.com/ndeloof) in docker/compose#12734

##### 🔧  Internal

-   CI(bin-image): free disk space by [@&#8203;crazy-max](https://github.com/crazy-max) in docker/compose#12732
-   Fix zizmor security alerts on GHA workflows by [@&#8203;glours](https://github.com/glours) in docker/compose#12737
-   Chore: make function comment match function name by [@&#8203;dufucun](https://github.com/dufucun) in docker/compose#12748
-   Migrate to use github.com/moby/go-archive by [@&#8203;thaJeztah](https://github.com/thaJeztah) in docker/compose#12716

##### ⚙️ Dependencies

-   Build(deps): bump github.com/moby/buildkit from `0.20.1` to `0.20.2` by [@&#8203;dependabot](https://github.com/dependabot) in docker/compose#12667
-   Build(deps): bump google.golang.org/grpc from `1.71.0` to `1.71.1` by [@&#8203;dependabot](https://github.com/dependabot) in docker/compose#12691
-   Build(deps): bump go.uber.org/mock from `0.5.0` to `0.5.1` by [@&#8203;dependabot](https://github.com/dependabot) in docker/compose#12720
-   Build(deps): bump golang.org/x/crypto from `0.32.0` to `0.35.0` by [@&#8203;dependabot](https://github.com/dependabot) in docker/compose#12745
-   Bump buildkit `v0.21.0`, buildx `v0.23.0` by [@&#8203;thaJeztah](https://github.com/thaJeztah) in docker/compose#12754
-   Downgrade go-difflib and go-spew to tagged releases by [@&#8203;thaJeztah](https://github.com/thaJeztah) in docker/compose#12755
-   Bump github.com/docker/docker, github.com/docker/cli `v28.1.0` by [@&#8203;thaJeztah](https://github.com/thaJeztah) in docker/compose#12738

#### New Contributors

-   [@&#8203;dufucun](https://github.com/dufucun) made their first contribution in docker/compose#12748

**Full Changelog**: docker/compose@v2.35.0...v2.35.1

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

[Compare Source](docker/compose@v2.34.0...v2.35.0)

#### What's Changed

🎉  1st implementation of external services feature to support Docker Model Runner in Compose by [@&#8203;ndeloof](https://github.com/ndeloof) in docker/compose#12692

##### ✨ Improvements

-   Set `$PWD` (may not be supported on Windows) by [@&#8203;ndeloof](https://github.com/ndeloof) in docker/compose#12643
-   Introduce config `--no-env-resolution` by [@&#8203;ndeloof](https://github.com/ndeloof) in docker/compose#12665
-   Introduce `build --print` to dump equivalent bakefile by [@&#8203;ndeloof](https://github.com/ndeloof) in docker/compose#12675
-   Feat(run): Add `--quiet` and `--quiet-build` options for the `run` command by [@&#8203;idsulik](https://github.com/idsulik) in docker/compose#12685
-   Introduce `volume.type=image` by [@&#8203;ndeloof](https://github.com/ndeloof) in docker/compose#12725

##### 🐛 Fixes

-   Fix support for secret set by env inside included file by [@&#8203;ndeloof](https://github.com/ndeloof) in docker/compose#12635
-   Fix edge-case bug checking path prefix in watch for bind mount volumes by [@&#8203;matiboux](https://github.com/matiboux) in docker/compose#12640
-   Run only loads required service env_file and ignores others by [@&#8203;ndeloof](https://github.com/ndeloof) in docker/compose#12645
-   Fixed support for `depends_on.restart` in `up` and `restart` commands  by [@&#8203;ndeloof](https://github.com/ndeloof) in docker/compose#12649
-   Bake parses "${}" in DockerfileInline as a variable by [@&#8203;ndeloof](https://github.com/ndeloof) in docker/compose#12664
-   Fix(secrets): Reverted secrets file mode 440 -> 444 by [@&#8203;idsulik](https://github.com/idsulik) in docker/compose#12666
-   Fix scale completion by [@&#8203;ndeloof](https://github.com/ndeloof) in docker/compose#12672
-   Fix: replace `docker-compose.yml` with `compose.yaml` by [@&#8203;k-kbk](https://github.com/k-kbk) in docker/compose#12680
-   Include implicit build dependencies in build command by [@&#8203;ndeloof](https://github.com/ndeloof) in docker/compose#12683
-   Capture git fetch output when debug output is enabled by [@&#8203;ndeloof](https://github.com/ndeloof) in docker/compose#12719
-   Mount API is not strictly equivalent to bind by [@&#8203;ndeloof](https://github.com/ndeloof) in docker/compose#12722

##### 🔧  Internal

-   Test commandName subcommand order by [@&#8203;maxproske](https://github.com/maxproske) in docker/compose#12535
-   Set watch option --prune=true as default by [@&#8203;remcokranenburg](https://github.com/remcokranenburg) in docker/compose#12650
-   Plugin Docker Desktop Model Runner check by [@&#8203;glours](https://github.com/glours) in docker/compose#12718
-   pkg/compose: implement Export using atomicwriter by [@&#8203;thaJeztah](https://github.com/thaJeztah) in docker/compose#12715
-   Style: refactor Desktop client for readability and maintainability by [@&#8203;Saracomethstein](https://github.com/Saracomethstein) in docker/compose#12723

##### ⚙️ Dependencies

-   Build(deps): bump github.com/docker/buildx from `0.21.2` to `0.21.3` by [@&#8203;dependabot](https://github.com/dependabot) in docker/compose#12646
-   Build(deps): bump github.com/containerd/containerd/v2 from `2.0.3` to `2.0.4` by [@&#8203;dependabot](https://github.com/dependabot) in docker/compose#12647
-   Bump docker & cli `v28.0.4` and buildx `v0.22.0` by [@&#8203;ndeloof](https://github.com/ndeloof) in docker/compose#12674
-   Bump golangci-lint to version `v2.0.2` by [@&#8203;glours](https://github.com/glours) in docker/compose#12689
-   Bump golang to `1.23.8` by [@&#8203;glours](https://github.com/glours) in docker/compose#12698
-   Update secret detector to fix vulnerability https://github.com/golang… by [@&#8203;sigi-glovebox](https://github.com/sigi-glovebox) in docker/compose#12707
-   Build(deps): bump golang.org/x/sys from `0.31.0` to `0.32.0` by [@&#8203;dependabot](https://github.com/dependabot) in docker/compose#12713
-   Build(deps): bump golang.org/x/sync from `0.12.0` to `0.13.0` by [@&#8203;dependabot](https://github.com/dependabot) in docker/compose#12712
-   Build(deps): bump github.com/compose-spec/compose-go/v2 from `2.5.1-0.20250409070949-8e1a035095ca` to `2.6.0` by [@&#8203;dependabot](https://github.com/dependabot) in docker/compose#12729

#### New Contributors

-   [@&#8203;matiboux](https://github.com/matiboux) made their first contribution in docker/compose#12640
-   [@&#8203;k-kbk](https://github.com/k-kbk) made their first contribution in docker/compose#12680
-   [@&#8203;sigi-glovebox](https://github.com/sigi-glovebox) made their first contribution in docker/compose#12707
-   [@&#8203;Saracomethstein](https://github.com/Saracomethstein) made their first contribution in docker/compose#12723

**Full Changelog**: docker/compose@v2.34.0...v2.35.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever MR becomes conflicted, 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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNTkuMCIsInVwZGF0ZWRJblZlciI6IjM5LjI2NC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJSZW5vdmF0ZSBCb3QiXX0=-->
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] Edge-case checking path prefix in watch for bind mount volumes
3 participants
0