Skip to content

RFC: Instead of generating manual scripts from templates, implement them as a static script #69

@OddBloke

Description

@OddBloke

Currently, we generate the manual scripts required for each SRU from the templates in sru-templates/manual. The generation happens into manual/, and we then run those generated scripts.

This process was originally put in place, I believe, when the expectation was that we would modify those generated scripts to include additional validation specific to this SRU. However, I don't believe we have used them this way in the past few SRU cycles.

I propose that we modify the SRU process to have those scripts be static, so that we aren't effectively maintaining two copies (the template and the generated script) in the course of each SRU cycle.

We would need to handle the two templated variables that are currently used, %SRU_SERIES% and %SRU_LP_USER%.

For %SRU_LP_USER%, I propose that we modify the manual scripts to take it as a parameter, so an invocation would look like: sru-templates/manual/gce-sru daniel-thewatkins.

For %SRU_SERIES%, a parameter is a little less convenient (because passing arrays in shell is Not Fun). One potential solution is to hard-code the value of SRU_SERIES in each manual template; this set changes infrequently, so I believe it would carry little maintenance cost. A more radical alternative would be to modify the manual scripts to take one series as a parameter, with the expectation that the script would be called once for each SRU series. This has the advantage of simplifying the scripts, and making running SRU verification in parallel much easier.

(For GCE verification, I have already been manually editing the SRU_SERIES variable so that I can invoke the script more than once in parallel to speed things up.)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions