Today started out with "Continuous Integration and the Glorious Future". Tim kicked it off with some CI history - dev, dev, dev, then integration. That didn't work to well. Provided some nice perspective that I hadn't had before. Tim also provided a current state of the union with Fedora automation and items that are in progress including build automations, build self-tests, and automated deployments. Some of the items that need work are presentation of data and results, keeping the builds fast. More great perspective on the feedback loop and what he wants out of it: how long after package is updated can a new compose be generated, how long after compose is built until the tests are run. How long after the tests are run untl the developer is notified of success or failure. The QA team is also evaluating how to enable contributors to write thier own automated tests. Nonstop Fedora. Tim covered quite a bit more on the Why and How during his presentation. Great presentation.
Next up was "Modularity: Why, where we are, and how to get involved" by +Langdon White. Langdon kicked off by covering some history which dated back to the "Rings Proposal". starting from "JeOS" which would be highly curated to the outer rings which are no so curated. He provided some great analogies about how a one size doesn't fit all - comparing to the lifecycle of packages and how they don't align with other packages. Then he moved into modules:
- A module is a thing that's managed as a logical unit.
- A module is a thing that promises an external, unchanging API
- A module is a thing that may have many, unexposed binary artifacts to support the external API
- A module may "contain" other modules and is referred to as a "module stack"
The process: inputs -> activities -> outputs -> outcomes -> impact.
We saw an example of a module input file which explained references, profiles, components, and filters.
Progress thus far is an established Modularity WG, implemented a dnf plugin, implemented an alpha version of module build pipeline, ability to coalesce modules for testing, and kicked off a base-runtime.