developers/README.md

51 lines
2.1 KiB
Markdown
Raw Permalink Normal View History

2021-05-06 18:25:30 -07:00
# Zcash Developers Hub
2021-05-06 16:10:08 -07:00
2021-05-06 18:25:30 -07:00
This is the source repository for the Zcash Developers Hub website: https://zcash.github.io/developers/
2021-05-06 16:10:08 -07:00
2021-05-06 18:25:30 -07:00
For now, this repo hosts the script used to generate ECC's development dependency graph, and a workflow that generates and hosts it.
2021-12-08 09:05:08 -08:00
## Setup
This project uses `poetry` for dependency management: https://python-poetry.org/
It also depends on the Graphviz library; for Debian-based distros, install the
`libgraphviz-dev` package.
2022-03-14 07:55:58 -07:00
After installing `poetry`, run `poetry install`.
2021-12-08 09:05:08 -08:00
### Authorization Tokens
The scripts provided by this project require two files:
2021-12-08 09:05:08 -08:00
- `GITHUB_TOKEN`: a GitHub API token with permission to read the necessary repositories.
- `ZENHUB_TOKEN`: a ZenHub REST API token. (Not a GraphQL token.)
After generating each token, paste the literal contents into the associated file. There is a
`.gitignore` which ignores these files to ensure they are not committed. Be careful to avoid
that editor temporary files or any copies or renames of these files aren't committed.
2021-12-08 09:05:08 -08:00
You can generate a GitHub token with [this url](https://github.com/settings/tokens/new). This
token should not have any excess authority; it only needs public read access! Make sure all of
those extra capability checkboxes are unchecked.
The DAG script depends upon GraphQL APIs for GitHub which can be generated using
`./gen-schema.sh`.
## Generating DAGs
The simplest way to generate one or more DAGs is to use `./gen-dag.sh` script. This takes
a list of DAGs to render as arguments (default: `core wallet tfl halo2 zf`).
Alternatively, the `zcash-issue-dag.py` script supports several configuration options
supplied as environment variables:
2021-12-08 09:05:08 -08:00
- `DAG_VIEW=[core|halo2|tfl|wallet|wallet-ios|wallet-android|zf]`: The DAG to render (default: `core`).
2021-12-08 09:05:08 -08:00
- `SHOW_MILESTONES=[true|false]`: Whether or not to render GitHub milestones as boxes (default: `false`).
2022-03-14 07:55:58 -07:00
- `SHOW_EPICS=[true|false]`: Whether or not to render ZenHub epics as boxes (default: `false`).
2021-12-08 09:05:08 -08:00
- `INCLUDE_FINISHED=[true|false]`: Whether or not to include closed issues with no open blockers (default: `false`).
Example command:
```
DAG_VIEW=core SHOW_MILESTONES=false poetry run python ./zcash-issue-dag.py
```