summaryrefslogtreecommitdiff
path: root/blog/2021/09/25/meeting.mdwn
blob: 0f601d3795f6d4cd96fabf2ef043e9826e581aee (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
[[!meta title="Iteration planning: September 25th"]]
[[!tag meeting]]
[[!meta date="Sat, 25 Sep 2021 11:30 +0100"]]

[[!toc levels=2]]

# Review of actions from last meeting

There were no actions from the previous meeting.

# Review of the iteration that has ended

[[!milestone 35]] had the following issued closed:

- [[!issue 205]] -- Newer pandoc lacks `--filter pandoc-citeproc`
- [[!issue 216]] -- Newer `state` crate available

The following issues remain open:

- [[!issue 96]] -- Error for "do not understand binding" should say in
  what file the not-understood binding use is found
- [[!issue 196]] -- Python runner stops on first failure
- [[!issue 198]] -- Unify language handling for multi-impl-lang test suites
- [[!issue 207]] -- Release process is too manual, CI build of release .deb changes files
- [[!issue 213]] -- "Failure: document has no title" when there's duplicate keys
- [[!issue 218]] -- Automatable parts of release process are manual
- [[!issue 219]] -- Needs a release after 0.2.2 to test release automation

We have made reasonable progress. Daniel's work on multi-language documents is
not yet ready for even proofreading, let alone reviewing.

We moved the remaining issues, next milestone ([[!milestone 36]]) and then
closed off this iteration.

In addition in this iteration now closing we completed some work to enable
`codegen` to use `pulldown_cmark` instead of `pandoc` making the dependency
chain for generating the test suites lighter. This work was done by Lars
primarily, with a little help from Daniel, and was covered in [[!mr 213]],
[[!mr 214]], and [[!mr 216]].

# Review of the repositories

There is one in-progress MR in the `subplot` repository

- [[!mr 218]] -- Add `-k` to Python test runner - this needs review from Daniel
  And it will address [[!issue 196]] once merged.

The `subplot-container-images` and `subplot-web` repositories do not
have MRs or extra branches.

There was a spare branch in `subplot` called `cmark-parser` which we removed
as it was either an earlier version of the work mentioned above, or else was
simply stale. There is also the `subplot-rust` branch which Daniel is keeping
around until he has completed the work on [[!issue 198]].

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

This time we reviewed only the recently changed 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:

- [[!issue 96]] -- "do not understand binding" error. Lars has updated the issue
  with a note that the code is a mess around generating this error. At least
  in one place where we produce the error we don't then pass it up to the caller,
  so we need to review what's going on.
  We chose to drop this from the milestone, and from the goal, so that it can
  be tackled when we refactor for better lint/warn/error support.
- [[!issue 196]] -- "python runner stops on first failure". Lars has a merge
  request open to fix this issue, so it is in the next iteration.
- [[!issue 198]] -- "language unification". Daniel explained the current state
  of the merged support for polyglot bindings, and that he had an abortive
  attempt at solving the polyglot documents problem but that was abandoned in
  favour of being able to merge Lars' work on `pulldown_cmark` support.
- [[!issue 207]] -- "release process too manual" - we left it as it, assigned
  to the new milestone.
- [[!issue 213]] -- "failure: document has no title" - Lars had a go at working
  on this, but he doesn't want to do the work as proposed (changing pandoc
  arguments) because long-term we want to move to not using Pandoc to parse the
  Subplot document itself. As such we've demilestoned it, unassigned it from
  Lars, and added the `blocked` label.
- [[!issue 218]] -- "automatable release parts are too manual" is carried into
  our next iteration and left assigned to Lars.
- [[!issue 219]] -- "making a release ..." we can't make this 0.2.2 so we're
  going to call it 0.3.0 instead since there's a breaking change (polyglot
  bindings) and a breaking change (cmark for codegen).
- [[!issue 239]] -- "in metadata, author is a single string" -- this is because
  in the cmark handler for metadata, the author field must be a single string.
  Pandoc accepts either a single string or a list of strings, so we should
  improve our cmark metadata handler to support this too.
  We assigned this to Lars and put this into the milestone having decided to
  have a go at trying to support the Pandoc approach by means of an `enum`.
