O Que É uma Expressão no GitHub Actions?
Uma expressão é o código dentro de ${{ }} que o GitHub avalia para calcular valores, montar strings e decidir condições.
O YAML do GitHub Actions é majoritariamente estático, mas as expressões adicionam lógica. Tudo entre ${{ e }} é avaliado pelo GitHub usando contextos, operadores e funções nativas antes do step rodar.
O que é
Uma expressão é uma pequena fórmula envolvida em ${{ }}. Ela pode ler dados de contexto, chamar funções como contains() ou format(), e usar operadores como ==, && e ||.
steps:
- if: ${{ github.ref == 'refs/heads/main' }}
run: ./deploy.sh
- run: echo "${{ format('Build {0}', github.run_number) }}"Como funciona
O GitHub avalia as expressões ao processar o workflow, substituindo o resultado no YAML. Em condições if:, o ${{ }} ao redor é opcional porque o valor inteiro é tratado como uma expressão.
Funções e operadores
As expressões suportam operadores de comparação e lógicos além de funções como contains, startsWith, fromJSON, e as verificações de status success() e failure(). Elas viabilizam steps condicionais e valores dinâmicos.
Por que importa
As expressões deixam os workflows dinâmicos: pular steps na branch errada, montar strings de versão ou ramificar com base em resultados anteriores. Elas são a cola entre o YAML estático e os dados de runtime.
Conceitos relacionados
As expressões leem de contextos e são comumente usadas em condições if:, matrizes (matrix) e chaves de concurrency.
Principais conclusões
- Uma expressão é lógica dentro de
${{ }}. - Ela usa contextos, operadores e funções.
- Em
if:o wrapper${{ }}é opcional.