You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[ci] Add tests for non-native architectures (#622)
This change introduces a new job to the CI to test the SDK on non-native
architectures. Github CI ATM provides amd64 runners by default, so the
new job targets testing on arch64 for now.
The tests are run in containers running on the target platform(s). The
container definitions are supposed to exist in the directory
.github/containers/nox-cross-arch. A definition for an
arm64-ubuntu20.04-python3.11 container can be found there.
Since the tests take quite a while to run, given that they run on
emulations, this step runs only on the `merge_group` event.
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+24Lines changed: 24 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -154,3 +154,27 @@ These are the steps to create a new release:
154
154
eventually too).
155
155
156
156
7. Celebrate!
157
+
158
+
## Cross-Arch Testing
159
+
160
+
This project has built-in support for testing across multiple architectures. Currently, our CI conducts tests on `arm64` machines using QEMU emulation. We also have the flexibility to expand this support to include additional architectures in the future.
161
+
162
+
This project containers dockerfiles that can be used in the CI to test the
163
+
python package in non-native machine architectures, e.g., `arm64`.
164
+
The dockerfiles exist in the directory `.github/containers/nox-cross-arch`, and
165
+
follow a naming scheme so that they can be easily used in build matrices in the
166
+
CI, in `nox-cross-arch` job. The naming scheme is:
167
+
168
+
```
169
+
<arch>-<os>-python-<python-version>.Dockerfile
170
+
```
171
+
172
+
E.g.,
173
+
174
+
```
175
+
arm64-ubuntu-20.04-python-3.11.Dockerfile
176
+
```
177
+
178
+
If a dockerfile for your desired target architecture, OS, and python version
179
+
does not exist here, please add one before proceeding to add your options to the
0 commit comments