Review of actions from last meeting
- Daniel to talk to Serbitar to arrange Subplot discussion at BBQ
- Serbitar wasn’t there, so this didn’t happen. As the BBQ has now happened, we aren’t carrying this over.
Review of the iteration that has ended
We skipped the meeting two weeks ago due to Daniel being at the Debian BBQ.
Subplot milestone 34 had the following issued closed:
- Subplot issue 202 – Test suite assumes cargo puts binaries in target/debug
- Subplot issue 212 – Doesn’t handle all markup in a document title
- Subplot issue 217 – Arch diagram implies that step functions are always in Python
The following issues remain open and are carried over to the next iteration:
- Subplot issue 96 – Error for “do not understand binding” should say in what file the not-understood binding use is found
- Subplot issue 196 – Python runner stops on first failure
- Subplot issue 198 – Unify language handling for multi-impl-lang test suites
- Subplot issue 207 – Release process is too manual, CI build of release .deb changes files
- Subplot issue 213 – “Failure: document has no title” when there’s duplicate keys
- Subplot issue 218 – Automatable parts of release process are manual
- Subplot issue 219 – Needs a release after 0.2.2 to test release automation
We have made reasonable progress. Although the main task for this goal is not yet finished, Daniel has continued to make good progress toward it. You can track it at https://gitlab.com/subplot/subplot/-/tree/multi-lang-docs
(branch merged, link disabled 2021-10-06).
We moved the remaining issues, and the new release automation issue to the next milestone (Subplot milestone 35) and then closed off this iteration.
Review of the repositories
There are two in-progress MR in the subplot
repository
- Subplot merge request 208 – Draft: Add an experiment to use a non-Pandoc parser for Markdown
- This is a proof of concept, prototype to see if it is feasible to move away from Pandoc for parsing Markdown input. It seems to be, but it needs more work. This is relevant for making Subplot attractive to other projects by reducing the minimal set of dependencies. Pandoc is pretty big, a pure-Rust crate for only Markdown parsing is comparatively small.
- Subplot merge request 210 – Implement polyglot bindings
- This was opened just before the meeting; Lars will review later.
The subplot-container-images
and subplot-web
repositories do not have MRs or extra branches.
We triggered the pipeline to build the container image for Subplot. All subplot
pipelines are clean.
Current goal (goal 2)
Subplot provides a set of libraries with identical capabilities in each of the supported languages. Python remains a supported language. Rust is promoted to supported-language status. Subplot will be tested with all supported languages. In addition, any quality of life improvements which can be done shall be done. This goal will be considered complete when a release of Subplot has been made with the unified language handling support complete.
Issue review
Last time we all reviewed all the open issues, except those tagged someday-maybe
. We updated the issues as we reviewed with any new comments or decisions. Notably we made the following changes:
- Subplot issue 96 – Error for “do not understand binding” should say in what file the not-understood binding use is found
- Subplot issue 205 – Newer pandoc does not have
--filter pandoc-citeproc
but rather--citeproc
- promote to current goal: the newer Pandoc is available in other Linux distributions already, even if it’s not in Debian
- Subplot issue 220 – Generated Rust test programs are hard to debug
- we will look into using the
tracing
crate for this - we created the
subplotlib
label, added that - we promoted this to the current goal: Rust as a fully supported language implies that it’s convenient to use it for test programs
- we will look into using the
- Subplot issue 221 – Command line tool has insufficient logging
- label labels
helpwanted
,mentor
,unhelpful
- changed the title
- label labels
- Subplot issue 222 – Typeset output could indicate scenario snippets are a continuation of the scenario and not a new scenario
- updated labels
- Subplot issue 223 – lib/runcmd lacks a generic “given an installed {name}” step
- labelled
actively-discussed
- labelled
- Subplot issue 224 – Logging feature needs tests
- updated labels
- Subplot issue 227 – Doesn’t support a workflow where codegen is used from build.rs
- updated labels
- Subplot issue 229 – Licensing of Subplot libraries and subplotlib needs to be clarified
- promoted to current goal
- Subplot issue 230 – Would be nice to typeset some captures using monospace
- added the
hard
label
- added the
- Subplot issue 231 – lib/runcmd doesn’t have a generic “given an installed {name}” step
- closed as a duplicate of Subplot issue 223
- Subplot issue 232 – Windows and macos need to be supported as first class targets
- re-titled
- Subplot issue 233 – Unclear if Mac is supported
- now duplicate of Subplot issue 232, closed
- Subplot issue 234 – Docgen and codegen aren’t easily available as library calls
- subsumed by Subplot issue 227
Plan for next iteration
We opened Subplot milestone 35 to cover this iteration, with the following issues:
- Subplot issue 96 – Error for “do not understand binding” should say in what file the not-understood binding use is found
- Subplot issue 196 – Python runner stops on first failure
- Subplot issue 198 – Unify language handling for multi-impl-lang test suites
- Subplot issue 205 – Newer pandoc does not have
--filter pandoc-citeproc
but rather--citeproc
- Subplot issue 207 – Release process is too manual, CI build of release .deb changes files
- Subplot issue 213 – “Failure: document has no title” when there’s duplicate keys
- Lars will at least look at the suggestion from Alexander, to improve the error message; a proper fix may involve changing the parser for input files
- Subplot issue 218 – Automatable parts of release process are manual
- Subplot issue 219 – Needs a release after 0.2.2 to test release automation
Other business
- Subplot issue 119: We agreed that we should wait until subplot is no longer likely to make breaking changes, before we ask for inclusion in Debian
- We don’t feel up to doing a whole-code-base review yet, or to switch to using an issue based agenda.
- We added the Sequoia project to the reach-out list for goal 2.
- We decided to start a decision log: this is for big decisions, often architectural ones. We’ll do it in a
DECISIONS.md
file in the source tree. - We are not yet ready to try
cargo release
or to add a media repository. - We discussed marketing Subplot: what are our important points to bring up in discussions about Subplot? what not talk about? for different audiences? Good examples of subplots are going to be needed. Otherwise we don’t know yet, but will continue to think and discuss this.
- We discussed debugging of generated Rust programs, and added a comment to Subplot issue 220.
- We discussed strategy for achieving success for Subplot. We achieved consensus that for now we should try to drive adoption. Contributors will hopefully follow from that. We will aim to offer a talk or lightning talk at FOSDEM about Subplot, and possibly other conferences as well next year.
- Lars will make changes to Subplot to make it easier for the Sequoia-PGP project to adopt Subplot for integration testing. This will at least include using a Rust crate for parsing Markdown, at least for codegen. The parser should eventually be used for docgen as well, but that can happen later. Lars may also work on making it easier to use codegen from a
build.rs
file, which may involve adding a new crate (subplot-build
) that can be used as a build-dependency.