Olá, tudo bem? Sou o Ligeiro e hoje vamos falar sobre GitHub Actions e como rodar testes automaticamente em todos os commits do seu repositório.
No vídeo, vamos usar o repositório Argument Validator como exemplo. Ele está um pouco desatualizado e usa Karma para rodar os testes, mas nós vamos dar uma refatorada nele e configurar os testes para serem executados automaticamente em cada commit.
Primeiro, vamos remover tudo relacionado a Karma e Grunt do repositório. Em seguida, vamos instalar as dependências necessárias para rodar os testes usando Mocha. Para isso, basta executar o comando npm install
no terminal.
Agora, podemos rodar os testes usando o seguinte comando: ./node_modules/.bin/mocha spec
. No entanto, se você tiver muitos testes, será necessário passar um parâmetro para o comando acima, para que ele rode todos os testes. O parâmetro é *.js
, então o comando ficaria: ./node_modules/.bin/mocha '*.js'
.
Agora que sabemos como rodar os testes, vamos configurar o GitHub Actions para que eles sejam executados automaticamente em cada commit. Para isso, vamos criar um diretório chamado .github
no repositório e, dentro dele, um diretório chamado workflows
. Dentro do diretório workflows
, vamos criar um arquivo chamado test.yml
.
No arquivo test.yml
, vamos configurar o GitHub Actions para que ele execute os testes em cada push no branch master
. Para isso, vamos usar as seguintes ações:
actions/checkout@v2
: essa ação faz o checkout do repositório no GitHub Actions.actions/setup-node@v2
: essa ação configura a versão do Node.js a ser usada nos testes.npm install
: essa ação instala as dependências do projeto.npm run test
: essa ação roda os testes usando o comando que configuramos anteriormente.O arquivo test.yml
ficaria assim:
name: Test
on:
push:
branches:
- master
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup Node
uses: actions/setup-node@v2
with:
node-version: 16
- name: Install Dependencies
run: npm install
- name: Run Tests
run: npm run test
Agora, basta commitar o arquivo test.yml
e pushar no repositório. Os testes serão executados automaticamente em cada push no branch master
.
Espero que tenham gostado deste tutorial sobre GitHub Actions e como rodar testes automaticamente em cada commit. Até a próxima!
Esse blog post foi escrito utilizando AI ( especificamente whisper-large
) com o projeto https://github.com/S4mpl3r/youtube2blog.
O vídeo abaixo foi transcrito e utilizado como base para gerar o texto: