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
|
|
|
|
2021-12-20 10:03:49 -08:00
|
|
|
## Setup
|
|
|
|
|
|
|
|
This project uses `poetry` for dependency management: https://python-poetry.org/
|
2023-10-11 08:37:28 -07:00
|
|
|
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
|
|
|
|
2023-10-19 09:23:44 -07: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.
|
2023-10-19 09:23:44 -07:00
|
|
|
- `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
|
|
|
|
2023-08-28 13:05:21 -07: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.
|
2023-08-28 13:00:56 -07:00
|
|
|
|
2023-10-11 08:37:28 -07:00
|
|
|
The DAG script depends upon GraphQL APIs for GitHub which can be generated using
|
2023-10-19 09:23:44 -07:00
|
|
|
`./gen-schema.sh`.
|
2021-12-20 10:03:49 -08:00
|
|
|
|
|
|
|
## Generating DAGs
|
|
|
|
|
2023-10-19 15:22:18 -07:00
|
|
|
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
|
|
|
|
2023-10-11 09:36:54 -07: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`).
|
|
|
|
|
2023-10-19 09:23:44 -07:00
|
|
|
Example command:
|
|
|
|
|
|
|
|
```
|
|
|
|
DAG_VIEW=core SHOW_MILESTONES=false poetry run python ./zcash-issue-dag.py
|
|
|
|
```
|