-
Notifications
You must be signed in to change notification settings - Fork 572
Automated Workflows
This page will mainly contain information about using Trilinos' provided containers with Automated Workflow systems like GitHub Actions.
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
.
NOTE: Depending on the container orchestration tool or how the Trilinos container will be launched in your automated workflow, this
runner
user will need to be specified in order to have the container launch with a rootless user.
Example of launching the rootless container with Podman via CLI:
podman run --rm --user=runner <some_image_here>
Copyright © Trilinos a Series of LF Projects, LLC
For web site terms of use, trademark policy and other project policies please see https://lfprojects.org.
Trilinos Developer Home
Trilinos Package Owners
Policies
New Developers
Trilinos PR/CR
Productivity++
Support Policy
Test Dashboard Policy
Testing Policy
Managing Issues
New Issue Quick Ref
Handling Stale Issues and Pull Requests
Release Notes
Software Quality Plan
Compiler Warnings/Errors
Proposing a New Package
Guidance on Copyrights and Licenses
Tools
CMake
Doxygen
git
GitHub Notifications
Mail lists
Clang-format
Version Control
Initial git setup
'feature'/'develop'/'master' (cheatsheet)
Simple centralized workflow
Building
SEMS Dev Env
Mac OS X
ATDM Platforms
Containers
Development Tips
Automated Workflows
Testing
Test Harness
Pull Request Testing
Submitting a Pull Request
Pull Request Workflow
Reproducing PR Errors
Addressing Test Failures
Trilinos Status Table Archive
Pre-push (Checkin) Testing
Remote pull/test/push
PR Creation & Approval Guidelines for Tpetra, Ifpack2, and MueLu Developers