Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 63600ba

Browse filesBrowse files
committed
ci: Remove Linux & macOS from Azure
After an audit of all CI, we don't believe we are gaining anything by duplicating GitHub Actions here.
1 parent d45f971 commit 63600ba
Copy full SHA for 63600ba

File tree

Expand file treeCollapse file tree

1 file changed

+60
-165
lines changed
Filter options
Expand file treeCollapse file tree

1 file changed

+60
-165
lines changed

‎azure-pipelines.yml

Copy file name to clipboardExpand all lines: azure-pipelines.yml
+60-165Lines changed: 60 additions & 165 deletions
Original file line numberDiff line numberDiff line change
@@ -49,18 +49,6 @@ stages:
4949
- job: Pytest
5050
strategy:
5151
matrix:
52-
Linux_py310:
53-
vmImage: 'ubuntu-20.04' # keep one job pinned to the oldest image
54-
python.version: '3.10'
55-
Linux_py311:
56-
vmImage: 'ubuntu-latest'
57-
python.version: '3.11'
58-
macOS_py310:
59-
vmImage: 'macOS-latest'
60-
python.version: '3.10'
61-
macOS_py311:
62-
vmImage: 'macOS-latest'
63-
python.version: '3.11'
6452
Windows_py310:
6553
vmImage: 'windows-2019' # keep one job pinned to the oldest image
6654
python.version: '3.10'
@@ -78,63 +66,7 @@ stages:
7866
displayName: 'Use Python $(python.version)'
7967

8068
- bash: |
81-
set -e
82-
case "$AGENT_OS" in
83-
Linux)
84-
echo 'Acquire::Retries "3";' | sudo tee /etc/apt/apt.conf.d/80-retries
85-
sudo apt update
86-
sudo apt install --no-install-recommends \
87-
cm-super \
88-
dvipng \
89-
ffmpeg \
90-
fonts-freefont-otf \
91-
fonts-noto-cjk \
92-
fonts-wqy-zenhei \
93-
gdb \
94-
gir1.2-gtk-3.0 \
95-
graphviz \
96-
inkscape \
97-
language-pack-de \
98-
lcov \
99-
libcairo2 \
100-
libgirepository-1.0-1 \
101-
lmodern \
102-
ninja-build \
103-
poppler-utils \
104-
texlive-fonts-recommended \
105-
texlive-latex-base \
106-
texlive-latex-extra \
107-
texlive-latex-recommended \
108-
texlive-luatex \
109-
texlive-pictures \
110-
texlive-xetex
111-
;;
112-
Darwin)
113-
brew update
114-
# Periodically, Homebrew updates Python and fails to overwrite the
115-
# existing not-managed-by-Homebrew copy without explicitly being told
116-
# to do so. GitHub/Azure continues to avoid fixing their runner images:
117-
# https://github.com/actions/runner-images/issues/9966
118-
# so force an overwrite even if there are no Python updates.
119-
# We don't even care about Homebrew's Python because we use the one
120-
# from UsePythonVersion.
121-
for python_package in $(brew list | grep python@); do
122-
brew unlink ${python_package}
123-
brew link --overwrite ${python_package}
124-
done
125-
# Workaround for https://github.com/actions/runner-images/issues/10984
126-
brew uninstall --ignore-dependencies --force pkg-config@0.29.2
127-
brew install --cask xquartz
128-
brew install ccache ffmpeg imagemagick mplayer ninja pkg-config
129-
brew install --cask font-noto-sans-cjk-sc
130-
;;
131-
Windows_NT)
132-
choco install ninja
133-
;;
134-
*)
135-
exit 1
136-
;;
137-
esac
69+
choco install ninja
13870
displayName: 'Install dependencies'
13971
14072
- bash: |
@@ -144,23 +76,9 @@ stages:
14476
displayName: 'Install dependencies with pip'
14577
14678
- bash: |
147-
case "$AGENT_OS" in
148-
Linux)
149-
export CPPFLAGS='--coverage -fprofile-abs-path'
150-
;;
151-
Darwin)
152-
export CPPFLAGS='-fprofile-instr-generate=default.%m.profraw'
153-
export CPPFLAGS="$CPPFLAGS -fcoverage-mapping"
154-
;;
155-
Windows_NT)
156-
CONFIG='--config-settings=setup-args=--vsenv'
157-
CONFIG="$CONFIG --config-settings=setup-args=-Dcpp_link_args=-PROFILE"
158-
CONFIG="$CONFIG --config-settings=setup-args=-Dbuildtype=debug"
159-
;;
160-
*)
161-
exit 1
162-
;;
163-
esac
79+
CONFIG='--config-settings=setup-args=--vsenv'
80+
CONFIG="$CONFIG --config-settings=setup-args=-Dcpp_link_args=-PROFILE"
81+
CONFIG="$CONFIG --config-settings=setup-args=-Dbuildtype=debug"
16482
16583
python -m pip install \
16684
--no-build-isolation $CONFIG \
@@ -175,39 +93,38 @@ stages:
17593

