Skip to content

watch inside of docker runs multiple times #2241

@fnivek

Description

@fnivek

Description

Running a task with watch inside a docker container runs multiple times at the same time.

I have a task like:

  watch:
    desc: Continually run ci on ever change.
    watch: true
    sources:
      - src/**/*
    cmds:
      - clear
      - do ci

If it is run in the container I expect it to run just once per change, however; it runs multiple times ever time a file in src is changed. Presumably due to how docker mounts and edits file shared file systems. When I run outside of the container it works as expected. For now my workaround is this:

  watch:
    desc: Continually run ci on ever change.
    watch: true
    sources:
      - src/**/*
    cmds:
      - clear
      - task: env:enter-dev-container
        vars: { DOCKER_ENTRY_CMD: 'task ros:ci'}

Inside docker:

$ task --version 
3.43.3+pypi

Outside docker:

$ task --version
Task version: 3.41.0 ()

Version

3.43.3+pypi

Operating system

Linux d50ea3e7f517 6.5.0-35-generic #35~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue May 7 09:00:52 UTC 2 x86_64 x86_64 x86_64 GNU/Linux

Experiments Enabled

No response

Example Taskfile

version: '3'
tasks:
  watch:
    desc: Continually run ci on ever change.
    watch: true
    sources:
      - src/**/*
    cmds:
      - clear
      - do ci

Metadata

Metadata

Assignees

Labels

area: watcherChanges related to the Taskfile watcher.

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions