Go to file
Conrado Gouvea 8e09c2f71d
Merge pull request #4 from ZcashFoundation/fix-ci-sync-fork
Fix CI by syncing fork
2023-05-03 19:26:40 -03:00
.github/workflows Merge remote-tracking branch 'origin/main' into fix-ci-sync-fork 2023-05-03 19:16:19 -03:00
public Highlight nodes with S-waiting-on-review label 2023-01-23 21:12:25 +00:00
template_scripts [#17] Create Android and iOS specific views of the Wallet DAG 2022-06-27 20:40:56 -03:00
.gitignore Render HTML version of DAG with pan-and-zoom 2022-02-21 13:00:05 +00:00
README.md [#17] Create Android and iOS specific views of the Wallet DAG 2022-06-27 20:40:56 -03:00
index.html Merge remote-tracking branch 'origin/main' into fix-ci-sync-fork 2023-05-03 19:16:19 -03:00
pyproject.toml Apply suggestions from code review 2021-12-20 11:29:50 -07:00
requirements.txt Add pygraphviz to requirements 2021-05-07 12:30:13 +12:00
zcash-issue-dag.py Merge remote-tracking branch 'origin/main' into fix-ci-sync-fork 2023-05-03 19:16:19 -03:00

README.md

Zcash Developers Hub

This is the source repository for the Zcash Developers Hub website: https://zcash.github.io/developers/

For now, this repo hosts the script used to generate ECC's development dependency graph, and a workflow that generates and hosts it.

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 graphviz-dev package.

After installing poetry, run poetry install.

The scripts provided by this project require two environment variables:

  • GITHUB_TOKEN: a GitHub API token with permission to read the necessary repositories.
  • ZENHUB_TOKEN: a ZenHub API token.

The DAG script depends upon graphql APIs for github which can be generated using the following example script:

#!/usr/bin/env bash

poetry run python3 -m sgqlc.introspection \
  --exclude-deprecated \
  --exclude-description \
  -H "Authorization: bearer $GITHUB_TOKEN" \
  https://api.github.com/graphql \
  github_schema.json

poetry run sgqlc-codegen schema github_schema.json github_schema.py

Generating DAGs

The zcash-issue-dag.py script supports several configuration options, also supplied as environment variables:

  • DAG_VIEW=[core|wallet|zf]: The DAG to render (default: core).
  • SHOW_MILESTONES=[true|false]: Whether or not to render GitHub milestones as boxes (default: false).
  • SHOW_EPICS=[true|false]: Whether or not to render ZenHub epics as boxes (default: false).
  • INCLUDE_FINISHED=[true|false]: Whether or not to include closed issues with no open blockers (default: false).

Here's an example script for easily running the DAG generator:

#!/usr/bin/env bash

DAG_VIEW=core \
SHOW_MILESTONES=false \
GITHUB_TOKEN=<INSERT> \
ZENHUB_TOKEN=<INSERT> \
poetry run python ./zcash-issue-dag.py

You can find a series of template script files inside the folder template_scripts.