Skip to content

Add GitHub Actions workflow to run doorstop on example data - #6

Draft
douglase with Copilot wants to merge 6 commits into
mainfrom
copilot/add-github-action-example-output
Draft

douglase with Copilot wants to merge 6 commits into
mainfrom
copilot/add-github-action-example-output

Conversation

Copilot AI commented May 1, 2026 •

Copy link
Copy Markdown

The repository's CI was Travis-only, with no GitHub-native check that the README's install + usage instructions actually produce the example doorstop output when the repo is edited.

Changes

  • New workflow .github/workflows/doorstop.yml triggered on push, pull_request, and workflow_dispatch.
  • Install step mirrors the README's Linux instructions: apt-installs graphviz, pandoc, and texlive (needed by doorstop_sync.sh's Beamer step), then pip install -r requirements.txt and installs the douglase/doorstop fork the README recommends.
  • requirements.txt updated to include numpy and PyYAML so RunGraphviz.py works in clean environments (CI and local) without an extra explicit install step.
  • Clean step removes the committed dist/ directory and Digraph_gv.png / Digraph.gv before running so the verification step proves the outputs were freshly regenerated rather than passing on stale committed files.
  • Usage step runs ./doorstop_sync.sh — the exact command from the README's "Usage" section — to import the example CSVs and publish the documents.
  • Verification asserts dist/{index,L1,L2,L3}.markdown and dist/Digraph_gv.png (the actual render path used by RunGraphviz.py) exist after the run, then uploads dist/ as a doorstop-example-output artifact for inspection.
  • permissions: contents: read to keep GITHUB_TOKEN minimally scoped.

Notes for review

  • doorstop is installed from the fork's develop branch (consistent with deploy.sh / .travis.yml); pinning to a SHA would improve reproducibility at the cost of drifting from the README guidance.
  • Python 3.9 chosen as a currently-supported version close to the Travis config's 3.7.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a GitHub Actions CI workflow to run the repo’s README installation + usage flow and capture the generated Doorstop example outputs on pushes/PRs, providing a GitHub-native check alongside the existing Travis setup.

Changes:

  • Add .github/workflows/doorstop.yml workflow triggered on push, pull_request, and workflow_dispatch.
  • Install system deps (graphviz/pandoc/texlive) and Python deps, then run ./doorstop_sync.sh.
  • Verify expected outputs exist and upload them as a workflow artifact.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/doorstop.yml Outdated
Comment thread .github/workflows/doorstop.yml Outdated
Comment thread .github/workflows/doorstop.yml
Comment thread .github/workflows/doorstop.yml Outdated

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants