Skip to content

Commit 58a239d

Browse files
HanSur94claude
andcommitted
ci: use gnuoctave/octave Docker container — no more apt-get install
Replace apt-get install octave on every run with pre-built Docker container (gnuoctave/octave:8.4.0). Octave + octave-dev + xvfb are all pre-installed. Saves ~60s per job. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 6ef1765 commit 58a239d

3 files changed

Lines changed: 6 additions & 21 deletions

File tree

.github/workflows/benchmark.yml

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ jobs:
1414
build-mex:
1515
name: Build MEX
1616
runs-on: ubuntu-latest
17+
container: gnuoctave/octave:8.4.0
1718
steps:
1819
- uses: actions/checkout@v4
1920

@@ -26,10 +27,6 @@ jobs:
2627
libs/SensorThreshold/private/*.mex
2728
key: mex-linux-${{ hashFiles('libs/FastPlot/private/mex_src/**', 'libs/FastPlot/build_mex.m') }}
2829

29-
- name: Install Octave
30-
if: steps.cache-mex.outputs.cache-hit != 'true'
31-
run: sudo apt-get update && sudo apt-get install -y octave octave-dev
32-
3330
- name: Compile MEX files
3431
if: steps.cache-mex.outputs.cache-hit != 'true'
3532
run: octave --eval "setup();"
@@ -47,6 +44,7 @@ jobs:
4744
name: Performance Benchmark
4845
needs: build-mex
4946
runs-on: ubuntu-latest
47+
container: gnuoctave/octave:8.4.0
5048
steps:
5149
- uses: actions/checkout@v4
5250

@@ -55,9 +53,6 @@ jobs:
5553
with:
5654
name: mex-linux-bench
5755

58-
- name: Install Octave and Xvfb
59-
run: sudo apt-get update && sudo apt-get install -y octave xvfb
60-
6156
- name: Run benchmark
6257
run: |
6358
xvfb-run octave --eval "

.github/workflows/examples.yml

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ jobs:
1010
build-mex:
1111
name: Build MEX
1212
runs-on: ubuntu-latest
13+
container: gnuoctave/octave:8.4.0
1314
steps:
1415
- uses: actions/checkout@v4
1516

@@ -22,10 +23,6 @@ jobs:
2223
libs/SensorThreshold/private/*.mex
2324
key: mex-linux-${{ hashFiles('libs/FastPlot/private/mex_src/**', 'libs/FastPlot/build_mex.m') }}
2425

25-
- name: Install Octave
26-
if: steps.cache-mex.outputs.cache-hit != 'true'
27-
run: sudo apt-get update && sudo apt-get install -y octave octave-dev
28-
2926
- name: Compile MEX files
3027
if: steps.cache-mex.outputs.cache-hit != 'true'
3128
run: octave --eval "setup();"
@@ -43,6 +40,7 @@ jobs:
4340
name: Example Smoke Tests
4441
needs: build-mex
4542
runs-on: ubuntu-latest
43+
container: gnuoctave/octave:8.4.0
4644
steps:
4745
- uses: actions/checkout@v4
4846

@@ -51,9 +49,6 @@ jobs:
5149
with:
5250
name: mex-linux-examples
5351

54-
- name: Install Octave and Xvfb
55-
run: sudo apt-get update && sudo apt-get install -y octave xvfb
56-
5752
- name: Run example smoke tests
5853
run: |
5954
xvfb-run octave --eval "

.github/workflows/tests.yml

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ jobs:
2929
name: Build MEX (Linux)
3030
if: github.event_name != 'schedule'
3131
runs-on: ubuntu-latest
32+
container: gnuoctave/octave:8.4.0
3233
steps:
3334
- uses: actions/checkout@v4
3435

@@ -41,10 +42,6 @@ jobs:
4142
libs/SensorThreshold/private/*.mex
4243
key: mex-linux-${{ hashFiles('libs/FastPlot/private/mex_src/**', 'libs/FastPlot/build_mex.m') }}
4344

44-
- name: Install Octave
45-
if: steps.cache-mex.outputs.cache-hit != 'true'
46-
run: sudo apt-get update && sudo apt-get install -y octave octave-dev
47-
4845
- name: Compile MEX files
4946
if: steps.cache-mex.outputs.cache-hit != 'true'
5047
run: octave --eval "setup();"
@@ -63,6 +60,7 @@ jobs:
6360
needs: build-mex
6461
if: github.event_name != 'schedule'
6562
runs-on: ubuntu-latest
63+
container: gnuoctave/octave:8.4.0
6664
steps:
6765
- uses: actions/checkout@v4
6866

@@ -71,9 +69,6 @@ jobs:
7169
with:
7270
name: mex-linux
7371

74-
- name: Install Octave and Xvfb
75-
run: sudo apt-get update && sudo apt-get install -y octave xvfb
76-
7772
- name: Run tests
7873
run: |
7974
xvfb-run octave --eval "

0 commit comments

Comments
 (0)