Improve continuous integration aspects of the CLI tool. Currently, the popper command provides basic CI functionality via its popper run command, that allows experiment pipelines to be automatically executed on multiple CI services. This project consists in extending the current functionality to support matrix executions, where the two main axis of the matrix are 1) Runtime and 2) Environment. Additionally, this project will involve the validation of dependencies of pipelines.
Support archiving to Zenodo, Figshare, OSF, etc. Popper repos are usually associated to scholarly articles. The code for the Popper repo (implementing the experimentation pipelines) is stored in a Git repository. Zenodo and Figshare are two popular online repositories that can be used to archive (create a snapshot) and generate DOIs for a code repository. This project involves the implementation of new subcommands of the popper CLI tool that communicate with Zenodo, Figshare, OSF and others using their public REST APIs to archive the content of a repository, and optionally generate DOIs.