This adds a GitHub Actions workflow to provision the box (run vagrant up), as described in https://github.com/jonashackt/vagrant-github-actions The goal is to check building from a clean state, as usually I try to re-provision while developing. This already helped me find an issue with OpenFOAM that I had not noticed before for this very reason.
Unfortunately, nested virtualization is not supported in Linux runners, only on macOS runners. I am using the currently latest "stable" image macos-10.15.
This also packages the box and uploads it to the artifacts, retaining it for 7 days. The artifact is expected to be ~4-5GB.
Publishing is not covered here: Would be additional work to setup right now, while I prefer doing releases when I feel this is needed. The labor hurdle for publishing once in a while is not really significant here.
Enables cleanup by default again, as we now also package the box.
Cleanup the downloaded solver archives after they have been extracted.
Replace ~ with ${HOME} in environment variables for portability: the run scripts, for example, do not understand ~.
Use the openfoam2012 session instead of loading the OpenFOAM bashrc file: it was causing strange unrelated errors, probably due to shell incompatibilities.
This adds a GitHub Actions workflow to provision the box (run
vagrant up
), as described in https://github.com/jonashackt/vagrant-github-actions The goal is to check building from a clean state, as usually I try to re-provision while developing. This already helped me find an issue with OpenFOAM that I had not noticed before for this very reason.Unfortunately, nested virtualization is not supported in Linux runners, only on macOS runners. I am using the currently latest "stable" image
macos-10.15
.This also packages the box and uploads it to the artifacts, retaining it for 7 days. The artifact is expected to be ~4-5GB.
Publishing is not covered here: Would be additional work to setup right now, while I prefer doing releases when I feel this is needed. The labor hurdle for publishing once in a while is not really significant here.
This workflow should run only when a PR is marked as "ready for review", to save resources, as each job should take a long time (~1h). The time limits seem to be enough (6h/job).
Additional side-fixes:
~
with${HOME}
in environment variables for portability: the run scripts, for example, do not understand~
.openfoam2012
session instead of loading the OpenFOAM bashrc file: it was causing strange unrelated errors, probably due to shell incompatibilities.