1
1
environment :
2
2
LINUX_IMAGE : &linux_image Ubuntu2204
3
- MACOS_IMAGE : &macos_image macos-catalina
3
+ MACOS_IMAGE : &macos_image macos-monterey
4
4
WINDOWS_IMAGE : &windows_image Visual Studio 2022
5
- LIBZEN_VERSION : 0.4.41
6
5
MEDIAINFO_VERSION : 24.11
7
- UBUNTU_VERSION : 22.04
6
+ # Python 3.13 is not available everywhere yet, see https://github.com/appveyor/ci/issues/3927
7
+ # Because of this, we can only deploy on 3.12
8
8
QA_PYTHON_VERSION : 3.12
9
- # Python 3.12 is not available everywhere yet, see https://github.com/appveyor/ci/issues/3879
10
- # Because of this, we can only deploy on 3.11
11
- DEPLOY_TOXENV : py311
9
+ DEPLOY_TOXENV : py312
12
10
PYPY_URL : https://downloads.python.org/pypy/pypy3.10-v7.3.13-linux64.tar.bz2
13
11
# Work around https://github.com/tox-dev/tox/issues/1550
14
12
PYTHONIOENCODING : utf-8
@@ -21,10 +19,6 @@ environment:
21
19
APPVEYOR_BUILD_WORKER_IMAGE : *linux_image
22
20
- TOXENV : pypy3
23
21
APPVEYOR_BUILD_WORKER_IMAGE : *linux_image
24
- - TOXENV : py37
25
- APPVEYOR_BUILD_WORKER_IMAGE : *linux_image
26
- - TOXENV : py38
27
- APPVEYOR_BUILD_WORKER_IMAGE : *linux_image
28
22
- TOXENV : py39
29
23
APPVEYOR_BUILD_WORKER_IMAGE : *linux_image
30
24
- TOXENV : py310
@@ -33,26 +27,16 @@ environment:
33
27
APPVEYOR_BUILD_WORKER_IMAGE : *linux_image
34
28
- TOXENV : py312
35
29
APPVEYOR_BUILD_WORKER_IMAGE : *linux_image
36
- - TOXENV : py38
37
- APPVEYOR_BUILD_WORKER_IMAGE : *macos_image
30
+ - TOXENV : py313
31
+ APPVEYOR_BUILD_WORKER_IMAGE : *linux_image
38
32
- TOXENV : py39
39
33
APPVEYOR_BUILD_WORKER_IMAGE : *macos_image
40
34
- TOXENV : py310
41
35
APPVEYOR_BUILD_WORKER_IMAGE : *macos_image
42
36
- TOXENV : py311
43
37
APPVEYOR_BUILD_WORKER_IMAGE : *macos_image
44
- - TOXENV : py37
45
- PYTHON : " C:/Python37"
46
- APPVEYOR_BUILD_WORKER_IMAGE : *windows_image
47
- - TOXENV : py37
48
- PYTHON : " C:/Python37-x64"
49
- APPVEYOR_BUILD_WORKER_IMAGE : *windows_image
50
- - TOXENV : py38
51
- PYTHON : " C:/Python38"
52
- APPVEYOR_BUILD_WORKER_IMAGE : *windows_image
53
- - TOXENV : py38
54
- PYTHON : " C:/Python38-x64"
55
- APPVEYOR_BUILD_WORKER_IMAGE : *windows_image
38
+ - TOXENV : py312
39
+ APPVEYOR_BUILD_WORKER_IMAGE : *macos_image
56
40
- TOXENV : py39
57
41
PYTHON : " C:/Python39"
58
42
APPVEYOR_BUILD_WORKER_IMAGE : *windows_image
@@ -77,6 +61,12 @@ environment:
77
61
- TOXENV : py312
78
62
PYTHON : " C:/Python312-x64"
79
63
APPVEYOR_BUILD_WORKER_IMAGE : *windows_image
64
+ - TOXENV : py313
65
+ PYTHON : " C:/Python313"
66
+ APPVEYOR_BUILD_WORKER_IMAGE : *windows_image
67
+ - TOXENV : py313
68
+ PYTHON : " C:/Python313-x64"
69
+ APPVEYOR_BUILD_WORKER_IMAGE : *windows_image
80
70
for :
81
71
-
82
72
matrix :
86
76
- " SET PATH=%PYTHON%;%PYTHON%/Scripts;%PATH%"
87
77
- " python --version"
88
78
- " IF %PYTHON:~-4% == -x64 (SET ARCH=x64) ELSE (SET ARCH=i386)"
79
+ - " IF %PYTHON:~-4% == -x64 (SET PLATFORM_WHEEL=win_amd64) ELSE (SET PLATFORM_WHEEL=win32)"
89
80
- ps : " Start-FileDownload https://mediaarea.net/download/binary/mediainfo/${Env:MEDIAINFO_VERSION}/MediaInfo_CLI_${Env:MEDIAINFO_VERSION}_Windows_${Env:ARCH}.zip"
90
81
- ps : " unzip -o MediaInfo_CLI_${Env:MEDIAINFO_VERSION}_Windows_${Env:ARCH}.zip LIBCURL.DLL"
91
82
- ps : " Start-FileDownload https://mediaarea.net/download/binary/libmediainfo0/${Env:MEDIAINFO_VERSION}/MediaInfo_DLL_${Env:MEDIAINFO_VERSION}_Windows_${Env:ARCH}_WithoutInstaller.7z"
101
92
deploy_script :
102
93
- ps : |
103
94
If (($env:APPVEYOR_REPO_TAG -eq "true") -and ($env:TOXENV -eq $env:DEPLOY_TOXENV)) {
104
- pip install twine wheel
105
- python setup.py bdist_wheel
95
+ pip install twine wheel pdm
96
+ pdm build --no-sdist
97
+ wheel tags --remove --platform-tag=${Env:PLATFORM_WHEEL} dist/*-py3-none-any.whl
106
98
Invoke-Expression "twine upload --skip-existing dist/*.whl"
107
99
}
108
100
-
126
118
if [[ $APPVEYOR_REPO_TAG == "true" && $TOXENV == $DEPLOY_TOXENV ]]; then
127
119
mv MediaInfoLib/libmediainfo.0.dylib pymediainfo
128
120
mv MediaInfoLib/License.html docs
129
- pip install twine wheel
130
- python setup.py bdist_wheel
121
+ pip install twine wheel pdm
122
+ pdm build --no-sdist
123
+ wheel tags --remove --platform-tag=macosx-10.10-x86_64-macosx-11-universal2 dist/*-py3-none-any.whl
131
124
twine upload --skip-existing dist/*.whl
132
125
fi
133
126
-
@@ -152,28 +145,40 @@ for:
152
145
fi
153
146
# "python -m pip" will work with the unpacked PyPy too, "pip" won't
154
147
python -m pip install tox
155
- pushd /tmp
156
- libzen_deb=libzen0v5_${LIBZEN_VERSION}-1_amd64.xUbuntu_${UBUNTU_VERSION}.deb
157
- mediainfo_deb=libmediainfo0v5_${MEDIAINFO_VERSION}-1_amd64.xUbuntu_${UBUNTU_VERSION}.deb
158
- curl -O "https://mediaarea.net/download/binary/libzen0/${LIBZEN_VERSION}/${libzen_deb}"
159
- curl -O "https://mediaarea.net/download/binary/libmediainfo0/${MEDIAINFO_VERSION}/${mediainfo_deb}"
160
- sudo apt-get -y install libmms0
161
- sudo dpkg -i "${libzen_deb}" "${mediainfo_deb}"
162
- popd
148
+ curl -O https://mediaarea.net/download/binary/libmediainfo0/${MEDIAINFO_VERSION}/MediaInfo_DLL_${MEDIAINFO_VERSION}_Lambda_x86_64.zip
149
+ unzip MediaInfo_DLL_${MEDIAINFO_VERSION}_Lambda_x86_64.zip -d x86_64
150
+ curl -O https://mediaarea.net/download/binary/libmediainfo0/${MEDIAINFO_VERSION}/MediaInfo_DLL_${MEDIAINFO_VERSION}_Lambda_arm64.zip
151
+ unzip MediaInfo_DLL_${MEDIAINFO_VERSION}_Lambda_arm64.zip -d arm64
163
152
fi
164
153
build : off
165
154
test_script : |
166
155
if [[ $TOXENV =~ doc.* ]]; then
167
156
tox -p
168
157
else
158
+ # Use the previously downloaded library
159
+ export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:x86_64/lib/"
169
160
# We want to see the progression of the tests so we can't run
170
161
# tox environments in parallel
171
162
tox
172
163
fi
173
164
deploy_script : |
174
165
set -eo pipefail
175
166
if [[ $APPVEYOR_REPO_TAG == "true" && $TOXENV == $DEPLOY_TOXENV ]]; then
176
- pip install twine
177
- python setup.py sdist
178
- twine upload --skip-existing dist/*.gz
167
+ pip install twine wheel pdm
168
+ # source distribution
169
+ pdm build --no-wheel
170
+
171
+ # wheels
172
+ mv x86_64/LICENSE docs
173
+ # wheel x86_64
174
+ cp x86_64/lib/libmediainfo.so.0 pymediainfo/libmediainfo.so.0
175
+ pdm build --no-sdist
176
+ wheel tags --remove --platform-tag=manylinux_2_34-x86_64 dist/*-py3-none-any.whl
177
+ # wheel arm64
178
+ mv -f arm64/lib/libmediainfo.so.0 pymediainfo/libmediainfo.so.0
179
+ pdm build --no-sdist
180
+ wheel tags --remove --platform-tag=manylinux_2_34-arm64 dist/*-py3-none-any.whl
181
+
182
+ # upload
183
+ twine upload --skip-existing dist/*.gz dist/*.whl
179
184
fi
0 commit comments