48
48
49
49
manylinux :
50
50
needs : [sdist]
51
- runs-on : ubuntu-latest
51
+ runs-on : ${{ matrix.MANYLINUX.RUNNER }}
52
52
container : ghcr.io/pyca/${{ matrix.MANYLINUX.CONTAINER }}
53
53
strategy :
54
54
fail-fast : false
@@ -58,18 +58,44 @@ jobs:
58
58
- { VERSION: "pp38-pypy38_pp73" }
59
59
- { VERSION: "pp39-pypy39_pp73" }
60
60
MANYLINUX :
61
- - { NAME: "manylinux2014_x86_64", CONTAINER: "cryptography-manylinux2014:x86_64" }
62
- - { NAME: "manylinux_2_24_x86_64", CONTAINER: "cryptography-manylinux_2_24:x86_64"}
63
- - { NAME: "manylinux_2_28_x86_64", CONTAINER: "cryptography-manylinux_2_28:x86_64"}
64
- - { NAME: "musllinux_1_1_x86_64", CONTAINER: "cryptography-musllinux_1_1:x86_64"}
61
+ - { NAME: "manylinux2014_x86_64", CONTAINER: "cryptography-manylinux2014:x86_64", RUNNER: "ubuntu-latest" }
62
+ - { NAME: "manylinux_2_28_x86_64", CONTAINER: "cryptography-manylinux_2_28:x86_64", RUNNER: "ubuntu-latest"}
63
+ - { NAME: "musllinux_1_1_x86_64", CONTAINER: "cryptography-musllinux_1_1:x86_64", RUNNER: "ubuntu-latest"}
64
+
65
+ - { NAME: "manylinux2014_aarch64", CONTAINER: "cryptography-manylinux2014_aarch64", RUNNER: [self-hosted, Linux, ARM64] }
66
+ - { NAME: "manylinux_2_28_aarch64", CONTAINER: "cryptography-manylinux_2_28:aarch64", RUNNER: [self-hosted, Linux, ARM64]}
67
+ - { NAME: "musllinux_1_1_aarch64", CONTAINER: "cryptography-musllinux_1_1:aarch64", RUNNER: [self-hosted, Linux, ARM64]}
65
68
exclude :
66
69
# There are no readily available musllinux PyPy distributions
67
70
- PYTHON : { VERSION: "pp38-pypy38_pp73" }
68
- MANYLINUX : { NAME: "musllinux_1_1_x86_64", CONTAINER: "cryptography-musllinux_1_1:x86_64"}
71
+ MANYLINUX : { NAME: "musllinux_1_1_x86_64", CONTAINER: "cryptography-musllinux_1_1:x86_64", RUNNER: "ubuntu-latest"}
72
+ - PYTHON : { VERSION: "pp39-pypy39_pp73" }
73
+ MANYLINUX : { NAME: "musllinux_1_1_x86_64", CONTAINER: "cryptography-musllinux_1_1:x86_64", RUNNER: "ubuntu-latest"}
74
+ - PYTHON : { VERSION: "pp38-pypy38_pp73" }
75
+ MANYLINUX : { NAME: "musllinux_1_1_aarch64", CONTAINER: "cryptography-musllinux_1_1:aarch64", RUNNER: [self-hosted, Linux, ARM64]}
76
+ - PYTHON : { VERSION: "pp39-pypy39_pp73" }
77
+ MANYLINUX : { NAME: "musllinux_1_1_aarch64", CONTAINER: "cryptography-musllinux_1_1:aarch64", RUNNER: [self-hosted, Linux, ARM64]}
78
+ # We also don't build pypy wheels for anything except the latest manylinux
79
+ - PYTHON : { VERSION: "pp38-pypy38_pp73" }
80
+ MANYLINUX : { NAME: "manylinux2014_x86_64", CONTAINER: "cryptography-manylinux2014:x86_64", RUNNER: "ubuntu-latest"}
69
81
- PYTHON : { VERSION: "pp39-pypy39_pp73" }
70
- MANYLINUX : { NAME: "musllinux_1_1_x86_64", CONTAINER: "cryptography-musllinux_1_1:x86_64"}
82
+ MANYLINUX : { NAME: "manylinux2014_x86_64", CONTAINER: "cryptography-manylinux2014:x86_64", RUNNER: "ubuntu-latest"}
83
+ - PYTHON : { VERSION: "pp38-pypy38_pp73" }
84
+ MANYLINUX : { NAME: "manylinux2014_aarch64", CONTAINER: "cryptography-manylinux2014_aarch64", RUNNER: [self-hosted, Linux, ARM64]}
85
+ - PYTHON : { VERSION: "pp39-pypy39_pp73" }
86
+ MANYLINUX : { NAME: "manylinux2014_aarch64", CONTAINER: "cryptography-manylinux2014_aarch64", RUNNER: [self-hosted, Linux, ARM64]}
87
+ - PYTHON : { VERSION: "pp38-pypy38_pp73" }
71
88
name : " ${{ matrix.PYTHON.VERSION }} for ${{ matrix.MANYLINUX.NAME }}"
72
89
steps :
90
+ - name : Ridiculous alpine workaround for actions support on arm64
91
+ run : |
92
+ # This modifies /etc/os-release so the JS actions
93
+ # from GH can't detect that it's on alpine:aarch64. It will
94
+ # then use a glibc nodejs, which works fine when gcompat
95
+ # is installed in the container (which it is)
96
+ sed -i "s:ID=alpine:ID=NotpineForGHA:" /etc/os-release
97
+ if : matrix.MANYLINUX.NAME == 'musllinux_1_1_aarch64'
98
+
73
99
74
100
with :
75
101
name : cryptography-sdist
0 commit comments