Skip to content

Commit 1b8366b

Browse files
Build and test ubuntu packages for ARM architecture
1 parent 1db7aa1 commit 1b8366b

File tree

1 file changed

+40
-13
lines changed

1 file changed

+40
-13
lines changed

.github/workflows/pack-debian.yml

Lines changed: 40 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -23,16 +23,24 @@ concurrency:
2323
cancel-in-progress: true
2424
jobs:
2525
build:
26-
runs-on: ubuntu-latest
2726
defaults:
2827
run:
2928
shell: bash
3029
strategy:
3130
fail-fast: false
3231
matrix:
33-
os: [debian10, debian11, debian12, ubuntu20.04, ubuntu22.04, ubuntu24.04]
32+
setup:
33+
- {os: ubuntu-latest, image: debian10}
34+
- {os: ubuntu-latest, image: debian11}
35+
- {os: ubuntu-latest, image: debian12}
36+
- {os: ubuntu-latest, image: ubuntu20.04}
37+
- {os: ubuntu-latest, image: ubuntu22.04}
38+
- {os: ubuntu-latest, image: ubuntu24.04}
39+
- {os: ubuntu-24.04-arm, image: ubuntu22.04-arm}
40+
- {os: ubuntu-24.04-arm, image: ubuntu24.04-arm}
41+
runs-on: ${{ matrix.setup.os }}
3442
container:
35-
image: ghcr.io/khiopsml/khiops/khiopsdev-${{ matrix.os }}:latest
43+
image: ghcr.io/khiopsml/khiops/khiopsdev-${{ matrix.setup.image }}:latest
3644
steps:
3745
- name: Checkout sources
3846
uses: actions/checkout@v4
@@ -45,6 +53,7 @@ jobs:
4553
echo "ID=$ID" >> "$GITHUB_ENV"
4654
echo "VERSION_CODENAME=$VERSION_CODENAME" >> "$GITHUB_ENV"
4755
echo "MPI_IMPLEMENTATION=${{ inputs.mpi_implementation || 'openmpi' }}" >> "$GITHUB_ENV"
56+
echo "ARCH=$(arch)" >> "$GITHUB_ENV"
4857
4958
- name: Configure CMake
5059
run: |
@@ -70,7 +79,7 @@ jobs:
7079
with:
7180
# We add a `deb-` prefix so we can later recover all artifacts with the pattern `deb-*`
7281
# Note: The more natural pattern `*-deb` or `*` does not work
73-
name: deb-${{ env.ID }}-${{ env.VERSION_CODENAME }}
82+
name: deb-${{ env.ID }}-${{ env.VERSION_CODENAME }}-${{ env.ARCH }}
7483
path: build/linux-gcc-release/packages/*.deb
7584
if-no-files-found: error
7685
# Test packages on a brand new runner to check:
@@ -79,7 +88,6 @@ jobs:
7988
# - that it executes a small test
8089
test:
8190
needs: build
82-
runs-on: ubuntu-latest
8391
env:
8492
DEBIAN_FRONTEND: noninteractive
8593
defaults:
@@ -88,9 +96,18 @@ jobs:
8896
strategy:
8997
fail-fast: false
9098
matrix:
91-
os: ['debian:10', 'debian:11', 'debian:12', 'ubuntu:20.04', 'ubuntu:22.04', 'ubuntu:24.04']
99+
setup:
100+
- {os: ubuntu-latest, image: debian10}
101+
- {os: ubuntu-latest, image: debian11}
102+
- {os: ubuntu-latest, image: debian12}
103+
- {os: ubuntu-latest, image: ubuntu20.04}
104+
- {os: ubuntu-latest, image: ubuntu22.04}
105+
- {os: ubuntu-latest, image: ubuntu24.04}
106+
- {os: ubuntu-24.04-arm, image: ubuntu22.04-arm}
107+
- {os: ubuntu-24.04-arm, image: ubuntu24.04-arm}
108+
runs-on: ${{ matrix.setup.os }}
92109
container:
93-
image: ${{ matrix.os }}
110+
image: ghcr.io/khiopsml/khiops/khiopsdev-${{ matrix.setup.image }}:latest
94111
steps:
95112
- name: Checkout sources
96113
uses: actions/checkout@v4
@@ -100,11 +117,12 @@ jobs:
100117
echo "ID=$ID" >> "$GITHUB_ENV"
101118
echo "VERSION_CODENAME=$VERSION_CODENAME" >> "$GITHUB_ENV"
102119
echo "MPI_IMPLEMENTATION=${{ inputs.mpi_implementation || 'openmpi' }}" >> "$GITHUB_ENV"
120+
echo "ARCH=$(arch)" >> "$GITHUB_ENV"
103121
104122
- name: Download artifacts
105123
uses: actions/download-artifact@v4
106124
with:
107-
name: deb-${{ env.ID }}-${{ env.VERSION_CODENAME }}
125+
name: deb-${{ env.ID }}-${{ env.VERSION_CODENAME }}-${{ env.ARCH }}
108126
path: artifacts
109127
- name: Install Khiops core
110128
run: |
@@ -122,10 +140,9 @@ jobs:
122140
- name: Test Khiops on Iris dataset
123141
uses: ./.github/actions/test-khiops-on-iris
124142
with:
125-
os-decription: ${{ env.ID }}-${{ env.VERSION_CODENAME }}
143+
os-decription: ${{ env.ID }}-${{ env.VERSION_CODENAME }}-${{ env.ARCH }}
126144
test-kni:
127145
needs: build
128-
runs-on: ubuntu-latest
129146
env:
130147
DEBIAN_FRONTEND: noninteractive
131148
defaults:
@@ -134,19 +151,29 @@ jobs:
134151
strategy:
135152
fail-fast: false
136153
matrix:
137-
os: [debian10, debian11, debian12, ubuntu20.04, ubuntu22.04, ubuntu24.04]
154+
setup:
155+
- {os: ubuntu-latest, image: debian10}
156+
- {os: ubuntu-latest, image: debian11}
157+
- {os: ubuntu-latest, image: debian12}
158+
- {os: ubuntu-latest, image: ubuntu20.04}
159+
- {os: ubuntu-latest, image: ubuntu22.04}
160+
- {os: ubuntu-latest, image: ubuntu24.04}
161+
- {os: ubuntu-24.04-arm, image: ubuntu22.04-arm}
162+
- {os: ubuntu-24.04-arm, image: ubuntu24.04-arm}
163+
runs-on: ${{ matrix.setup.os }}
138164
container:
139-
image: ghcr.io/khiopsml/khiops/khiopsdev-${{ matrix.os }}:latest
165+
image: ghcr.io/khiopsml/khiops/khiopsdev-${{ matrix.setup.image }}:latest
140166
steps:
141167
- name: Put OS info on the environment
142168
run: |
143169
source /etc/os-release
144170
echo "ID=$ID" >> "$GITHUB_ENV"
145171
echo "VERSION_CODENAME=$VERSION_CODENAME" >> "$GITHUB_ENV"
172+
echo "ARCH=$(arch)" >> "$GITHUB_ENV"
146173
- name: Download artifacts
147174
uses: actions/download-artifact@v4
148175
with:
149-
name: deb-${{ env.ID }}-${{ env.VERSION_CODENAME }}
176+
name: deb-${{ env.ID }}-${{ env.VERSION_CODENAME }}-${{ env.ARCH }}
150177
path: artifacts
151178
- name: Install KNI Package
152179
run: |

0 commit comments

Comments
 (0)