Este workflow de publicação entrega uma App Store Docker através de alojamento estático para que servidores domésticos ZimaOS e homelabs a possam consumir.
Esta página documenta .github/workflows/release-store.yml, o workflow de publicação utilizado para releases etiquetadas.
Objetivo
Obtém a saída pronta para release e publica-a nos destinos públicos de entrega.
Acionadores
- push de etiquetas que correspondam a
v* - execução manual através de
workflow_dispatch
As execuções manuais podem definir purge_only para atualizar os ficheiros alterados pela implementação mais recente em gh-pages sem voltar a compilar ou implementar a loja.
Principais fases
- Obter a origem do repositório.
- Restaurar as caches de compilação.
- Compilar
dist/do protocolo v2. - Compilar a saída zip v1 legada.
- Criar os pacotes da release.
- Carregar os artefactos e relatórios da release.
- Guardar as caches de compilação.
- Escrever o resumo da release.
- Implementar
dist/emgh-pages. - Recolher os ficheiros alterados pela implementação e atualizar as respetivas entradas de cache no jsDelivr.
- Criar uma GitHub Release com os pacotes anexados.
A atualização da cache é executada depois da implementação em gh-pages. Compara as revisões anterior e atual de gh-pages, inclui sempre os pontos de entrada da loja e envia os caminhos para o jsDelivr em lotes. O script consulta o resultado da purga, repete falhas HTTP transitórias e falha de forma visível quando o jsDelivr comunica limitação ou uma purga sem êxito. Uma verificação posterior compara os hashes da resposta da origem e da CDN, para que um pedido de purga aceite não seja confundido com uma cache efetivamente atualizada.
Saídas publicadas
Atualmente, o workflow publica ou anexa:
- saída estática
dist/emgh-pagespara o protocolo v2 main.zippara compatibilidade v1- pacotes zip da release para transferência
- relatórios JSON de compilação para resolução de problemas
Porque é importante
Este workflow é a referência mais próxima se quiser que o repositório de uma loja de terceiros siga o caminho de publicação oficial.
Mostra como o repositório oficial separa:
- os artefactos gerados durante a compilação
- a implementação durante a publicação
- os anexos da release para transferência manual
Workflow de compilação relacionado
O workflow de compilação que não publica está documentado em Workflow de compilação.
Se estiver a desenhar um repositório externo, consulte Reutilizar as ações oficiais para conhecer o caminho recomendado.