Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dburriss/wye
A task runner allowing easy sharing of data across jobs
https://github.com/dburriss/wye
Last synced: 21 days ago
JSON representation
A task runner allowing easy sharing of data across jobs
- Host: GitHub
- URL: https://github.com/dburriss/wye
- Owner: dburriss
- License: mit
- Created: 2024-04-24T18:07:14.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2024-04-25T11:15:10.000Z (8 months ago)
- Last Synced: 2024-04-25T20:07:55.020Z (8 months ago)
- Language: F#
- Size: 11.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Wye
> This is alpha software. Use at your own risk.
A task runner allowing easy sharing of data across jobs.
## Requirements
- Currently only supports bash
- `dotnet` for installing the tool. [Download here](https://dotnet.microsoft.com/en-us/download)## Installation
```bash
dotnet tool install -g Wye.Cli
```## Usage
Create a `config.yml` file in the root of your project.
```yaml
jobs:
- id: hello
steps:
- command: echo "Hello" >> $OUTPUT
- command: echo "World" >> $OUTPUT
- id: print
dependsOn: [hello]
vars:
- name: GREET
value: $$jobs.hello.steps.0.output
- name: PLACE
value: $$jobs.hello.steps.1.output
steps:
- command: echo "$GREET $PLACE"```
Then execute the following command:```bash
wye run ./config.yml
```## How it works
Wye is a task runner that allows you to share data between jobs.
It does this by creating a temporary file for each job and storing the output of each step in that file.
Storing is done by simply sending the output to `$OUTPUT`.
The output of a step can be referenced in another job by using the `$$jobs..steps..output` syntax.When you define `vars` key value pairs in a job, you can reference that variable in the job.