Configurando GitHub Actions para Android

Automatizando lint, test, build e outras tarefas repetitivas…

Arildo Borges Jr
Android Dev BR
3 min readJan 25, 2020

--

Photo by tian kuan on Unsplash

Recentemente o GitHub lançou uma ferramenta de CI/CD própria em sua plataforma, o GitHub Actions, tornando mais fácil a automatização de tarefas repetitivas, como build, test, lint, deploy, invalidação do Cloudfront e muito mais. Nesse artigo vamos ver como configurar uma pipeline simples para desenvolvimento Android, para você poder evoluir de acordo com as necessidades do seu projeto.

Entendendo o arquivo de configuração

Vamos criar o arquivo de configuração inicial do “Actions”, para isso, vá ao repositório do seu projeto, clique na tab “Actions”, depois em “Set up a workflow yourself”.

Feito isso, veremos uma tela com um arquivo main.yml default (você pode alterar o nome do arquivo, respeitando apenas o formato .yml)

Note que nesse arquivo temos algumas keywords, como name, on, jobs, steps. Vou explicar cada um deles logo abaixo:

name:

Define o nome da pipeline que irá aparecer na tab “Actions”.

on:

Define qual evento irá iniciar a pipeline. Para isso temos algumas opções, como push, pull_request, page_build e schedule, sendo esse bem interessante, pois podemos agendar para a pipeline rodar periodicamente 😎.

jobs:

É aqui que iremos definir quais jobs irão rodar dentro da nossa pipeline.

E dentro de “Jobs”, ainda temos:

runs-on:

Define sobre qual plataforma o job irá rodar, sendo possível escolher entre ubuntu-latest, ubuntu-16.04, windows-latest e ainda macos-latest.

steps

São literalmente os passos dentro da execução de um job.

Personalizando arquivo para desenvolvimento Android

Agora que já entendemos o básico sobre o arquivo de configuração do Actions, vamos personalizá-lo para rodar os testes e build. Para isso, troque o conteúdo do arquivo.yml default para:

Feito isso, você pode commitar as alterações e clicar na tab “Actions” novamente, note que agora temos uma pipeline se iniciando:

Em alguns minutos você poderá ver o resultado os jobs, assim como os logs:

E agora? Bom, agora você pode evoluir de acordo com as necessidades do seu projeto, seja adicionando jobs de lint, deploy, etc...

Abraços e até a próxima!

Referências

--

--