Skip to content

Aviso de atualização espera a imagem Docker ser publicada - #134

Merged
paulocarinhena merged 1 commit into
mainfrom
fix/update-aguarda-imagem
Nov 11, 2026
Merged

paulocarinhena merged 1 commit into
mainfrom
fix/update-aguarda-imagem

Conversation

@paulocarinhena

Copy link
Copy Markdown
Collaborator

A release é criada no GitHub antes do workflow Docker terminar a imagem multi-arquitetura (~20 min). Nesse intervalo o openRSS já mostrava o aviso de nova versão, mas o botão Atualizar não fazia nada: o Watchtower respondia updated=0 porque latest ainda era a versão anterior. Aconteceu na v0.1.6: release às 22:07, imagem só às 22:29.

App (src/lib/updates.ts)

  • Depois de achar uma release mais nova, confere no ghcr.io se a tag da versão (0.1.6) já existe. A tag só aparece depois que todas as plataformas foram enviadas.
  • Enquanto a imagem não existe, não mostra o aviso e checa de novo em 15 min (em vez de 12 h).
  • Se o ghcr.io não responder, conta como falha da checagem ("Verificar agora" mostra erro), como já acontecia com o GitHub.
  • OPENRSS_INSTALL_METHOD=source não espera a imagem.

Workflow Docker

  • A tag de versão também publica latest, no mesmo push da tag 0.1.6. Assim, quando o app vê a versão no registro, o Watchtower já acha a imagem nova em latest.
  • concurrency por ref: um build novo na main cancela o anterior. Antes, três pushes seguidos na main rodavam juntos e o último a terminar ficava com latest, mesmo sendo de um commit mais antigo. Tags de versão nunca são canceladas.

Testes: casos para imagem publicada, imagem ainda em build, ghcr.io fora do ar e instalação source. Lint, typecheck e a suíte inteira (196 testes) passam.

🤖 Generated with Claude Code

A release era criada no GitHub antes do workflow Docker terminar (~20 min).
Nesse intervalo o openRSS já mostrava "nova versão", mas o botão Atualizar
não fazia nada: o Watchtower ainda não achava imagem nova em latest.

- updates.ts: só avisa quando a tag da versão existe no ghcr.io; enquanto a
  imagem está sendo construída, volta a checar em 15 min (não em 12 h).
  Instalações a partir do código não esperam a imagem.
- docker.yml: a tag de versão também publica latest no mesmo push, e um
  build novo na main cancela o anterior, para um build atrasado de um
  commit antigo não sobrescrever latest.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@paulocarinhena
paulocarinhena merged commit f4ac44d into main Nov 11, 2026
2 checks passed
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.

1 participant