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``` 60 61## git push options 62 63These are push options that can be used with the `--push-option (-o)` flag of git push: 64 65- `verbose-ci`, `ci-verbose`: enables diagnostics reporting for the CI pipeline, allowing you to see any issues when you push. 66- `skip-ci`, `ci-skip`: skips triggering the CI pipeline.