Skip to content

Commit

Permalink
Support caching
Browse files Browse the repository at this point in the history
  • Loading branch information
gerlero committed Jul 26, 2024
1 parent c04992a commit 7f43bce
Showing 1 changed file with 39 additions and 7 deletions.
46 changes: 39 additions & 7 deletions action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,24 +3,54 @@ description: Set up a specific version of OpenFOAM
inputs:
openfoam-version:
description: Version of OpenFOAM to set up
cache:
description: Whether to cache the OpenFOAM installation for future runs
default: true
runs:
using: "composite"
steps:
- run: |
- name: Prepare for install
id: prep
run: |
if [ $(uname) == "Darwin" ]; then
brew install --no-quarantine gerlero/openfoam/openfoam@${{ inputs.openfoam-version }}
source /Applications/OpenFOAM-v${{ inputs.openfoam-version }}.app/Contents/Resources/etc/bashrc || true
echo "openfoam-bashrc=/Applications/OpenFOAM-v${{ inputs.openfoam-version }}.app/Contents/Resources/etc/bashrc" >> $GITHUB_OUTPUT
elif [ ${{ inputs.openfoam-version }} -lt 1000 ]; then
sudo sh -c "wget -O - https://dl.openfoam.org/gpg.key > /etc/apt/trusted.gpg.d/openfoam.asc"
sudo add-apt-repository http://dl.openfoam.org/ubuntu
sudo apt update
sudo apt -y install openfoam${{ inputs.openfoam-version }}
source /opt/openfoam${{ inputs.openfoam-version }}/etc/bashrc || true
echo "apt-package=openfoam${{ inputs.openfoam-version }}\n" >> $GITHUB_OUTPUT
echo "openfoam-bashrc=/opt/openfoam${{ inputs.openfoam-version }}/etc/bashrc" >> GITHUB_OUTPUT
else
curl -s https://dl.openfoam.com/add-debian-repo.sh | sudo bash
sudo apt-get install openfoam${{ inputs.openfoam-version }}-default
source /usr/lib/openfoam/openfoam${{ inputs.openfoam-version }}/etc/bashrc || true
echo "apt-package=openfoam${{ inputs.openfoam-version }}-default\n" >> $GITHUB_OUTPUT
echo "openfoam-bashrc=/usr/lib/openfoam/openfoam${{ inputs.openfoam-version }}/etc/bashrc" >> GITHUB_OUTPUT
fi
shell: bash
- name: Install OpenFOAM on Linux
if: steps.prep.outputs.apt-package && inputs.cache
uses: awalsh128/cache-apt-pkgs-action@v1
with:
packages: ${{ steps.prep.outputs.apt-package }}
- name: Install OpenFOAM on Linux (without caching)
if: steps.prep.outputs.apt-package && !inputs.cache
run: |
sudo apt-get install -y ${{ steps.prep.outputs.apt-package }}
shell: bash
- name: Cache OpenFOAM on macOS
if: runner.os == 'macOS' && inputs.cache
id: cache-macos
uses: actions/cache@v4
with:
key: setup-openfoam-${{ runner.os }}-${{ inputs.openfoam-version }}
path: /Applications/OpenFOAM-v${{ inputs.openfoam-version }}.app
- name: Install OpenFOAM on macOS
if: runner.os == 'macOS' && steps.cache-macos.outputs.cache-hit != 'true'
run: |
brew install --no-quarantine gerlero/openfoam/openfoam@${{ inputs.openfoam-version }}
shell: bash
- name: Activate OpenFOAM for future steps
run: |
source "$SETUP_OPENFOAM_BASHRC" || true
for var in "${!WM_@}"; do
echo "$var=${!var}" >> $GITHUB_ENV
Expand All @@ -33,4 +63,6 @@ runs:
echo LD_LIBRARY_PATH="$LD_LIBRARY_PATH" >> $GITHUB_ENV
echo "$PATH" >> $GITHUB_PATH
env:
SETUP_OPENFOAM_BASHRC: ${{ steps.prep.outputs.openfoam-bashrc }}
shell: bash

0 comments on commit 7f43bce

Please sign in to comment.