17694
- bash: |
17795
set -e
178-
if [[ "$AGENT_OS" == 'Windows_NT' ]]; then
179-
SESSION_ID=$(python -c "import uuid; print(uuid.uuid4(), end='')")
180-
echo "Coverage session ID: ${SESSION_ID}"
181-
VS=$(ls -d /c/Program\ Files*/Microsoft\ Visual\ Studio/*/Enterprise)
182-
echo "Visual Studio: ${VS}"
183-
DIR="$VS/Common7/IDE/Extensions/Microsoft/CodeCoverage.Console"
184-
if [[ -d $DIR ]]; then
185-
# This is for MSVC 2022 (on windows-latest).
186-
TOOL="$DIR/Microsoft.CodeCoverage.Console.exe"
187-
for f in build/cp*/src/*.pyd; do
188-
echo $f
189-
echo "=============================="
190-
"$TOOL" instrument $f --session-id $SESSION_ID \
191-
--log-level Verbose --log-file instrument.log
192-
cat instrument.log
193-
rm instrument.log
194-
done
195-
echo "Starting $TOOL in server mode"
196-
"$TOOL" collect \
197-
--session-id $SESSION_ID --server-mode \
198-
--output-format cobertura --output extensions.xml \
199-
--log-level Verbose --log-file extensions.log &
200-
VS_VER=2022
201-
else
202-
DIR="$VS"/Team\ Tools/Dynamic\ Code\ Coverage\ Tools/amd64
203-
if [[ -d $DIR ]]; then
204-
# This is for MSVC 2019 (on windows-2019).
205-
VSINSTR="$VS"/Team\ Tools/Performance\ Tools/vsinstr.exe
206-
for f in build/cp*/src/*.pyd; do
207-
"$VSINSTR" $f -Verbose -Coverage
208-
done
209-
TOOL="$DIR/CodeCoverage.exe"
210-
cat > extensions.config << EOF
96+
SESSION_ID=$(python -c "import uuid; print(uuid.uuid4(), end='')")
97+
echo "Coverage session ID: ${SESSION_ID}"
98+
VS=$(ls -d /c/Program\ Files*/Microsoft\ Visual\ Studio/*/Enterprise)
99+
echo "Visual Studio: ${VS}"
100+
DIR="$VS/Common7/IDE/Extensions/Microsoft/CodeCoverage.Console"
101+
if [[ -d $DIR ]]; then
102+
# This is for MSVC 2022 (on windows-latest).
103+
TOOL="$DIR/Microsoft.CodeCoverage.Console.exe"
104+
for f in build/cp*/src/*.pyd; do
105+
echo $f
106+
echo "=============================="
107+
"$TOOL" instrument $f --session-id $SESSION_ID \
108+
--log-level Verbose --log-file instrument.log
109+
cat instrument.log
110+
rm instrument.log
111+
done
112+
echo "Starting $TOOL in server mode"
113+
"$TOOL" collect \
114+
--session-id $SESSION_ID --server-mode \
115+
--output-format cobertura --output extensions.xml \
116+
--log-level Verbose --log-file extensions.log &
117+
VS_VER=2022
118+
else
119+
DIR="$VS"/Team\ Tools/Dynamic\ Code\ Coverage\ Tools/amd64
120+
if [[ -d $DIR ]]; then
121+
# This is for MSVC 2019 (on windows-2019).
122+
VSINSTR="$VS"/Team\ Tools/Performance\ Tools/vsinstr.exe
123+
for f in build/cp*/src/*.pyd; do
124+
"$VSINSTR" $f -Verbose -Coverage
125+
done
126+
TOOL="$DIR/CodeCoverage.exe"
127+
cat > extensions.config << EOF
211128
<CodeCoverage>
212129
<CollectFromChildProcesses>true</CollectFromChildProcesses>
213130
<ModulePaths>
@@ -217,60 +134,38 @@ stages:
217134
</ModulePaths>
218135
</CodeCoverage>
219136
EOF
220-
echo "Starting $TOOL in server mode"
221-
"$TOOL" collect \
222-
-config:extensions.config -session:$SESSION_ID \
223-
-output:extensions.coverage -verbose &
224-
echo "Started $TOOL"
225-
VS_VER=2019
226-
fi
227-
fi
228-
echo "##vso[task.setvariable variable=VS_COVERAGE_TOOL]$TOOL"
137+
echo "Starting $TOOL in server mode"
138+
"$TOOL" collect \
139+
-config:extensions.config -session:$SESSION_ID \
140+
-output:extensions.coverage -verbose &
141+
echo "Started $TOOL"
142+
VS_VER=2019
143+
fi
229144
fi
145+
echo "##vso[task.setvariable variable=VS_COVERAGE_TOOL]$TOOL"
146+
230147
PYTHONFAULTHANDLER=1 pytest -rfEsXR -n 2 \
231148
--maxfail=50 --timeout=300 --durations=25 \
232149
--junitxml=junit/test-results.xml --cov-report=xml --cov=lib
233-
if [[ -n $SESSION_ID ]]; then
234-
if [[ $VS_VER == 2022 ]]; then
235-
"$TOOL" shutdown $SESSION_ID
236-
echo "Coverage collection log"
237-
echo "======================="
238-
cat extensions.log
239-
else
240-
"$TOOL" shutdown -session:$SESSION_ID
241-
fi
150+
151+
if [[ $VS_VER == 2022 ]]; then
152+
"$TOOL" shutdown $SESSION_ID
153+
echo "Coverage collection log"
154+
echo "======================="
155+
cat extensions.log
156+
else
157+
"$TOOL" shutdown -session:$SESSION_ID
242158
fi
243159
displayName: 'pytest'
244160
245161
- bash: |
246-
case "$AGENT_OS" in
247-
Linux)
248-
lcov --rc lcov_branch_coverage=1 --capture --directory . \
249-
--output-file coverage.info
250-
lcov --rc lcov_branch_coverage=1 --output-file coverage.info \
251-
--extract coverage.info $PWD/src/'*' $PWD/lib/'*'
252-
lcov --rc lcov_branch_coverage=1 --list coverage.info
253-
find . -name '*.gc*' -delete
254-
;;
255-
Darwin)
256-
xcrun llvm-profdata merge -sparse default.*.profraw \
257-
-o default.profdata
258-
xcrun llvm-cov export -format="lcov" build/*/src/*.so \
259-
-instr-profile default.profdata > info.lcov
260-
;;
261-
Windows_NT)
262-
if [[ -f extensions.coverage ]]; then
263-
# For MSVC 2019.
264-
"$VS_COVERAGE_TOOL" analyze -output:extensions.xml \
265-
-include_skipped_functions -include_skipped_modules \
266-
extensions.coverage
267-
rm extensions.coverage
268-
fi
269-
;;
270-
*)
271-
exit 1
272-
;;
273-
esac
162+
if [[ -f extensions.coverage ]]; then
163+
# For MSVC 2019.
164+
"$VS_COVERAGE_TOOL" analyze -output:extensions.xml \
165+
-include_skipped_functions -include_skipped_modules \
166+
extensions.coverage
167+
rm extensions.coverage
168+
fi
274169
displayName: 'Filter C coverage'
275170
condition: succeededOrFailed()
276171
- bash: |

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.