Skip to content

Commit a698338

Browse files
authored
Merge pull request #12 from gerlero/container
Support running inside a container
2 parents 7ab067d + 41ffe4c commit a698338

File tree

3 files changed

+140
-9
lines changed

3 files changed

+140
-9
lines changed

.github/workflows/ci.yml

Lines changed: 99 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ on:
1010
workflow_dispatch:
1111

1212
jobs:
13-
ci:
13+
bare:
1414
runs-on: ${{ matrix.os }}
1515
strategy:
1616
fail-fast: false
@@ -135,3 +135,101 @@ jobs:
135135
openfoam${{ matrix.openfoam-version }} -help
136136
- name: Regression test
137137
run: source $WM_DIR/scripts/AllwmakeParseArguments
138+
139+
container:
140+
runs-on: ubuntu-latest
141+
container: ${{ matrix.container }}
142+
strategy:
143+
fail-fast: false
144+
matrix:
145+
openfoam-version:
146+
- 2406
147+
- 2312
148+
- 2306
149+
- 2212
150+
- 2206
151+
- 2112
152+
- 2106
153+
- 2012
154+
- 2006
155+
- 12
156+
- 11
157+
- 10
158+
- 9
159+
- 8
160+
- 7
161+
container:
162+
- ubuntu:24.04
163+
- ubuntu:22.04
164+
- ubuntu:20.04
165+
- debian:bookworm
166+
- debian:bullseye
167+
exclude:
168+
- container: ubuntu:24.04
169+
openfoam-version: 2306
170+
- container: ubuntu:24.04
171+
openfoam-version: 2212
172+
- container: ubuntu:24.04
173+
openfoam-version: 2206
174+
- container: ubuntu:24.04
175+
openfoam-version: 2112
176+
- container: ubuntu:24.04
177+
openfoam-version: 2106
178+
- container: ubuntu:24.04
179+
openfoam-version: 2012
180+
- container: ubuntu:24.04
181+
openfoam-version: 2006
182+
- container: ubuntu:24.04
183+
openfoam-version: 10
184+
- container: ubuntu:24.04
185+
openfoam-version: 9
186+
- container: ubuntu:24.04
187+
openfoam-version: 8
188+
- container: ubuntu:24.04
189+
openfoam-version: 7
190+
- container: ubuntu:22.04
191+
openfoam-version: 8
192+
- container: ubuntu:22.04
193+
openfoam-version: 7
194+
- container: debian:bookworm
195+
openfoam-version: 2012
196+
- container: debian:bookworm
197+
openfoam-version: 12
198+
- container: debian:bookworm
199+
openfoam-version: 11
200+
- container: debian:bookworm
201+
openfoam-version: 10
202+
- container: debian:bookworm
203+
openfoam-version: 9
204+
- container: debian:bookworm
205+
openfoam-version: 8
206+
- container: debian:bookworm
207+
openfoam-version: 7
208+
- container: debian:bullseye
209+
openfoam-version: 12
210+
- container: debian:bullseye
211+
openfoam-version: 11
212+
- container: debian:bullseye
213+
openfoam-version: 10
214+
- container: debian:bullseye
215+
openfoam-version: 9
216+
- container: debian:bullseye
217+
openfoam-version: 8
218+
- container: debian:bullseye
219+
openfoam-version: 7
220+
steps:
221+
- name: Checkout
222+
uses: actions/checkout@v4
223+
- name: Set up OpenFOAM
224+
uses: ./
225+
with:
226+
openfoam-version: ${{ matrix.openfoam-version }}
227+
- name: Run icoFoam -help
228+
run: icoFoam -help
229+
- name: Test shell session
230+
if: matrix.openfoam-version >= 1000
231+
run: |
232+
openfoam -help
233+
openfoam${{ matrix.openfoam-version }} -help
234+
- name: Regression test
235+
run: . $WM_DIR/scripts/AllwmakeParseArguments

README.md

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,16 @@ steps:
2727

