Migrando do TravisCI para o GitHub Actions for R packages

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br


[This article was first published on Dean Attali’s R Blog, and kindly contributed to R-bloggers]. (Você pode relatar problemas sobre o conteúdo desta página aqui)


Quer compartilhar seu conteúdo em R-bloggers? clique aqui se você tiver um blog, ou aqui se não tiver.

Aprenda como começar a usar o GitHub Actions para validar automaticamente seu pacote –

Se você desenvolve um pacote R no GitHub e não está usando as ações do GitHub, esta postagem é para você.

Se você deseja mover seu repositório do TravisCI para o GitHub Actions, ou não sabe ao certo por que isso é necessário, ou mesmo se não sabe o que é o GitHub Actions, você definitivamente deve continuar lendo.

Se você preferir um passo a passo em vídeo em vez de ler, você pode assistir a uma versão em vídeo desta postagem:

Para quem não está familiarizado com o TravisCI – é um provedor de CI / CD popular, que significa Integração / Entrega Contínua. Pode parecer assustador, mas é apenas um termo sofisticado para algo muito útil: automatizar fluxos de trabalho de software com base em determinados gatilhos em seu repositório GitHub.

Alguns exemplos simples de para que os desenvolvedores R usam o TravisCI:

  • Execute testes CRAN automaticamente em seu pacote R sempre que enviar um novo código
  • Execute testes CRAN automaticamente em seu pacote R sempre que alguém fizer uma solicitação de pull para seu pacote
  • Construir automaticamente o site de documentação do {pkgdown} para o seu pacote em cada commit
  • Gerando automaticamente um relatório de cobertura de teste

Você entendeu a ideia. Automatizar um fluxo de trabalho que você faria manualmente em um repositório GitHub.

Desde que o TravisCI começou a oferecer suporte ao R no início de 2015 (graças a Craig Citro, Jim Hester e Jeroen Ooms), foi a primeira coisa que adicionei a qualquer pacote R que fiz.

Leia Também  Momentum in Sports: O Desempenho do Conference Tournament Impacta o Desempenho do NCAA Tournament

TravisCI não é a única opção – existem outros provedores de CI / CD, e o GitHub Actions é um deles. Mas desde 2015 e até recentemente, Travis tem sido a escolha padrão para a maioria dos desenvolvedores de pacotes R, incluindo eu. Cada vez que eu comprometia o código em um repositório GitHub de pacote R, Travis me alertava em alguns minutos se meu novo código quebrasse algo.

Eu, como muitos outros desenvolvedores, tive uma relação de amor e ódio com Travis por anos: adorei porque me deu a paz de espírito de saber que meu pacote é constantemente verificado, mas odiava quando “aleatoriamente” reclamava que meu a mudança minúscula e insignificante de alguma forma quebrou o pacote.

travis

Travis nos serviu muito bem.

Como todos sabemos, todas as coisas boas chegam ao fim. ROpenSci escreveu recentemente um post sobre por que eles estão se afastando do Travis e recomendando outros para fazer o mesmo. Sem entrar na política de tudo, este é o resumo: Travis operou de forma independente por anos, até ser adquirido no ano passado por uma empresa privada. Pouco depois, muitos engenheiros do Travis foram demitidos, os serviços corporativos receberam prioridade e a parte de código aberto do Travis começou a sofrer. O GitHub Actions foi lançado apenas alguns meses antes e, por causa dos problemas com o Travis, muitos usuários do R começaram a abandonar o barco e mudaram para o GitHub Actions.

Tenho observado do lado de fora ao longo do ano passado, enquanto a comunidade R lentamente mudou do Travis como o CI / CD padrão para Ações do GitHub. Eu estava perfeitamente satisfeito com Travis e não tinha motivo para aprender Ações do GitHub.

Até agora.

Na postagem de ROpenSci, eles fazem referência a um anúncio recente do TravisCI que coloca o prego no caixão do Travis de código aberto. A partir de 2021, eles não oferecerão mais um nível gratuito. Qualquer usuário não pagante do Travis, novo ou existente, receberá uma certa quantidade de “créditos” únicos e, quando eles se esgotarem, não poderão mais usar o Travis gratuitamente.

Leia Também  Voltar a compartilhar: Documentação e vídeo de preparação de dados do vtreat
cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br

Não me oponho a esse modelo de negócios – sei muito bem por experiência própria que construir produtos de código aberto e mantê-los é extremamente difícil e não estou aqui para julgar essa decisão de negócios. Mas eu uso o Travis para todos os meus pacotes R de código aberto que não geram nenhuma receita, então prefiro ficar com uma pilha de código aberto para esses projetos.

Por causa dessa mudança no faturamento, finalmente tenho um bom motivo para me afastar do Travis, e o concorrente óbvio são as Ações do GitHub. Em breve, moverei todos os meus pacotes R do Travis para o GitHub Actions.

Usando ações do GitHub

Então, como deixamos o Travis e usamos as Ações do GitHub? Abaixo está o processo que fiz com {brilhantejs}. Se você não usa o Travis ou qualquer outro serviço de CI / CD no momento, pode simplesmente pular a primeira etapa.

1. Remova Travis de seu projeto

Isso inclui:

  • Remova o travis.yml arquivo de configuração
  • Remova todas as referências a travis.yml você pode ter em qualquer arquivo ignorar (como .Rbuildignore)
  • Remova todas as referências a Travis no README, uma vez que você provavelmente tinha um emblema de “status de construção”
  • Faça login no site do TravisCI e remova o repositório GitHub de usar o Travis

2. Adicione uma ação do GitHub ao seu projeto

Você pode fazer isso manualmente. Mas, felizmente para nós, o excelente pacote {usethis} oferece uma maneira super simples de usar as Ações do GitHub, chamando várias funções. Para o meu caso de uso, quero apenas usar ações do GitHub para executar verificações CRAN após cada solicitação de confirmação ou pull, então simplesmente chamo usethis::use_github_action_check_standard(). Se você olhar a saída no console, ela dirá exatamente quais etapas foram executadas, e você será informado de que há apenas mais uma etapa que deve ser executada manualmente: adicionar o crachá de status ao README.

Leia Também  5 etapas para alterar a ramificação padrão do GitHub de mestre para principal

travis

E isso é tudo que você precisa fazer. Basta chamar aquela função {usethis}.

O arquivo de configuração padrão adicionado executa as verificações no Windows, Mac e Ubuntu (usando duas versões R diferentes). Isso é bastante verificação para mim. Agora, toda vez que um novo código é enviado ao GitHub, o GitHub executará verificações CRAN automaticamente em todos esses ambientes e haverá um pequeno ícone de status próximo à última mensagem de confirmação. Se as verificações passarem, será uma marca de verificação verde, caso contrário, um X vermelho. Clicar nesse ícone exibirá mais detalhes.

travis

Se você quiser usar uma ação GitHub diferente, o pacote {usethis} tem mais algumas funções que fornecem ações diferentes, e o pacote {actions} tem ainda mais bons exemplos de ações GitHub úteis para R. Se nenhuma das ações lá corresponder seu caso de uso, você pode ler a documentação oficial do GitHub Actions para escrever suas próprias ações.

Por fim, se alguma das coisas acima não estiver clara, você pode me assistir migrar meu próprio pacote do Travis para o GitHub Actions em tempo real no vídeo abaixo:



cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br