bundle validate warns "Pattern ... does not match any files" for sync.include/exclude when the sync root is above the bundle root
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 78/100
Direção de pesquisa
Start with bundle/config/validate/validate_sync_patterns.go and bundle/config/mutator/sync_infer_root.go to trace how the sync root and rewritten patterns are used. Add a regression test for sync.paths reaching above the bundle root, using the provided reproduction, and run the relevant validation tests. Done means the matching exclude no longer warns under --strict.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Describe the issue
databricks bundle validate reports Pattern ... does not match any files for a sync.exclude (or sync.include) pattern that does match files, when sync.paths reaches above the bundle directory. With --strict the warning becomes an error, so validate exits 1 even though the exclusion works.
Steps to reproduce
shared/a.py
app/tests/x.py
app/databricks.yml
app/databricks.yml:
bundle:
name: repro
sync:
paths: [../shared, .]
exclude: [tests/**]
From app/: databricks bundle validate --strict -o json
Expected behavior
No warning. tests/** matches app/tests/x.py, and the resolved config already excludes it.
Actual behavior
Exit code 1 on v1.19.0:
Warning: Pattern app/tests/** does not match any files
at sync.exclude[0]
in databricks.yml:5:13
Error: 1 warning was found. Warnings are not allowed in strict mode
The resolved config (-o json) shows sync.exclude rewritten to ["app/tests/**"] and sync.paths to ["shared", "app"], so the sync itself uses the right pattern. Removing paths from the sync block makes the warning disappear.
Cause
From reading the source on main:
bundle/config/mutator/sync_infer_root.gosets the sync root to the common ancestor ofsync.pathsand rewrites eachsync.includeandsync.excludeentry relative to it (prefixing the bundle root's path from the sync root, hereapp/).bundle/config/validate/validate_sync_patterns.gothen globs each rewritten pattern withfileset.NewGlobSet(b.BundleRoot, ...), that is, against the bundle directory instead of the sync root.app/tests/**does not exist underapp/, so it warns.
Suggested fix: glob against the sync root in validate_sync_patterns.go, and add a test for a sync root above the bundle root.
OS and CLI version
Reproduced on Databricks CLI v1.19.0, macOS. Source reading only for main; I did not run later releases.
- Linguagem predominante
- Go
- Estrelas
- 409
- Forks
- 253
- Merge médio
- 1d 11h
- PRs com merge (30d)
- 212
Preparar o ambiente
- Inclui um Dockerfile ou arquivo Docker Compose
- Tem um modelo de pull request
- Sem guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de databricks/cli
-
Apps commands only accept relative path to app.ymlTalvez já em andamento @yuri-rod assumiu há 17 dias. AbertaCLI
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
databricks/cli#6910 ·
Mantenedores costumam responder em até 1 dia
-
DABs
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
databricks/cli#6670 · 1 reação ·
Mantenedores costumam responder em até 1 dia
-
bundle validate does not catch missing trigger.table_update.condition with multiple tablesTalvez já em andamento @yuri-rod assumiu há 3 dias. AbertaDABs Enhancement
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 72/100
databricks/cli#7101 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 35/100
databricks/cli#7100 ·
Mantenedores costumam responder em até 1 dia
-
DABs Enhancement
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 35/100
databricks/cli#7099 ·
Mantenedores costumam responder em até 1 dia
Todas as issues de databricks/cli
Issues semelhantes
-
native
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
prime-radiant-inc/evener#4839 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 85/100
521xueweihan/HelloGitHub#4073 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 74/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 66/100
goharbor/terraform-provider-harbor#655 · 1 comentário ·