watch: a rebuild queued during a failed deploy is never deployed
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Facilidade para iniciantes
- 78/100
- Tipo de issue
- Bug
- Clareza
- Claramente especificada
- Status de atividade
- Ativa
- Stack de tecnologia
- node.js, typescript
Direção de pesquisa
Comece em packages/cli/src/watch.ts e acompanhe como triggerDeploy trata os caminhos de sucesso e falha da promise. Reproduza a falha salvando uma alteração durante um deploy em andamento e, em seguida, certifique-se de que o deploy na fila seja executado após qualquer um dos resultados; verifique se ele não fica bloqueado pela suspensão do deploy descrita em #47.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Problem
In packages/cli/src/watch.ts, if a rebuild happens while a deploy is running, triggerDeploy sets deployQueued = true. The .then handler starts the queued deploy, but the .catch handler only resets isDeploying and never checks deployQueued.
So if the running deploy fails, a change saved during it is silently left undeployed until the next file change. That's often exactly the fix for the failure.
Repro
- In
notation watch, start a deploy that will fail. - While it's running, save a change.
- The failed deploy finishes, and the saved change is not deployed until another edit.
Fix
Drain the queue in both paths, e.g. move the deployQueued check into a .finally, or call the same "done" function from .then and .catch.
Note that while #47 is open, the queued deploy would then hang on the deployment hold, so the two are worth fixing together.
- Linguagem predominante
- TypeScript
- Estrelas
- 54
- Forks
- 1
- Merge médio
- 1h 45min
- PRs com merge (30d)
- 1
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Sem modelo de pull request
- Ler o 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 notationlabs/notation
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 42/100
notationlabs/notation#47 ·
-
state provider configAberta
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 35/100
notationlabs/notation#34 ·
-
envs as configAberta
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 35/100
notationlabs/notation#33 ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 45/100
notationlabs/notation#16 ·
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 45/100
notationlabs/notation#15 ·
Todas as issues de notationlabs/notation
Issues semelhantes
-
area:workflow bug ready-for-human
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 78/100
fil-donadoni/tolaria#6108 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
apache/rocketmq-dashboard#7234 ·
Mantenedores costumam responder em até 3 dias
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
vitest-dev/vitest#11656 ·
Mantenedores costumam responder em até 1 dia
-
e2e-failure ready-to-code
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
redhat-developer/rhdh-plugin-export-overlays#4460 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
ehmpathy/rhachet-roles-bhrain#655 ·
Mantenedores costumam responder em até 1 dia