Executando GitHub Actions Localmente
Published: 2024-01-16 17:27:16


## O que é o Github Actions???

GitHub Actions é uma plataforma de integração contínua e entrega contínua (CI/CD) que permite automatizar seus pipelines de construção, teste e implantação. Com ela, é possível criar fluxos de trabalho que constroem e testam cada pull request no seu repositório, ou implantar pull requests mesclados na produção.

Um fluxo de trabalho (workflow) é um processo automatizado configurável que executará um ou mais jobs. Esses fluxos são definidos por meio de arquivos YAML no seu repositório. Um evento é uma atividade específica em um repositório que aciona a execução de um fluxo de trabalho, como a criação de um pull request ou o envio de commits para um branch. Um job é um conjunto de passos em um fluxo de trabalho que pode ser executado simultaneamente com outros jobs.

Embora o GitHub Actions seja excelente para automatizar fluxos de trabalho, às vezes é útil executar suas ações localmente na máquina de desenvolvimento. Isso permite testar os fluxos em um ambiente mais controlado antes de enviar alterações para o repositório.

## E como fazer isso?

### Pré-requisitos:

Certifique-se de ter instalados na sua máquina o **Git**, **Docker** e **Act** caso não estejam é só seguir esse workflow:

### Git

Windows:

Instale o Git para Windows baixando e executando o instalador em https://git-scm.com/download/win.

Linux:

Use o seguinte link
https://git-scm.com/book/pt-br/v2/Come%C3%A7ando-Instalando-o-Git.

### Docker

Windows:

Instale o Windows Subsystem for Linux (WSL) seguindo as instruções em https://docs.microsoft.com/en-us/windows/wsl/install-win10.

Instale o Docker Desktop for Windows baixando e executando o instalador em https://docs.docker.com/desktop/install/windows-install/. Opte por usar o docker com o WSL pois com o hyper-V fica bem pesado.

Abra o PowerShell como administrador e execute o comando: 
`Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux`

Linux:

Instale o Docker seguindo as instruções em https://docs.docker.com/engine/install/.

### act

Windows:

Instale o act com o comando 
`choco install act-cli`


Caso não tenha o chocolatey instalado siga os passos no próprio site: https://docs.chocolatey.org/en-us/choco/setup.

Linux:

Instale o act seguindo o passo a passo: https://lindevs.com/install-act-on-ubuntu.


## Depois de tudo configurado e funcionando

### Vamos botar pra funcionar.

Clone seu repositório para sua máquina local.

Crie um novo arquivo de workflow no diretório .github/workflows do seu repositório.

No arquivo do workflow, defina os passos que deseja executar localmente.

Abra seu terminal e navegue até o diretório onde seu repositório está localizado.

Execute o comando `act --list` para listar todos os fluxos de trabalho no repositório.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ellcjnwsjzpwpb25nvlu.png)


Para executar um job específico, use o comando `act -j <Nome do Job>`. Caso queira que seja executado todo o workflow execute apenas este comando `act`


Executar GitHub Actions localmente é uma muito bom para testar seus fluxos e garantir que eles funcionem conforme esperado antes de enviar alterações para seu repositório. 

Evite encher o seu action com testes.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/02atf9hxhhev7sfqhdt1.png)


Agora na minha máquina roda e ainda publica.