1010 description : ' If set to true, then the documentation will be published.'
1111 default : ' false'
1212 required : false
13- openssl_version :
14- description : ' The expected version of OpenSSL.'
13+ openssl_1_version :
14+ description : ' The expected version of OpenSSL 1, e.g.: 1.1.1o.'
15+ required : true
16+ type : string
17+ openssl_3_version :
18+ description : ' The expected version of OpenSSL 3, e.g.: 3.0.3.'
1519 required : true
1620 type : string
1721
6569 publish_dir : ./docs/build/html
6670
6771 build_windows_and_test :
68- runs-on : windows-latest
72+ runs-on : windows-2019
6973 strategy :
7074 matrix :
7175 arch :
@@ -104,7 +108,7 @@ jobs:
104108 - name : Check version
105109 shell : msys2 {0}
106110 run : |
107- [ `openssl version -v | cut -d ' ' -f 2` == "${{ github.event.inputs.openssl_version }}" ]
111+ [ `openssl version -v | cut -d ' ' -f 2` == "${{ github.event.inputs.openssl_1_version }}" ]
108112 - uses : Vampire/setup-wsl@v1
109113 with :
110114 distribution : Ubuntu-18.04
@@ -146,26 +150,38 @@ jobs:
146150 - ' 3.9'
147151 - ' 3.10'
148152 include :
149- - {platform: [macos-11.6, arm64], python_version: '3.10'}
153+ - {platform: [macOS-11.6, ARM64, self-hosted], python_version: '3.10'}
154+ - {platform: [macOS-11.6, ARM64, self-hosted], python_version: '3.9'}
155+ - {platform: [macOS-11.6, ARM64, self-hosted], python_version: '3.8'}
150156 runs-on : ${{ matrix.platform }}
151157 steps :
152158 - uses : actions/checkout@v2
153159 with :
154160 submodules : true
155- - name : Install python and OpenSSL
161+ - name : Install python
156162 run : |
157163 brew update
158- brew install python@${{ matrix.python_version }} [email protected] 159- 160- - name : Print OpenSSL version
164+ brew install python@${{ matrix.python_version }}
165+ - name : Manage OpenSSL 1 on x86 machines
166+ if : ${{ !contains(matrix.platform, 'ARM64') }}
161167 run : |
168+ brew uninstall -f openssl@3
169+ 170+ 171+ brew link --force --overwrite [email protected] 162172 openssl version -a
163- - name : Check version
173+ [ `openssl version -v | cut -d ' ' -f 2` == "${{ github.event.inputs.openssl_1_version }}" ]
174+ - name : Manage OpenSSL 3 on ARM machines
175+ if : ${{ contains(matrix.platform, 'ARM64') }}
164176 run : |
165- [ `openssl version -v | cut -d ' ' -f 2` == "${{ github.event.inputs.openssl_version }}" ]
177+ brew install openssl@3
178+ brew upgrade openssl@3
179+ brew link --force --overwrite openssl@3
180+ openssl version -a
181+ [ `openssl version -v | cut -d ' ' -f 2` == "${{ github.event.inputs.openssl_3_version }}" ]
166182 - name : Make used python version default
167183 run : |
168- brew link --force --overwrite python@${{ matrix.python_version }}
184+ brew unlink python@3 && brew link python@${{ matrix.python_version }}
169185 python3 --version
170186 - name : Install pytest and pyopenssl
171187 run : python3 -m pip install pyopenssl pytest
@@ -175,12 +191,13 @@ jobs:
175191 run : python3 -m pip install -f dist --no-index pymgclient
176192 - name : Import mgclient to validate installation
177193 run : python3 -c "import mgclient"
178- - name : Save artifact name on not ARM64 machines
179- if : ${{ startsWith (matrix.platform, 'macos ') }}
194+ - name : Save artifact name on x86 machines
195+ if : ${{ !contains (matrix.platform, 'ARM64 ') }}
180196 run : echo "OS_TYPE=${{ matrix.platform }}" >> $GITHUB_ENV
181- - name : Save artifact name on ARM64 machine
182- if : ${{ !startsWith(matrix.platform, 'macos') }}
183- run : echo "OS_TYPE=${{ matrix.platform[0] }}-${{ matrix.platform[1] }}" >> $GITHUB_ENV
197+ - name : Save artifact name on ARM64 machines
198+ if : ${{ contains(matrix.platform, 'ARM64') }}
199+ # Convert macOS-11.6-ARM64 to macos-11.6-arm64 to be consistent with full lowercase naming
200+ run : echo OS_TYPE=`echo "${{ matrix.platform[0] }}-${{ matrix.platform[1] }}" | tr "[:upper:]" "[:lower:]"` >> $GITHUB_ENV
184201 - name : Save wheel package
185202 uses : actions/upload-artifact@v2
186203 with :
0 commit comments