You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Conrado Gouvea 7cd228f6aa
Merge pull request #3 from ZcashFoundation/devops-dag
8 months ago
.github/workflows support multiple tags; also show A-infrastructure in DevOps DAG 9 months ago
public Adjust DAG dark theme colours 1 year ago
.gitignore Render HTML version of DAG with pan-and-zoom 11 months ago add ZebHub epics support 11 months ago
index.html feat: add DevOps DAG 9 months ago
pyproject.toml Apply suggestions from code review 1 year ago
requirements.txt Add pygraphviz to requirements 2 years ago support multiple tags; also show A-infrastructure in DevOps DAG 9 months ago

Zcash Developers Hub

This is the source repository for the Zcash Developers Hub website:

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


This project uses poetry for dependency management: 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" \ \

poetry run sgqlc-codegen schema github_schema.json

Generating DAGs

The 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 \
poetry run python ./