2828
- **`macos-14`**, **`macos-13`**, **`macos-12`**: 2406, 2312, 2306, 2212, 2206, 2112 (via [OpenFOAM.app](https://github.com/gerlero/openfoam-app))
2929

30-
- Windows, Docker: not supported
30+
- [Docker `container`](https://docs.github.com/en/actions/writing-workflows/choosing-where-your-workflow-runs/running-jobs-in-a-container) based on:
31+
32+
- `ubuntu:24.04`: 2406, 2312 (openfoam.com), 12, 11 (openfoam.org)
33+
34+
- `ubuntu:22.04`: 2406, 2312, 2306, 2212, 2206, 2112, 2106, 2012, 2006 (openfoam.com), 12, 11, 10, 9 (openfoam.org)
35+
36+
- `ubuntu:20.04`: 2406, 2312, 2306, 2212, 2206, 2112, 2106, 2012, 2006 (openfoam.com), 12, 11, 10, 9, 8, 7 (openfoam.org)
37+
38+
- `debian:bookworm`: 2406, 2312, 2306, 2212, 2206, 2112, 2106, 2006 (openfoam.com)
39+
40+
- `debian:bullseye`: 2406, 2312, 2306, 2212, 2206, 2112, 2106, 2012, 2006 (openfoam.com)
41+
42+
- Windows: not supported

action.yml

Lines changed: 28 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,27 +19,48 @@ runs:
1919
echo "openfoam-bashrc=/Applications/OpenFOAM-v${{ inputs.openfoam-version }}.app/Contents/Resources/etc/bashrc" >> "$GITHUB_OUTPUT"
2020
echo "openfoam-shell=/Applications/OpenFOAM-v${{ inputs.openfoam-version }}.app/Contents/Resources/etc/openfoam" >> "$GITHUB_OUTPUT"
2121
elif [ ${{ inputs.openfoam-version }} -lt 1000 ]; then
22-
sudo sh -c "wget -O - https://dl.openfoam.org/gpg.key > /etc/apt/trusted.gpg.d/openfoam.asc"
23-
sudo add-apt-repository http://dl.openfoam.org/ubuntu
24-
sudo apt update
22+
export DEBIAN_FRONTEND=noninteractive
23+
if [ $(id -u) -eq 0 ]; then
24+
apt-get install -y wget software-properties-common || apt update && apt-get install -y wget software-properties-common
25+
sh -c "wget -O - https://dl.openfoam.org/gpg.key > /etc/apt/trusted.gpg.d/openfoam.asc"
26+
add-apt-repository http://dl.openfoam.org/ubuntu
27+
apt update
28+
else
29+
sudo apt-get install -y wget software-properties-common || sudo apt update && sudo apt-get install -y wget software-properties-common
30+
sudo sh -c "wget -O - https://dl.openfoam.org/gpg.key > /etc/apt/trusted.gpg.d/openfoam.asc"
31+
sudo add-apt-repository http://dl.openfoam.org/ubuntu
32+
sudo apt update
33+
fi
2534
echo "apt-package=openfoam${{ inputs.openfoam-version }}" >> $GITHUB_OUTPUT
2635
echo "openfoam-bashrc=/opt/openfoam${{ inputs.openfoam-version }}/etc/bashrc" >> "$GITHUB_OUTPUT"
2736
else
28-
curl -s https://dl.openfoam.com/add-debian-repo.sh | sudo bash
37+
export DEBIAN_FRONTEND=noninteractive
38+
if [ $(id -u) -eq 0 ]; then
39+
sudo apt-get install -y curl || apt update && apt-get install -y curl
40+
curl -s https://dl.openfoam.com/add-debian-repo.sh | bash
41+
else
42+
sudo apt-get install -y curl || sudo apt update && sudo apt-get install -y curl
43+
curl -s https://dl.openfoam.com/add-debian-repo.sh | sudo bash
44+
fi
2945
echo "apt-package=openfoam${{ inputs.openfoam-version }}-default" >> "$GITHUB_OUTPUT"
3046
echo "openfoam-bashrc=/usr/lib/openfoam/openfoam${{ inputs.openfoam-version }}/etc/bashrc" >> "$GITHUB_OUTPUT"
3147
echo "openfoam-shell=/usr/lib/openfoam/openfoam${{ inputs.openfoam-version }}/etc/openfoam" >> "$GITHUB_OUTPUT"
3248
fi
3349
shell: bash
3450
- name: Install OpenFOAM on Linux (with caching)
35-
if: steps.prep.outputs.apt-package && inputs.cache
51+
if: steps.prep.outputs.apt-package && inputs.cache && !job.container
3652
uses: eth-pkg/apt-deb-cache@v0.2.5
3753
with:
3854
packages: ${{ steps.prep.outputs.apt-package }}
3955
- name: Install OpenFOAM on Linux (without caching)
40-
if: steps.prep.outputs.apt-package && !inputs.cache
56+
if: steps.prep.outputs.apt-package && (!inputs.cache || job.container)
4157
run: |
42-
sudo apt-get install -y ${{ steps.prep.outputs.apt-package }}
58+
export DEBIAN_FRONTEND=noninteractive
59+
if [ $(id -u) -eq 0 ]; then
60+
apt-get install -y ${{ steps.prep.outputs.apt-package }}
61+
else
62+
sudo apt-get install -y ${{ steps.prep.outputs.apt-package }}
63+
fi
4364
shell: bash
4465
- name: Get OS version
4566
if: runner.os == 'macOS' && inputs.cache

0 commit comments

Comments
 (0)