@@ -23,16 +23,24 @@ concurrency:
23
23
cancel-in-progress : true
24
24
jobs :
25
25
build :
26
- runs-on : ubuntu-latest
27
26
defaults :
28
27
run :
29
28
shell : bash
30
29
strategy :
31
30
fail-fast : false
32
31
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 }}
34
42
container :
35
- image : ghcr.io/khiopsml/khiops/khiopsdev-${{ matrix.os }}:latest
43
+ image : ghcr.io/khiopsml/khiops/khiopsdev-${{ matrix.setup.image }}:latest
36
44
steps :
37
45
- name : Checkout sources
38
46
uses : actions/checkout@v4
45
53
echo "ID=$ID" >> "$GITHUB_ENV"
46
54
echo "VERSION_CODENAME=$VERSION_CODENAME" >> "$GITHUB_ENV"
47
55
echo "MPI_IMPLEMENTATION=${{ inputs.mpi_implementation || 'openmpi' }}" >> "$GITHUB_ENV"
56
+ echo "ARCH=$(arch)" >> "$GITHUB_ENV"
48
57
49
58
- name : Configure CMake
50
59
run : |
70
79
with :
71
80
# We add a `deb-` prefix so we can later recover all artifacts with the pattern `deb-*`
72
81
# 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 }}
74
83
path : build/linux-gcc-release/packages/*.deb
75
84
if-no-files-found : error
76
85
# Test packages on a brand new runner to check:
79
88
# - that it executes a small test
80
89
test :
81
90
needs : build
82
- runs-on : ubuntu-latest
83
91
env :
84
92
DEBIAN_FRONTEND : noninteractive
85
93
defaults :
88
96
strategy :
89
97
fail-fast : false
90
98
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 }}
92
109
container :
93
- image : ${{ matrix.os }}
110
+ image : ghcr.io/khiopsml/khiops/khiopsdev- ${{ matrix.setup.image }}:latest
94
111
steps :
95
112
- name : Checkout sources
96
113
uses : actions/checkout@v4
@@ -100,11 +117,12 @@ jobs:
100
117
echo "ID=$ID" >> "$GITHUB_ENV"
101
118
echo "VERSION_CODENAME=$VERSION_CODENAME" >> "$GITHUB_ENV"
102
119
echo "MPI_IMPLEMENTATION=${{ inputs.mpi_implementation || 'openmpi' }}" >> "$GITHUB_ENV"
120
+ echo "ARCH=$(arch)" >> "$GITHUB_ENV"
103
121
104
122
- name : Download artifacts
105
123
uses : actions/download-artifact@v4
106
124
with :
107
- name : deb-${{ env.ID }}-${{ env.VERSION_CODENAME }}
125
+ name : deb-${{ env.ID }}-${{ env.VERSION_CODENAME }}-${{ env.ARCH }}
108
126
path : artifacts
109
127
- name : Install Khiops core
110
128
run : |
@@ -122,10 +140,9 @@ jobs:
122
140
- name : Test Khiops on Iris dataset
123
141
uses : ./.github/actions/test-khiops-on-iris
124
142
with :
125
- os-decription : ${{ env.ID }}-${{ env.VERSION_CODENAME }}
143
+ os-decription : ${{ env.ID }}-${{ env.VERSION_CODENAME }}-${{ env.ARCH }}
126
144
test-kni :
127
145
needs : build
128
- runs-on : ubuntu-latest
129
146
env :
130
147
DEBIAN_FRONTEND : noninteractive
131
148
defaults :
@@ -134,19 +151,29 @@ jobs:
134
151
strategy :
135
152
fail-fast : false
136
153
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 }}
138
164
container :
139
- image : ghcr.io/khiopsml/khiops/khiopsdev-${{ matrix.os }}:latest
165
+ image : ghcr.io/khiopsml/khiops/khiopsdev-${{ matrix.setup.image }}:latest
140
166
steps :
141
167
- name : Put OS info on the environment
142
168
run : |
143
169
source /etc/os-release
144
170
echo "ID=$ID" >> "$GITHUB_ENV"
145
171
echo "VERSION_CODENAME=$VERSION_CODENAME" >> "$GITHUB_ENV"
172
+ echo "ARCH=$(arch)" >> "$GITHUB_ENV"
146
173
- name : Download artifacts
147
174
uses : actions/download-artifact@v4
148
175
with :
149
- name : deb-${{ env.ID }}-${{ env.VERSION_CODENAME }}
176
+ name : deb-${{ env.ID }}-${{ env.VERSION_CODENAME }}-${{ env.ARCH }}
150
177
path : artifacts
151
178
- name : Install KNI Package
152
179
run : |
0 commit comments