Skip to content

Automated Workflows

Anderson Chauphan edited this page May 6, 2024 · 4 revisions

This page will mainly contain information about using Trilinos' provided containers with Automated Workflow systems like GitHub Actions.

O

Before diving further, it should be noted that throughout other container documentation pages in this wiki, container engines like Podman and Docker are used interchangeably when it comes to the commands and argument names used. This is a design decision by those container engines to help users more easily get started with their containers.

When it comes to differences between container engines, those differences are usually within the architecture of the engines themselves. For a more detailed explanation on the architectures between container engines like Docker and Podman, you can read this blog here.

In most automated workflows that will require a container, the machines that the workflows run on will likely utilize a container engine like Podman over Docker due to its daemonless architecture which allows the engine to be more secure and accessible and for its ability to run rootless containers.

Launching rootless containers via an automated workflow system like GitHub Actions helps add another layer of security between the container and the host machine should the container ever be compromised as the attacker will not gain root permissions on the host machine.

With Trilinos provided containers, root is the default user, however, included is a rootless user named runner which can be specified in most engines when launching a container. An example of launching a Trilinos container with the rootless users is:

podman run --rm --user=runner <some_image_here>
Clone this wiki locally