-
-
Notifications
You must be signed in to change notification settings - Fork 254
/
azure-pipelines.yml
96 lines (83 loc) · 3.04 KB
/
azure-pipelines.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
# Copyright (c) 2019 Abhishek Thakur(@abhiTronix) <abhi.una12@gmail.com>
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# specific path build
trigger:
branches:
include:
- testing
paths:
exclude:
- docs/**/*
- README.md
- mkdocs.yml
- "**/*.md"
- "**/*.html"
- "**/*.js"
- "**/*.css"
pr:
- testing
pool:
vmImage: "macOS-latest"
strategy:
matrix:
Python38:
python.version: "3.8"
Python39:
python.version: "3.9"
Python310:
python.version: "3.10"
Python311:
python.version: "3.11"
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: "$(python.version)"
displayName: "Using Python $(python.version)"
- bash: |
brew install swig
brew install ffmpeg
brew reinstall openssl
brew install unzip
brew install dos2unix
brew install coreutils
dos2unix scripts/bash/prepare_dataset.sh
chmod +x scripts/bash/prepare_dataset.sh
displayName: "Install brew dependencies"
- bash: |
bash scripts/bash/prepare_dataset.sh
displayName: "Prepare dataset"
- script: |
python -m pip install -U pip wheel
python -m pip install "numpy<2.0.0"
python -m pip install -U .[asyncio] yt_dlp httpx six paramiko
python -m pip install -U codecov pytest pytest-asyncio pytest-cov mpegdash m3u8 async-asgi-testclient
python -m pip install -U deffcode
displayName: "Install pip dependencies"
- script: |
timeout 1500 pytest --verbose --cov=vidgear --cov-report=xml --cov-report=html --cov-report term-missing vidgear/tests/ || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; else echo "##vso[task.setvariable variable=exit_code]$code"; fi
displayName: "pytest"
- bash: |
echo "Exit Code was: $(exit_code)"
curl https://keybase.io/codecovsecurity/pgp_keys.asc | gpg --no-default-keyring --keyring trustedkeys.gpg --import
curl -Os https://uploader.codecov.io/latest/macos/codecov
curl -Os https://uploader.codecov.io/latest/macos/codecov.SHA256SUM
curl -Os https://uploader.codecov.io/latest/macos/codecov.SHA256SUM.sig
gpgv codecov.SHA256SUM.sig codecov.SHA256SUM
shasum -a 256 -c codecov.SHA256SUM
chmod +x codecov
if [ "$(exit_code)" != "124" ]; then
./codecov -t $CODECOV_TOKEN -f coverage.xml -C $(Build.SourceVersion) -B $(Build.SourceBranch) -b $(Build.BuildNumber);
else
echo "Timeout test - Skipped Codecov!";
fi
env:
CODECOV_TOKEN: $(TOKEN)
displayName: Upload coverage to CodeCov