Pare de escrever workflows em YAML e use Typescript
Instalação
npm install --save-dev github-actions-workflow-ts
O github-actions-workflow-ts pacote permite escrever workflows do GitHub Actions usando Typescript. Os workflows são então compilados automaticamente em arquivos YAML que você não precisa gerenciar manualmente – Workflow as Code (wac)!.
A vantagem de usar uma linguagem imperitiva como Typscript para escrever workflows é que ela permite:
- Escreva-os com confiança com segurança de tipo
- Empacotar/modularizar tarefas e etapas comuns/repetitivas (escrever uma vez, usar em qualquer lugar)
- Faça uso da lógica de workflows, como condicionais e outras funcionalidades imperativas da linguagem de programação, para criar workflows complexos que não são realmente possíveis com YAML.
Para começar, basta criar um novo *.wac.tsexemplo deploy.wac.tsem qualquer lugar do seu projeto e começar a escrever seu fluxo de trabalho do GitHub Actions.
Exemplo Simples
Verifique a pasta de exemplos e a pasta de fluxos de trabalho para exemplos mais avançados.
Abaixo está um exemplo simples:
// example.wac.ts
import { Workflow, NormalJob, Step } from 'github-actions-workflow-ts'
const checkoutStep = new Step({
name: 'Checkout',
uses: 'actions/checkout@v3',
})
const testJob = new NormalJob('Test', {
'runs-on': 'ubuntu-latest',
'timeout-minutes': 2
})
// IMPORTANT - the instance of Workflow MUST be exported with `export`
export const exampleWorkflow = new Workflow('example-filename', {
name: 'Example',
on: {
workflow_dispatch: {}
}
})
// add the defined step to the defined job
testJob.addStep(checkoutStep)
// add the defined job to the defined workflow
exampleWorkflow.addJob(testJob)
Melhores detalhes no link abaixo: