Ferramenta de automação de releases para projetos Go que compila, empacota e publica binários no GitHub, em gerenciadores de pacotes e em registros de contêineres.
jdx/packslip
Um manifesto de release assinado que permite a instaladores e gerenciadores de pacotes verificar e escolher o artefato binário certo para cada host.
- Estrelas
- 198
- Forks
- 5
- Issues abertas
- 1
- Último commit
- ontem
O que é?
Um packslip é um manifesto de release assinado para software distribuído como arquivos compactados, instaladores ou executáveis. Uma release publica um único arquivo, packslip.sigstore.json, junto aos artefatos. Instaladores, gerenciadores de pacotes e mirrors verificam esse pacote usando o assinante do projeto e, em seguida, descobrem qual artefato é compatível com o host, onde ficam os executáveis dentro dele e qual digest o download deve corresponder. Isso elimina a necessidade de deduzir essas informações pelos nomes dos arquivos ou confiar em um arquivo de checksum servido junto ao binário.
O projeto inclui uma GitHub Action que assina uma declaração com os digests, as plataformas e os caminhos dos executáveis dos artefatos usando a identidade do workflow, sem exigir uma chave de assinatura de longa duração. Também oferece uma CLI com comandos para publicar, verificar e instalar releases. packslip install baixa a release assinada de uma ferramenta, instala o arquivo compactado completo e coloca os comandos declarados em um diretório bin, sem executar o código baixado. O formato é declarado estável na versão 1.
Recursos principais
- 01Publica um pacote assinado que relaciona artefatos a plataformas e caminhos de executáveis.
- 02Verifica os artefatos da release com base nos digests do pacote usando packslip verify.
- 03Instala ferramentas do GitHub ou de projetos em domínios com packslip install, sem executar o código baixado.
- 04Funciona no GitHub Actions usando a identidade do workflow, sem exigir uma chave de assinatura de longa duração.
- 05O formato é declarado estável na versão 1.
Casos de uso
- Publicar uma ferramenta CLI para que usuários possam instalá-la de forma verificável, em vez de enviar um script por pipe para um shell.
- Criar um instalador ou gerenciador de pacotes que precise escolher o binário certo para cada plataforma.
- Permitir que mirrors ou ferramentas internas verifiquem a autenticidade dos artefatos de release baixados.
- Adicionar a verificação de releases assinadas ao job de release existente de CI de um projeto, acionado por tags.
Início rápido
- 1
Instale o packslip seguindo o guia de instalação
- 2
Instale uma ferramenta a partir de sua versão assinada
packslip install github.com/jdx/hk
Antes de usar
- A CLI não tem comandos para atualizar, listar ou desinstalar.
- Para instalar o próprio packslip, é preciso seguir um guia de instalação separado; o README não apresenta isso como um único comando.
Tópicos
Perguntas frequentes
- O que é packslip?
- Um manifesto de release assinado que permite a instaladores e gerenciadores de pacotes verificar e escolher o artefato binário certo para cada host. Um packslip é um manifesto de release assinado para software distribuído como arquivos compactados, instaladores ou executáveis. Uma release publica um único arquivo, packslip.sigstore.json, junto aos artefatos. Instaladores, gerenciadores de pacotes e mirrors verificam esse pacote usando o assinante do projeto e, em seguida, descobrem qual artefato é compatível com o host, onde ficam os executáveis dentro dele e qual digest o download deve corresponder. Isso elimina a necessidade de deduzir essas informações pelos nomes dos arquivos ou confiar em um arquivo de checksum servido junto ao binário.
- packslip é gratuito? Qual é a licença?
- packslip é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- packslip ainda é mantido?
- Manutenção ativa. O último commit de packslip foi em 6 de nov. de 2026.
- Para que posso usar packslip?
- Publicar uma ferramenta CLI para que usuários possam instalá-la de forma verificável, em vez de enviar um script por pipe para um shell. Criar um instalador ou gerenciador de pacotes que precise escolher o binário certo para cada plataforma. Permitir que mirrors ou ferramentas internas verifiquem a autenticidade dos artefatos de release baixados. Adicionar a verificação de releases assinadas ao job de release existente de CI de um projeto, acionado por tags.
- Como instalar packslip?
- Instale o packslip seguindo o guia de instalação Instale uma ferramenta a partir de sua versão assinada: packslip install github.com/jdx/hk
- Onde consigo packslip?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/jdx/packslip
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Agente de segurança para runners do GitHub Actions que monitora tráfego de rede de saída, gravações de arquivos e atividade de processos para detectar ataques à cadeia de suprimentos.
Uma extensão do GitHub CLI que fixa cada action usada nos workflows em um commit exato e verifica o lockfile na CI.
Aplicativo desktop multiplataforma para instalar apps assinados de iOS, iPadOS e tvOS em um dispositivo usando uma Apple Account gratuita.
Sandbox e camada de segurança impostos pelo kernel para agentes de IA, que controlam suas ferramentas, credenciais, acesso à rede e alterações em arquivos.
Ferramenta de linha de comando em Ruby que automatiza builds de apps iOS e Android, capturas de tela, assinatura de código e lançamentos nas lojas.