-
Notifications
You must be signed in to change notification settings - Fork 32
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merged the funflow2 repository with its full history into the funflow2/ directory using a subtree merge strategy.
- Loading branch information
Showing
137 changed files
with
12,577 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
# GitHub Linguist annotations. | ||
# Hide nix/.stack.nix/*.nix | ||
# That is stuff that is generated by nix-tools stack-to-nix | ||
|
||
nix/.stack.nix/*.nix linguist-generated=true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
repository: | ||
has_wiki: false | ||
|
||
labels: | ||
- name: "duplicate" | ||
color: cfd3d7 | ||
- name: "good first issue" | ||
color: 7057ff | ||
- name: "invalid" | ||
color: cfd3d7 | ||
- name: "P0" | ||
color: b60205 | ||
- name: "P1" | ||
color: d93f0b | ||
- name: "P2" | ||
color: e99695 | ||
- name: "P3" | ||
color: fbca04 | ||
- name: "P4" | ||
color: fef2c0 | ||
- name: "question" | ||
color: d876e3 | ||
- name: "type: bug" | ||
color: 0052cc | ||
- name: "type: documentation" | ||
color: 0052cc | ||
- name: "type: feature request" | ||
color: 0052cc | ||
- name: "wontfix" | ||
color: ffffff |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
name: funflow2 CI (Linux, Nix) | ||
|
||
on: [push] | ||
|
||
jobs: | ||
build: | ||
name: funflow2 [build >> tests >> doc] | ||
runs-on: ubuntu-latest | ||
steps: | ||
# Setup | ||
- uses: actions/checkout@v2 | ||
- uses: cachix/install-nix-action@v12 | ||
# with: | ||
# skip_adding_nixpkgs_channel: true | ||
- uses: cachix/cachix-action@v8 | ||
with: | ||
name: tweag-funflow2 | ||
signingKey: "${{ secrets.CACHIX_SIGNING_KEY }}" | ||
# Builds | ||
# docker-client library with its tests | ||
- name: Build docker-client library | ||
run: nix-build -A docker-client | ||
- name: Build docker-client test suite | ||
run: nix-build -A docker-client-tests -o docker-client-tests | ||
- name: Run docker-client unit tests | ||
run: ./docker-client-tests/bin/primary --pattern "unit" | ||
# Note: these tests take about 10s to run. If executing time | ||
# gets much longer we can rethink when we want to run these. | ||
- name: Run docker-client <--> docker integration tests | ||
run: ./docker-client-tests/bin/primary --pattern "integration" | ||
# funflow library with its tests | ||
- name: Build funflow library | ||
run: nix-build -A funflow | ||
- name: Test | ||
run: | | ||
echo "Building tests" | ||
FLOW_TESTS_PATH=$(nix-build -A funflow-tests) | ||
TESTS_PATH=$(nix-build -A funflow-unit-tests) | ||
echo "Running main test suite" | ||
$TESTS_PATH/bin/unit-tests | ||
echo "Running flow tests" | ||
# Funflow flow tests have to be run in the `funflow` folder, like stack does, in order to have access to test assets | ||
cd ./funflow | ||
$FLOW_TESTS_PATH/bin/test-funflow | ||
cd .. | ||
# Build documentation | ||
- name: Build docs and tutorials | ||
run: funflow-pages/scripts/build.sh | ||
# Deploy documentation to a github page | ||
- name: Deploy docs | ||
# Push to GitHub Pages only on master | ||
if: github.ref == 'refs/heads/master' | ||
uses: peaceiris/actions-gh-pages@v3 | ||
with: | ||
deploy_key: ${{ secrets.ACTIONS_DEPLOY_KEY }} | ||
publish_dir: ./funflow-pages/result/funflow2 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
dist | ||
dist-* | ||
cabal-dev | ||
*.o | ||
*.hi | ||
*.chi | ||
*.chs.h | ||
*.dyn_o | ||
*.dyn_hi | ||
.hpc | ||
.hsenv | ||
.cabal-sandbox/ | ||
cabal.sandbox.config | ||
*.prof | ||
*.aux | ||
*.hp | ||
*.eventlog | ||
.stack-work/ | ||
cabal.project.local | ||
|
||
.vscode | ||
.idea/ | ||
|
||
result* | ||
|
||
out | ||
|
||
# TODO remove once bug corrected | ||
*.cabal | ||
|
||
funflow-tutorial/outputs | ||
funflow-tutorial/notebooks/**/*.html | ||
funflow-tutorial/notebooks/**/.ipynb_checkpoints | ||
|
||
.tmp | ||
|
||
.ipynb_checkpoints/ | ||
|
||
# Examples | ||
makefiletest/ | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
{ | ||
"nixEnvSelector.nixShellConfig": "${workspaceRoot}/shell.nix", | ||
"haskell.languageServerVariant": "haskell-language-server", | ||
"editor.formatOnSave": true, | ||
"liveServer.settings.root": "/funflow-pages/result" | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
MIT License | ||
|
||
Copyright (c) 2020 Tweag | ||
|
||
Permission is hereby granted, free of charge, to any person obtaining a copy | ||
of this software and associated documentation files (the "Software"), to deal | ||
in the Software without restriction, including without limitation the rights | ||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
copies of the Software, and to permit persons to whom the Software is | ||
furnished to do so, subject to the following conditions: | ||
|
||
The above copyright notice and this permission notice shall be included in all | ||
copies or substantial portions of the Software. | ||
|
||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
SOFTWARE. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
# funflow2 | ||
|
||
Compose and run computational workflows. | ||
|
||
> **Disclaimer**: funflow2 is in an extremely early state and is subject to change. Use at your own risk. | ||
## Introduction | ||
|
||
`funflow2` is a Haskell library to write workflows programatically. It is the spiritual | ||
successor to the excellent [funflow](https://github.com/tweag/funflow) library and builds upon | ||
the [kernmantle](https://github.com/tweag/kernmantle/) binary effects library. | ||
|
||
Funflow allows you to compose tasks to make *reusable* workflows and helps promote reproducibility | ||
by employing a content-addressed store. | ||
|
||
https://tweag.github.io/funflow2/ | ||
|
||
## Getting started | ||
|
||
### Installation | ||
|
||
#### Cookiecutter Template | ||
|
||
To get started with a simple project, you can use the cookiecutter template provided with this repo: | ||
|
||
```console | ||
cookiecutter [email protected]:tweag/funflow2.git --directory cookiecutter-funflow | ||
``` | ||
|
||
#### Stack | ||
|
||
While funflow2 hasn't been plublished on Hackage yet, you can install it as a git dependency using the standard Haskell tooling (e.g. [Stack](https://docs.haskellstack.org/en/stable/yaml_configuration/#packages)). Note that you will | ||
also need to add a couple of extra dependencies to your `stack.yaml`. See the [example stack.yaml](./docs/example-user-stack.yaml) for a minimal example. | ||
|
||
### Tutorials | ||
|
||
Check out the tutorials on the funflow2 website to get started: https://tweag.github.io/funflow2/tutorials/. | ||
|
||
You can run the tutorial notebooks using the nix shell provided in the [funflow-tutorial](./funflow-tutorial) directory. | ||
|
||
## Documentation | ||
|
||
The API documentation can be found here: https://tweag.github.io/funflow2/api/ | ||
|
||
## Developement | ||
|
||
For those interested in contributing, please see [DEVELOPMENT.md](./docs/DEVELOPMENT.md). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
MIT License | ||
|
||
Copyright (c) 2017 Tweag I/O | ||
|
||
Permission is hereby granted, free of charge, to any person obtaining a copy | ||
of this software and associated documentation files (the "Software"), to deal | ||
in the Software without restriction, including without limitation the rights | ||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
copies of the Software, and to permit persons to whom the Software is | ||
furnished to do so, subject to the following conditions: | ||
|
||
The above copyright notice and this permission notice shall be included in all | ||
copies or substantial portions of the Software. | ||
|
||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
SOFTWARE. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
Name: cas-hashable | ||
Version: 1.0.1 | ||
Synopsis: A hashing class for content-addressed storage | ||
Description: | ||
A hashing class for content-addressed storage. Content can be hashed either by value or through an IO action. Part of the funflow ecosystem. | ||
License: MIT | ||
License-file: LICENSE | ||
Author: Tom Nielsen, Nicholas Clarke, Andreas Herrmann | ||
Maintainer: [email protected] | ||
build-type: Simple | ||
Cabal-Version: >= 1.10 | ||
homepage: https://github.com/tweag/funflow | ||
bug-reports: https://github.com/tweag/funflow | ||
category: Control | ||
Tested-With: GHC == 7.8.4, GHC == 7.10.2, GHC == 7.10.3, GHC == 8.0.1 | ||
|
||
extra-source-files: | ||
changelog.md | ||
|
||
Library | ||
ghc-options: -Wall -fno-warn-type-defaults | ||
hs-source-dirs: src | ||
default-language: Haskell2010 | ||
|
||
Exposed-modules: Data.CAS.ContentHashable | ||
Build-depends: | ||
base >= 4.6 && <5 | ||
, aeson >= 1.2.3.0 | ||
, bytestring | ||
, clock | ||
, containers | ||
, cryptonite | ||
, ghc-prim | ||
, hashable | ||
, integer-gmp | ||
, memory | ||
, path > 0.6.0 | ||
, path-io | ||
, safe-exceptions | ||
, scientific | ||
, text | ||
, time | ||
, unix | ||
, unordered-containers | ||
, vector |
Empty file.
Oops, something went wrong.