Skip to content

Commit b815e73

Browse files
committed
Set up linting and contribution guidelines
1 parent 815f546 commit b815e73

3 files changed

Lines changed: 31 additions & 2 deletions

File tree

.golangci.yaml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
version: "2"
2+
linters:
3+
default: all
4+
formatters:
5+
enable:
6+
- gci
7+
- gofmt
8+
- gofumpt
9+
- goimports
10+
- golines

CONTRIBUTING.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Contributing
2+
3+
This module is primarily maintained for Thought Machine's use case, but external contributions are
4+
welcome.
5+
6+
## Potential improvements
7+
8+
* Limiting parallelism
9+
* Deadlock detection
10+
* Observability and debugging
11+
12+
## Making changes
13+
14+
Please run `go build ./...`, `go test`, and `golangci-lint run` before submitting a PR. Github
15+
Actions will also run these commands, but running them yourself means faster feedback!

README.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,10 @@ of these is the `ID` type used in place of slices of keys because Golang slices
2929

3030
## Limitations and sharp edges
3131

32-
* Taskgraph has no deadlock detection.
32+
* Taskgraph has no deadlock detection. In theory the fact that the graph is acyclic should prevent
33+
deadlock, but in practice there may be other potential causes for deadlock that have not been
34+
considered.
3335
* Taskgraph runs every task in its own goroutine, with no limitation on how many tasks can be
34-
running at the same time.
36+
running at the same time.
37+
* Taskgraph is not easy to debug and understand the execution. While there is a small amount of
38+
logging and tracing, there is no way to inspect the data being passed through the graph.

0 commit comments

Comments
 (0)