8585 retention-days : 30
8686 if-no-files-found : warn
8787 darwin :
88- runs-on : macos-14
88+ runs-on : macos-15
8989 needs : prepare
9090 timeout-minutes : 180
9191 outputs :
@@ -100,7 +100,9 @@ jobs:
100100 with :
101101 ref : ${{ needs.prepare.outputs.commit }}
102102 persist-credentials : false
103- - run : brew install autoconf automake libtool pkg-config python curl
103+ - run : brew install autoconf automake libtool pkg-config python curl llvm
104+ - name : Select complete C++20 compiler and runtime
105+ run : bash scripts/ci-macos-toolchain.sh
104106 - uses : actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020
105107 with :
106108 node-version : 24.15.0
@@ -120,7 +122,13 @@ jobs:
120122 if ! python3 -c 'import socket; s=socket.socket(); s.bind(("127.0.0.1",443)); s.close()'; then
121123 prefix=(sudo env "PATH=$PATH" GIT_CONFIG_COUNT=1 GIT_CONFIG_KEY_0=safe.directory "GIT_CONFIG_VALUE_0=$PWD")
122124 fi
123- "${prefix[@]}" python3 scripts/run-v3-release-ci.py platform --selection "$RUNNER_TEMP/selected/selected.json" --archive "$RUNNER_TEMP/selected/"libhttpserver-*.tar.gz --provider-prefix "$RUNNER_TEMP/prerequisites/provider" --client-python "$RUNNER_TEMP/clients/bin/python" --node node --output "$RUNNER_TEMP/platform" --pkg-config-dir "$(brew --prefix)/share/pkgconfig"
125+ "${prefix[@]}" python3 scripts/run-v3-release-ci.py platform --selection "$RUNNER_TEMP/selected/selected.json" --archive "$RUNNER_TEMP/selected/"libhttpserver-*.tar.gz --provider-prefix "$RUNNER_TEMP/prerequisites/provider" --client-python "$RUNNER_TEMP/clients/bin/python" --node node --compiler "$V3_CXX" --cc "$V3_CC" --output "$RUNNER_TEMP/platform" --pkg-config-dir "$(brew --prefix)/share/pkgconfig"
126+ - name : Make privileged proof readable by artifact upload
127+ if : always()
128+ run : |
129+ if [ -d "$RUNNER_TEMP/platform" ]; then
130+ sudo chown -R "$(id -u):$(id -g)" "$RUNNER_TEMP/platform"
131+ fi
124132 - id : proof
125133 uses : actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02
126134 with :
@@ -134,6 +142,7 @@ jobs:
134142 name : platform-Darwin-failure-evidence
135143 path : |-
136144 ${{ runner.temp }}/platform
145+ ${{ runner.temp }}/v3-toolchain
137146 ${{ runner.temp }}/prerequisites/preparation.json
138147 ${{ runner.temp }}/prerequisites/*.log
139148 ${{ runner.temp }}/prerequisites-ci.log
@@ -162,6 +171,7 @@ jobs:
162171 - uses : msys2/setup-msys2@e9898307ac31d1a803454791be09ab9973336e1c
163172 with :
164173 msystem : MINGW64
174+ path-type : inherit
165175 update : true
166176 install : autotools base-devel perl git mingw-w64-x86_64-clang mingw-w64-x86_64-gcc mingw-w64-x86_64-binutils mingw-w64-x86_64-python
167177 mingw-w64-x86_64-pkgconf mingw-w64-x86_64-libtool mingw-w64-x86_64-curl mingw-w64-x86_64-libsystre
@@ -178,10 +188,10 @@ jobs:
178188 exec > >(tee "$RUNNER_TEMP/prerequisites-ci.log") 2>&1
179189 /mingw64/bin/python scripts/prepare-v3-package-ci.py --output "$RUNNER_TEMP/prerequisites"
180190 /mingw64/bin/python -m venv "$RUNNER_TEMP/clients"
181- "$(cygpath -m "$RUNNER_TEMP/clients/Scripts /python.exe")" -m pip install -r test/integ/http2-client-requirements.txt
191+ "$(cygpath -m "$RUNNER_TEMP/clients/bin /python.exe")" -m pip install -r test/integ/http2-client-requirements.txt
182192 - name : Complete native and installed TLS off/on proof
183193 run : /mingw64/bin/python scripts/run-v3-release-ci.py platform --selection "$RUNNER_TEMP/selected/selected.json" --archive "$RUNNER_TEMP/selected/"libhttpserver-*.tar.gz
184- --provider-prefix "$RUNNER_TEMP/prerequisites/provider" --client-python "$(cygpath -m "$RUNNER_TEMP/clients/Scripts /python.exe")"
194+ --provider-prefix "$RUNNER_TEMP/prerequisites/provider" --client-python "$(cygpath -m "$RUNNER_TEMP/clients/bin /python.exe")"
185195 --node node --output "$RUNNER_TEMP/platform" --toolchain-prefix "$(cygpath -m /mingw64)"
186196 - id : proof
187197 uses : actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02
@@ -231,7 +241,7 @@ jobs:
231241 release : ' 14.3'
232242 mem : 8192
233243 cpu : 2
234- prepare : pkg install -y bash autoconf automake libtool pkgconf python311 gmake curl binutils perl5 llvm git py311-pip py311-virtualenv
244+ prepare : pkg install -y bash autoconf automake libtool pkgconf python3 gmake curl binutils perl5 llvm git
235245 node24
236246 run : |-
237247 set -eu
@@ -252,11 +262,11 @@ jobs:
252262 export PATH="$RUNNER_TEMP/node/bin:$PATH"
253263 fi
254264 test "$(node --version)" = v24.15.0
255- python3.11 -c 'import subprocess; subprocess.run(["git","--version"],check=True)'
256- python3.11 scripts/prepare-v3-package-ci.py --output "$RUNNER_TEMP/prerequisites" --make gmake
257- python3.11 -m venv "$RUNNER_TEMP/clients"
265+ python3 -c 'import subprocess; subprocess.run(["git","--version"],check=True)'
266+ python3 scripts/prepare-v3-package-ci.py --output "$RUNNER_TEMP/prerequisites" --make gmake
267+ python3 -m venv "$RUNNER_TEMP/clients"
258268 "$RUNNER_TEMP/clients/bin/python" -m pip install -r test/integ/http2-client-requirements.txt
259- python3.11 scripts/run-v3-release-ci.py platform --selection build/ci-selected-input/selected.json --archive build/ci-selected-input/libhttpserver-*.tar.gz --provider-prefix "$RUNNER_TEMP/prerequisites/provider" --client-python "$RUNNER_TEMP/clients/bin/python" --node node --make gmake --pkg-config-dir /usr/local/share/pkgconfig --output "$RUNNER_TEMP/platform"
269+ python3 scripts/run-v3-release-ci.py platform --selection build/ci-selected-input/selected.json --archive build/ci-selected-input/libhttpserver-*.tar.gz --provider-prefix "$RUNNER_TEMP/prerequisites/provider" --client-python "$RUNNER_TEMP/clients/bin/python" --node node --make gmake --pkg-config-dir /usr/local/share/pkgconfig --output "$RUNNER_TEMP/platform"
260270 - id : proof
261271 uses : actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02
262272 with :
0 commit comments