# EESSI EUM'22 talks
## Getting Started with EESSI
by Thomas Röblitz (Univ. of Bergen, Norway)
The European Environment for Scientific Software Installations (EESSI, pronounced as "easy") is a collaborative project between different partners in HPC community, with as common goal to build a common stack of scientific software installations for HPC systems and beyond, including laptops, personal workstations and cloud infrastructure.
In this talk, we will outline how to get started with EESSI, from different angles:
- a researcher who wants to employ EESSI on their personal (Linux) workstation, in the cloud, or on an HPC cluster;
- a system adminstrator who wants to provide EESSI to end users;
- a software developer who wants to leverage EESSI in a CI environment like GitHub Actions;
We'll explain different ways of accessing EESSI, along with the requirements and tradeoffs, so you're ready to hit the ground running once EESSI is ready for production use!
## Semi-automated workflow for adding software to EESSI
by Bob Dröge (Univ. of Groningen, Netherlands)
One major goal of European Environment for Scientific Software Installations (EESSI) collaborative project is to let people propose software installations to include into EESSI, much like accepting contributions in EasyBuild through pull requests.
The setup of EESSI, where optimized software installations for a diverse range of CPU microarchitectures (Intel, AMD, Arm, POWER, and perhaps later also RISC-V), as well as the need to ensure a secure workflow, makes this challenging.
Other aspects of EESSI, like strictly controlling the build environment through containers, distributing software via CernVM-FS, supporting different Linux distributions through a compatibility layer built with Gentoo Prefix, and leveraging EasyBuild + Lmod for software installations and ReFrame for software testing, actually make this feasible.
In this talk, we will outline our projected approach to this, which involves implementing a GitHub App (in Python) that serves as a bot to help with processing pull requests to the easystack file that defines the EESSI software layer.
The bot's tasks include testing software installations in the EESSI environment on all supported CPU targets, (re-)running the tests for that software in different contexts (operating systems, platforms, etc.), and eventually ingesting the software installations into EESSI, under the supervision of humans that review the incoming contributions and assess the results produced by the bot.
Although our primary focus is to automate the contribution workflow in EESSI as much as possible, we believe our GitHub App could also be useful beyond the EESSI project.