- [[!issue 238]] -- "doesn't support `abstract` in metadata" - we discussed
  this and Lars has assigned it to himself to have a go at in the new milestone.
- [[!issue 236]] -- "codegen on a document without scenarios should be an error"
  which was opened by Daniel during the last iteration. We discussed implementation
  a little, and then assigned it to Daniel and put it into the milestone.
  We also did some label triage.
- [[!issue 235]] -- "subplot.md is too long" - We added `active discussion` and
  `unhelpful` labels along with `someday-maybe` on the assumption that we will
  obviously be reviewing **all** issues before a 1.0 release.
- [[!issue 220]] -- "generated rust test programs are hard to debug" - we will
  probably want to have a discussion about what should be traced at what level,
  and ensure that everything coming from subplotlib itself logs that way.
  Daniel mentioned trying the `tracing-test` library but that will need some
  changes before we can use it. We also added `actively-discussed`.
- [[!issue 227]] -- "workflow for using codegen from `build.rs`" We intend to
  consider the best workflows and then write stuff up on the issue when we
  come up with points.
- [[!issue 229]] -- "Licence clarification needed" - We agreed that:
  1. Subplot, Subplotlib, and any python or shell libraries remain under the GPL 3.0.
  2. We add a libgcc style exception clause which permits any code from subplot
     and associated libraries which ends up linked to or embedded in any test suite
     to not be infected by the GPL.
  3. This is critical to goal 2.

# Plan for next iteration

We opened [[!milestone 36]] to cover this iteration, with the
following issues:

- [[!issue 196]] -- Python runner stops on first failure
- [[!issue 198]] -- Unify language handling for multi-impl-lang test suites
- [[!issue 207]] -- Release process is too manual, CI build of release
  .deb changes files
- [[!issue 218]] -- Automatable parts of release process are manual
- [[!issue 219]] -- Needs a release after 0.3.0 to test release
  automation
- [[!issue 236]] -- Codegen on zero-scenarios should be an error
- [[!issue 238]] -- abstract in metadata
- [[!issue 239]] -- supporting multiple authors in metadata

# Other business

- Metadata parsing - lax or strict. We discussed during the issue review.
  Daniel proposed a `pandoc:` key in the metadata which can contain an
  arbitrary key/value map to be passed directly to pandoc.
  We decided to see how complex that might be for now, and if it's not easy
  then we will just add more strict support until we are ready to replace
  the docgen parse pipeline with the cmark pipeline.
  We agree that it's important to be strict in what we accept for `subplot`
  itself. Early error messages that we are in control of are better for
  our users. We cannot have a complete list of everything Pandoc can deal
  with, especially because some of it goes into the latex backend.
- We discussed the use of subplot in the Sequoia-PGP project and we agreed that
  we have sufficient issues filed for now. Daniel suggested a label for
  issues which are blocking high profile projects from adopting Subplot. Lars
  has taken an action to do this and label up some of the issues.
- Regarding the media repo, we agreed to hold off for now, but keep the AOB.
  When we have made a decision to present then we will look again at this.
- Regarding how we convince others to use Subplot - Daniel explained that he
  feels that the best way is a combination of demonstrating by means of using
  Subplot, and then presentations at conferences. Lars feels that he did not
  communicate well why Subplot is worth using when he tried to present to `sq`
  testing. Lars could also write blog posts about using Subplot for Obnam.
  Once Sequoia or Rustup is using Subplot then we want blog posts on those
  projects.
- A useful takeaway is that we need to talk about Subplot more and with a wider
  variety of potential users, in order that we can collate useful information on
  how to persuade people of Subplot's usefulness.
- We do not know yet about `cargo release`

# Actions

- Lars to create a label for blocking-high-profile-projects (name to be decided
  by Lars when he does it) and to label at least the Sequoia-PGP blockers if not
  also anything else he thinks may be blocking projects such as Rustup.