-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Pipeline optimizations #49
Comments
DOCX should not be a bottleneck, as the conversion to DOCX finishes in a couple seconds as opposed to the other steps, which can take minutes. We currently don't build EPUB or HTML for ⟨document⟩.tex if a file named ⟨document⟩/NO_HTML exists in the repository. However, this is an opt-out mechanism, which is also quite obscure and unknown to most people except myself. Having an opt-in metadata field seems a better and more visible solution.
It might make sense to create pre-built Docker images in this repository, which would include LibreOffice and would then be downloaded during CI. This image can also be significantly smaller than the image that we currently use.
There is a limit to how complex the code into the GitHub Actions YAML file can be before it becomes difficult to maintain. Extracting the CI code into scripts should make this limit much higher and allow us to both 1) perform more advanced checks on the source code, 2) react to values in Ad 1) As discussed in https://github.com/istqborg/istqb_shared_documents/issues/65, few tools enable the static analysis of Markdown files. However, I can write scripts that would collect all Markdown documents used in ⟨document⟩
I can then skip the compilation if I find issues with the document. |
While having many metadata fields like
As an aside, we may want to add an extra section to the documentation that would describe the supported metadata fields, how they should be used, and how they impact the document. The schema keeps growing and it no longer seems intuitive. In the long-term, we may also want to describe the other types of YAML documents such as language and question definitions. |
Regarding 1) and 2) One more thing is that if we could skip building of files, we do not touch (e.g. Body of Knowledge, Accreditation Guidelines, Sample Exam) within the branch. In the the TA, we have split the Syllabus and Sample Exam into two separate branches and PRs, so we need only the syllabus to be built in the syllabus branch and only the exam in the exam branch. But currently, we are building it all, since templates and repos created out of it have it all. Regarding 3) Regarding 4) and 5) |
Since building all files still seems useful for the |
Here is a rough outline of my tasks for today and tomorrow:
The work-in-progress implementation is currently in the PR-less branch
As discussed in #49 (comment) and #49 (comment), we may want to reschedule the point as a separate ticket after we have agreed on the type of additional checks we may want to employ. |
This is looking great. I agree, that point 5 from the original post should be done separately and incrementally based on priorities and needs. So, I confirm that point 5 will not be implemented, but the resolution of this task will prepare for it. |
With increasing development efforts, we are starting to use all 3000 minutes of CI per month (last month we've used almost 80%), so I would like to optimize the pipelines to save some minutes.
This is a brainstorming issue to collect the ideas. It's not urgent for implementation.
Ideas:
metadata.yml
under separate options likedocx-ouptut: false
and default to be false.main
branch. So, e.g. if I do not touch the release notes, it will not be built.The text was updated successfully, but these errors were encountered: