Encadeando steps
steps: - id: analyze task: techlite/analyze-commits@^1.0.0 implementation: techlite/analyze-commits-alpine dependencies: source: "."
- id: versao task: techlite/version-bump@^1.0.0 implementation: techlite/version-bump-alpine inputs: change: ${outputs['analyze'].change} dependencies: source: "."O valor é tipado e validado: se change não satisfizer o contrato de
version-bump, o step falha antes de qualquer container subir.
Diretórios que voltam
Seção intitulada “Diretórios que voltam”Um contrato pode declarar que escreve num diretório:
dependencies: source: type: directory mutable: true # o que o worker escrever volta para o hostSem mutable, o que o worker escreve é descartado com o container. Com
mutable, a alteração é exportada de volta e os steps seguintes que montarem o
mesmo caminho veem o resultado.
É o que permite version-bump alterar o package.json e commit-and-tag
commitar o que ele mudou.
Onde os outputs ficam
Seção intitulada “Onde os outputs ficam”Cada execução grava em .oren/runs/<id>/:
manifest.json # o pipeline resolvidosteps/analyze/output.jsonsteps/analyze/status.jsonO Oren relê os outputs desse diretório em vez de mantê-los em memória. É o que faz a execução local se comportar igual à execução no CI, onde cada step é um job separado e nada sobrevive entre eles.
Valores marcados como secretos são gravados redigidos.