forked from
tangled.org/core
Monorepo for Tangled — https://tangled.org
1# spindle pipeline manifest
2
3Spindle pipelines are defined under the `.tangled/workflows` directory in a
4repo. Generally:
5
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.
10
11Here's an example that uses all fields:
12
13```yaml
14# build_and_test.yaml
15when:
16 - event: ["push", "pull_request"]
17 branch: ["main", "develop"]
18 - event: ["manual"]
19
20dependencies:
21 ## from nixpkgs
22 nixpkgs:
23 - nodejs
24 ## custom registry
25 git+https://tangled.sh/@oppi.li/statix:
26 - statix
27
28steps:
29 - name: "Install dependencies"
30 command: "npm install"
31 environment:
32 NODE_ENV: "development"
33 CI: "true"
34
35 - name: "Run linter"
36 command: "npm run lint"
37
38 - name: "Run tests"
39 command: "npm test"
40 environment:
41 NODE_ENV: "test"
42 JEST_WORKERS: "2"
43
44 - name: "Build application"
45 command: "npm run build"
46 environment:
47 NODE_ENV: "production"
48
49environment:
50 BUILD_NUMBER: "123"
51 GIT_BRANCH: "main"
52
53## current repository is cloned and checked out at the target ref
54## by default.
55clone:
56 skip: false
57 depth: 50
58 submodules: true
59```