Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
88 changes: 0 additions & 88 deletions .github/workflows/ci.yml

This file was deleted.

29 changes: 19 additions & 10 deletions .github/workflows/report.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,19 @@
# The report build. SEPARATE from ci.yml on purpose: that workflow is the code
# gate and runs a two-version matrix, and there is no reason to install a TeX
# distribution twice or to couple a prose change to the test suite.
# The report build, and THE ONLY WORKFLOW IN THIS REPOSITORY. The template shipped
# a second one, ci.yml -- a two-interpreter matrix running ruff, mypy and pytest
# -- and it was deleted at instantiation (fc-001 in docs/state.yaml): this
# repository has no library, no test suite and no pyproject.toml, so that job
# could not even reach its first step, and a workflow that is red for reasons
# unrelated to the report is one people learn to override.
#
# Triggers mirror ci.yml rather than firing on literally every push, so a branch
# with an open pull request is not built twice for the same commit. Every change
# in this repository reaches main through a PR, so this covers every change.
# WHAT THAT COSTS, said here rather than left to be discovered: this is now the
# whole automated surface. Nothing checks that docs/state.yaml and
# docs/inherited-measurements.yaml are parseable YAML, and they are the record.
# See od-004, which is open and blocked only on the question of adding a
# dependency.
#
# Triggers do not fire on literally every push, so a branch with an open pull
# request is not built twice for the same commit. Every change in this repository
# reaches main through a PR, so this covers every change.
#
# WHY THE REPORT IS COMPILED IN CI AT ALL. The report is where a measurement
# becomes a claim, and a document that only ever builds on the author's machine
Expand Down Expand Up @@ -59,10 +68,10 @@ jobs:
biber \
latexmk

# No language runtime step, and that is the point: report/figures/*.pdf are
# committed, so the document compiles from a clean checkout with a TeX
# installation alone. See report/figures/README.md for why the figures are
# committed rather than regenerated here.
# No language runtime step, and that is the point -- doubly so here, where
# there is no language runtime to install. Generated figures would be
# committed rather than built on the runner; there are none today. See
# report/figures/README.md.
- name: Build
run: make -C report

Expand Down
43 changes: 25 additions & 18 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,13 +1,19 @@
# Python
__pycache__/
*.pyc
.venv/
venv/
.pytest_cache/
.mypy_cache/
*.egg-info/
build/
dist/
# Reference clones, disposable. Pinned checkouts of the repositories this report
# makes claims ABOUT are cloned here and read BY PEOPLE. This is the mechanism
# the claims-verification pass runs against: every figure in report/draft.md is a
# claim about `visgraf/bio-3d-vision` or its predecessors, and "verifiable at
# source" means a checkout at the SHA pinned in docs/inherited-measurements.yaml.
#
# THE ENFORCEMENT THAT USED TO SIT BESIDE THIS IS GONE, and that is worth saying
# rather than leaving to be discovered. The template guarded this directory with
# a test asserting that no code reads from it. This repository has no code, so
# the guard had nothing to guard and was deleted with the rest of the suite. The
# convention survives on nobody's authority but this comment. If a figure script
# ever lands here, restore the guard with it -- see report/figures/README.md.
.reference/

# LaTeX build artifacts are ignored in report/.gitignore, beside the build that
# makes them.

# macOS
.DS_Store
Expand All @@ -16,11 +22,12 @@ dist/
.vscode/
.idea/

# Reference clones, disposable. Pinned checkouts of the repositories this
# project reads from are cloned here and read BY PEOPLE, never by code:
# tests/test_scaffold.py enforces that. They are absent in CI, so any code path
# that reached into one would pass locally and fail everywhere else.
.reference/

# Run artifacts
results/
# Python. Nothing in this repository is Python -- there is no package, no test
# suite and no pyproject.toml. These stay because a one-off script written in
# report/figures/ would otherwise drop caches into the tree, and because the
# virtualenv left over from the template instantiation is still on disk.
__pycache__/
*.pyc
.venv/
.pytest_cache/
.mypy_cache/
Loading
Loading