back interdiff of round #4 and #3

spindle: make workflows engine-agnostic #423

merged
opened by winter.bsky.social targeting master from winter.bsky.social/core: push-luoyqwkpromz
ERROR
api/tangled/cbor_gen.go

Failed to calculate interdiff for this file.

ERROR
api/tangled/tangledpipeline.go

Failed to calculate interdiff for this file.

ERROR
cmd/gen.go

Failed to calculate interdiff for this file.

ERROR
lexicons/pipeline/pipeline.json

Failed to calculate interdiff for this file.

ERROR
nix/modules/spindle.nix

Failed to calculate interdiff for this file.

ERROR
spindle/config/config.go

Failed to calculate interdiff for this file.

ERROR
spindle/engine/engine.go

Failed to calculate interdiff for this file.

ERROR
spindle/engine/errors.go

Failed to calculate interdiff for this file.

ERROR
spindle/engines/nixery/ansi_stripper.go

Failed to calculate interdiff for this file.

ERROR
spindle/engines/nixery/engine.go

Failed to calculate interdiff for this file.

ERROR
spindle/engines/nixery/envs.go

Failed to calculate interdiff for this file.

ERROR
spindle/engines/nixery/envs_test.go

Failed to calculate interdiff for this file.

ERROR
spindle/engines/nixery/errors.go

Failed to calculate interdiff for this file.

ERROR
spindle/engines/nixery/setup_steps.go

Failed to calculate interdiff for this file.

ERROR
spindle/models/engine.go

Failed to calculate interdiff for this file.

ERROR
spindle/models/logger.go

Failed to calculate interdiff for this file.

ERROR
spindle/models/models.go

Failed to calculate interdiff for this file.

ERROR
spindle/models/pipeline.go

Failed to calculate interdiff for this file.

ERROR
spindle/server.go

Failed to calculate interdiff for this file.

ERROR
spindle/stream.go

Failed to calculate interdiff for this file.

ERROR
spindle/xrpc/xrpc.go

Failed to calculate interdiff for this file.

ERROR
workflow/compile.go

Failed to calculate interdiff for this file.

ERROR
workflow/compile_test.go

Failed to calculate interdiff for this file.

ERROR
workflow/def.go

Failed to calculate interdiff for this file.

ERROR
workflow/def_test.go

Failed to calculate interdiff for this file.

NEW
docs/spindle/pipeline.md
··· 4 4 repo. Generally: 5 5 6 6 * Pipelines are defined in YAML. 7 - * Dependencies can be specified from 8 - [Nixpkgs](https://search.nixos.org) or custom registries. 9 - * Environment variables can be set globally or per-step. 7 + * Workflows can run using different *engines*. 8 + 9 + The most barebones workflow looks like this: 10 + 11 + ```yaml 12 + when: 13 + - event: ["push"] 14 + branch: ["main"] 15 + 16 + engine: "nixery" 17 + 18 + # optional 19 + clone: 20 + skip: false 21 + depth: 50 22 + submodules: true 23 + ``` 24 + 25 + The `when` and `engine` fields are required, while every other aspect 26 + of how the definition is parsed is up to the engine. Currently, a spindle 27 + provides at least one of these built-in engines: 28 + 29 + ## `nixery` 30 + 31 + The Nixery engine uses an instance of [Nixery](https://nixery.dev) to run 32 + steps that use dependencies from [Nixpkgs](https://github.com/NixOS/nixpkgs). 10 33 11 34 Here's an example that uses all fields: 12 35