Suas chances de encontrar um emprego em jogos | Mastro do Projeto Amir Satvat
3 de junho de 2024Construindo um aplicativo LLM aberto usando Hermes 2 Pro implantado localmente
3 de junho de 2024No Hemisfério Norte, é hora da limpeza de primavera. Isso inclui seus fluxos de trabalho do GitHub. Aqui estão três melhorias simples que você pode fazer para acelerar o feedback, reduzir os ciclos da CPU, economizar algum dinheiro e fazer algo pequeno para ajudar o planeta.
Reduzir seus custos e reduzir o desperdício de ciclos de CPU são benefícios, mas um feedback mais rápido trará algo ainda melhor: alegria para o desenvolvedor. Concentre-se nos benefícios da experiência do desenvolvedor, sendo as outras vantagens os bônus.
As três melhorias são:
- Adicionando cache de dependência
- Configurando fluxos de trabalho para falharem rapidamente
- Cancelando fluxos de trabalho desatualizados
Ao atualizar seus fluxos de trabalho, você também pode atualizar cada ação para a versão mais recente. É raro abrir um fluxo de trabalho sem descobrir que ele ainda está usando algo antigo, como actions/checkout@v1.
Os exemplos abaixo são baseados em um aplicativo Node.js com pnpm como gerenciador de pacotes. Se você fez escolhas diferentes, existem links de documentação para ajudá-lo a fazer melhorias semelhantes.
Cache de Dependência
Mesmo para um aplicativo com dependências moderadas, pode levar algum tempo para baixar tudo sempre que você executa um fluxo de trabalho. Isso atrasa o feedback do desenvolvedor e reduz a satisfação. Todos nós queremos saber o estado de uma mudança o mais rápido possível, e a entrega contínua nos diz para entregar isso em menos de cinco minutos.
Para aplicativos maiores, muitas vezes parece que você está baixando metade da Internet para a pasta node_modules.
O cache de dependência evita o problema de baixar constantemente as mesmas versões de pacote a cada 10 minutos e usar itens do cache.
Você pode configurar o cache de dependência na ação “setup-node”. Você passa o nome do seu gerenciador de pacotes, como “npm” ou “pnpm”, e o caminho para o seu arquivo de bloqueio de pacote, que é usado para gerar uma chave.
Alterações no arquivo package-lock resultarão no download de pacotes, mas se o arquivo permanecer inalterado, você pulará esse trabalho extra.
Os documentos do GitHub para dependências de cache ajudarão você a adaptar esta etapa ao seu fluxo de trabalho.
Falhar rápido
Se o seu fluxo de trabalho estiver dividido em vários trabalhos, vale a pena falhar rapidamente para evitar gastar tempo e dinheiro executando trabalhos que estão na fila após a falha. Por exemplo, se você executar um trabalho de build seguido por um trabalho de teste, poderá evitar a execução dos testes quando o build falhar.
Você pode definir a estratégia fail-fast em seus trabalhos.
Você pode verificar a documentação do fail-fast para obter mais informações.
Cancelar fluxos de trabalho em andamento
Quando você cria uma solicitação pull e aciona fluxos de trabalho, não é incomum adicionar outro commit durante a vida útil de um ou mais fluxos de trabalho. Você pode interromper o processamento de trabalhos desatualizados usando a opção de simultaneidade para cancelar o trabalho em andamento.
Quando você adiciona confirmações e novos fluxos de trabalho são acionados, todos os fluxos de trabalho em andamento no mesmo grupo serão cancelados. O nome do grupo pode ser qualquer string ou expressão que identifique a coleção de fluxos de trabalho que devem cancelar uns aos outros. Normalmente, você deseja identificar um grupo pelo nome do fluxo de trabalho e da ramificação.
Os fluxos de trabalho “Implantar no canal” são cancelados quando um novo fluxo de trabalho os substitui. Ao longo de um ano, isso poderia economizar horas ou dias de desperdício de processamento.
Também estamos ajudando
No Octopus Deploy, queríamos ver onde podemos ajudar a reduzir o atrito do desenvolvedor para usuários do Octopus e do GitHub. Adicionamos o OpenID Connect para GitHub Actions no ano passado para simplificar as integrações e eliminar o trabalho de rotação manual de segredos. Recentemente, lançamos o aplicativo Octopus Deploy GitHub.
E, mais recentemente, nossa extensão Octopus GitHub Copilot foi anunciada durante a palestra de Satya Nadella no Microsoft Build. Você usa a extensão para fazer perguntas e mostrar informações da janela de bate-papo do GitHub Copilot em resposta a instruções como:
@octopus-ai-app show the dashboard for the "Default" space
Isso reduz a troca de contexto e permite que os desenvolvedores permaneçam em um estado de fluxo.
Remover cortes de papel
Embora algumas dessas melhorias no GitHub possam parecer pequenas, seu efeito ao longo do tempo pode fazer uma grande diferença na satisfação do desenvolvedor. Cortar um ou dois minutos do tempo necessário para executar um fluxo de trabalho pode fazer uma grande diferença.
Também ajuda que as mesmas melhorias possam reduzir custos para sua organização. Mostrar aos empresários que você se preocupa com a contenção de custos ajudará a construir o tipo de relacionamento que você precisa quando se trata de remover outros tipos de cortes de papel, como atrasos no processo de aprovação de mudanças.
Encontrar e consertar pequenas coisas pode levar a ótimos resultados.
A postagem Acelere o feedback do fluxo de trabalho do GitHub apareceu pela primeira vez em The New Stack.