Hello World
Para começar, crie um repositório qualquer na sua conta. Para demonstração, aqui criei o https://github.com/davidpuziol/gh-first-action. Mantenha o repositório público para estudo e assim evitar limitações. Para ter um primeiro arquivo, inicie com o README.md e uma licença.
Vamos direto à aba Actions.
Esse é o local onde você pode iniciar a criação de workflows. Escolha o Simple Workflow e clique em Configure. Poderíamos também começar com vários outros templates para determinadas tarefas. Dê uma olhada no que está disponível.
Podemos editar via navegador o seguinte YAML. Dê um nome para este workflow como, por exemplo, first-action. Detalhe importante: o Git costuma usar a extensão .yml
ao invés de .yaml
.
Observe onde ele vai ficar no seu repositório como foi mencionado anteriormente.
Este é o exemplo inicial, mas vamos editá-lo para aprender durante o processo.
# Este é um workflow básico para ajudar você a começar com Actions
name: CI
# Controla quando o workflow será executado
on:
# Dispara o workflow em eventos de push ou pull request apenas para a branch "main"
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
# Permite executar este workflow manualmente da aba Actions
workflow_dispatch:
# Uma execução de workflow é composta por um ou mais jobs que podem executar sequencialmente ou em paralelo
jobs:
# Este workflow contém um único job chamado "build"
build:
# O tipo de runner em que o job será executado
runs-on: ubuntu-latest
# Steps representam uma sequência de tasks que serão executadas como parte do job
steps:
# Faz checkout do seu repositório em $GITHUB_WORKSPACE, para que o job possa acessá-lo
- uses: actions/checkout@v4
# Executa um único comando usando o shell do runner
- name: Run a one-line script
run: echo Hello, world!
# Executa um conjunto de comandos usando o shell do runner
- name: Run a multi-line script
run: |
echo Add other actions to build,
echo test, and deploy your project.
É necessário entender a indentação em YAML. Caso necessário, veja como trabalhar com arquivos YAML.
Consulte a documentação do evento workflow_dispatch.
A documentação dos tipos de runners mostra a lista de ambientes suportados pelo GitHub Actions.
Edite para este:
# Nome deste workflow
name: First Workflow
# Define quando o workflow será executado - em quais eventos será disparado
on: workflow_dispatch # Este evento define que o workflow precisará ser disparado manualmente
# Aqui está o bloco de jobs
jobs: # sempre no plural
# Este bloco define o primeiro job e seu nome
first-job:
# Define qual ambiente será utilizado para executar os steps deste job
runs-on: ubuntu-latest
# Nossa lista de steps
steps:
- name: First Step
# Comando do primeiro step
run: echo Hello, world!
# Para definir uma sequência de comandos, utilize a sintaxe abaixo
- name: Second Step
run: |
cat /etc/os-release
echo "\n ### Done - Bye ###"
Quando salvar, verá que ele fará um commit no repositório adicionando este arquivo.
Agora vá à aba Actions e execute este workflow. Selecione o workflow e clique em Run Workflow
.
Volte à aba Actions e verá que ele foi executado com sucesso, mostrando quem executou o workflow.
Clique no workflow e veja a execução e log do primeiro e segundo step. Ele mostra o comando e a saída do console separadamente, linha a linha.
"Set up job" e "Complete job" sempre serão executados, trazendo informações relevantes sobre o ambiente e, no final, sobre a limpeza.
Agora vamos clonar o repositório e começar a criar nossos workflows usando o VS Code em vez de trabalhar no navegador.
Para o VS Code existe uma extensão que ajudará muito no preenchimento automático (auto complete) dos arquivos YAML.