|
76 | 76 | "macOS": mpimap_macos,
|
77 | 77 | "Windows": mpimap_windows,
|
78 | 78 | }
|
79 |
| -pymap = { |
80 |
| - "cp": "", |
81 |
| - "pp": " pypy", |
82 |
| -} |
83 | 79 |
|
84 | 80 | builds = []
|
85 | 81 | for whl in sorted(glob.glob(os.path.join(wheelhouse, "*.whl"))):
|
|
90 | 86 | assert match is not None
|
91 | 87 | std, mpi, py, x, y, ostag, archtag = match.groups()
|
92 | 88 | osname, mpiabi, x, y = osmap[ostag], f"{std}-{mpi}", int(x), int(y)
|
93 |
| - for arch in ("x86_64", "AMD64", "arm64"): |
| 89 | + for arch in ("x86_64", "AMD64", "arm64", "aarch64"): |
94 | 90 | if arch.lower() in archtag.lower():
|
95 | 91 | builds.append((osname, arch, mpiabi, py, (x, y)))
|
96 | 92 | builds = sorted(builds, key=lambda r: (r[0].lower(), *r[1:]))
|
97 | 93 |
|
98 | 94 |
|
99 | 95 | runners = {
|
100 |
| - "Linux-x86_64": "ubuntu-22.04", |
| 96 | + "Linux-aarch64": "ubuntu-24.04-arm", |
| 97 | + "Linux-x86_64": "ubuntu-24.04", |
101 | 98 | "macOS-arm64": "macos-14",
|
102 | 99 | "macOS-x86_64": "macos-13",
|
103 | 100 | "Windows-AMD64": "windows-2022",
|
104 | 101 | }
|
105 | 102 | matrix = []
|
106 | 103 | for entry in builds:
|
107 | 104 | osname, arch, mpiabi, py, (x, y) = entry
|
108 |
| - runner = runners[f"{osname}-{arch}"] |
109 | 105 | if py == "pp":
|
110 | 106 | continue
|
| 107 | + runner = runners[f"{osname}-{arch}"] |
111 | 108 | for mpiname, mpiversions in mpimap[osname][mpiabi]:
|
112 | 109 | for mpiversion in mpiversions:
|
| 110 | + if f"{osname}-{arch}" == "Linux-aarch64": |
| 111 | + if mpiname == "impi_rt": |
| 112 | + continue |
113 | 113 | if f"{osname}-{arch}" == "macOS-arm64":
|
114 | 114 | if f"{mpiname}-{mpiversion}" == "mpich-3.2":
|
115 | 115 | continue
|
|
122 | 122 | "runner": runner,
|
123 | 123 | "mpi": mpiname,
|
124 | 124 | "mpi-version": mpiversion,
|
125 |
| - "py": f"{x}.{y}{pymap[py]}", |
| 125 | + "py": f"{x}.{y}", |
126 | 126 | "arch": arch,
|
127 | 127 | }
|
128 | 128 | matrix.append(row)
|
129 | 129 | print(f"matrix-test-cf={json.dumps(matrix)}")
|
130 | 130 |
|
131 | 131 |
|
132 | 132 | runners = {
|
| 133 | + "Linux-aarch64": [ |
| 134 | + "ubuntu-22.04-arm", |
| 135 | + "ubuntu-24.04-arm", |
| 136 | + ], |
133 | 137 | "Linux-x86_64": [
|
134 |
| - "ubuntu-20.04", |
135 | 138 | "ubuntu-22.04",
|
| 139 | + "ubuntu-24.04", |
136 | 140 | ],
|
137 | 141 | "macOS-arm64": [
|
138 | 142 | "macos-14",
|
|
148 | 152 | matrix = []
|
149 | 153 | for entry in builds:
|
150 | 154 | osname, arch, mpiabi, py, (x, y) = entry
|
| 155 | + if py == "pp": |
| 156 | + continue |
151 | 157 | std, _, mpi = mpiabi.partition("-")
|
152 | 158 | mpispeclist = [mpi]
|
153 |
| - if osname == "Linux" and mpi == "mpich": |
| 159 | + if f"{osname}-{arch}" == "Linux-x86_64" and mpi == "mpich": |
154 | 160 | mpispeclist.append("impi")
|
155 |
| - pyspec = f"{x}.{y}" if py == "cp" else f"pypy-{x}.{y}" |
156 | 161 | for runner in runners[f"{osname}-{arch}"]:
|
157 |
| - if runner == "ubuntu-22.04": |
158 |
| - if py == "cp" and (x, y) < (3, 7): |
| 162 | + if runner.startswith("ubuntu-"): |
| 163 | + if py == "cp" and (x, y) < (3, 8): |
159 | 164 | continue
|
160 | 165 | if runner == "macos-14":
|
161 | 166 | if py == "cp" and (x, y) < (3, 10):
|
|
167 | 172 | row = {
|
168 | 173 | "runner": runner,
|
169 | 174 | "mpi": mpispec,
|
170 |
| - "py": pyspec, |
| 175 | + "py": f"{x}.{y}", |
171 | 176 | "arch": arch,
|
172 | 177 | }
|
173 | 178 | if row not in matrix:
|
|
0 commit comments