forked from wxWidgets/Phoenix
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Configure for release as wxPythonMeticy: (1) Internal renaming -- exc…
…ept for version. (2) Add a github action to publish release artifacts to wxPythonMeticy package in pypi every time a release is updated or edited in github. (3) Configure azure builds and release to PyPI
- Loading branch information
Showing
10 changed files
with
362 additions
and
46 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,83 @@ | ||
jobs: | ||
- job: Linux_CI | ||
timeoutInMinutes: 90 | ||
displayName: 'Linux CI' | ||
pool: | ||
vmImage: 'ubuntu-22.04' | ||
strategy: | ||
matrix: | ||
Py311: | ||
python.version: '3.11' | ||
Py312: | ||
python.version: '3.12' | ||
|
||
variables: | ||
PYTHONUNBUFFERED: '1' | ||
CCACHE_DIR: $(Pipeline.Workspace)/ccache | ||
|
||
steps: | ||
- checkout: self | ||
submodules: recursive | ||
|
||
- task: UsePythonVersion@0 | ||
inputs: | ||
versionSpec: '$(python.version)' | ||
|
||
- script: | | ||
sudo apt-get update -y | ||
sudo apt-get install -y build-essential ccache | ||
sudo apt-get remove libunwind-* # Required to install libgstreamer | ||
sudo apt-get install -y libgtk-3-dev libjpeg-dev libtiff-dev \ | ||
libsdl2-dev libgstreamer-plugins-base1.0-dev libnotify-dev \ | ||
libsm-dev libwebkit2gtk-4.0-dev libxtst-dev libexpat1-dev \ | ||
libgl1-mesa-dev libglu1-mesa-dev libcurl4-openssl-dev \ | ||
libgstreamer-plugins-bad1.0-dev | ||
echo "##vso[task.prependpath]/usr/lib/ccache" | ||
displayName: 'Install deb package requirements & setup ccache' | ||
- task: Cache@2 | ||
inputs: | ||
key: 'ccache | "$(Agent.OS)" | "$(python.version)" | "$(Build.BuildNumber)"' | ||
path: $(CCACHE_DIR) | ||
restoreKeys: | | ||
ccache | "$(Agent.OS)" | "$(python.version)" | ||
displayName: ccache | ||
|
||
- script: | | ||
python -m pip install -U pip setuptools wheel auditwheel | ||
python -m pip install -r requirements.txt | ||
displayName: 'Install Python dependencies' | ||
- script: | | ||
python build.py --jobs=4 build_wx | ||
displayName: 'build wxWidgets' | ||
- script: | | ||
python build.py dox etg --nodoc sip | ||
displayName: 'generate code' | ||
- script: | | ||
python build.py --jobs=4 build_py | ||
displayName: 'build wxPython' | ||
- script: | | ||
python build.py bdist_wheel | ||
displayName: 'build platform specific wheel' | ||
- script: | | ||
auditwheel repair --plat manylinux_2_35_x86_64 --only-plat -w dist dist/wxPythonMeticy-*.whl | ||
displayName: 'build manylinux' | ||
- script: | | ||
python -m pip install dist/wxPythonMeticy-*manylinux*.whl | ||
python -c "import wx; print(f'Successfully tested importing wx version {wx.version()}');" | ||
displayName: 'test install' | ||
- task: TwineAuthenticate@1 | ||
inputs: | ||
artifactFeed: wxPythonMeticy/release_artifacts | ||
displayName: 'Twine Authenticate' | ||
|
||
- script: | | ||
python -m twine upload -r release_artifacts --config-file $(PYPIRC_PATH) dist/wxPythonMeticy-*manylinux* | ||
displayName: 'Upload to feed' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,70 @@ | ||
jobs: | ||
- job: MacOS_CI | ||
timeoutInMinutes: 120 | ||
displayName: 'MacOS CI' | ||
pool: | ||
vmImage: 'macOS-12' | ||
strategy: | ||
matrix: | ||
Py311: | ||
python.version: '3.11' | ||
Py312: | ||
python.version: '3.12' | ||
|
||
variables: | ||
PYTHONUNBUFFERED: '1' | ||
CCACHE_DIR: $(Pipeline.Workspace)/ccache | ||
|
||
steps: | ||
- checkout: self | ||
submodules: recursive | ||
|
||
- task: UsePythonVersion@0 | ||
inputs: | ||
versionSpec: '$(python.version)' | ||
|
||
- script: | | ||
brew install ccache | ||
echo "##vso[task.prependpath]/usr/local/opt/ccache/libexec" | ||
displayName: 'Install brew package requirements & setup ccache' | ||
- task: Cache@2 | ||
inputs: | ||
key: 'ccache | "$(Agent.OS)" | "$(python.version)" | "$(Build.BuildNumber)"' | ||
path: $(CCACHE_DIR) | ||
restoreKeys: | | ||
ccache | "$(Agent.OS)" | "$(python.version)" | ||
displayName: ccache | ||
|
||
- script: | | ||
python -m pip install -U setuptools wheel | ||
python -m pip install -r requirements.txt | ||
displayName: 'Install Python dependencies' | ||
- script: | | ||
xcode-select --print-path | ||
python build.py --jobs=4 build_wx | ||
displayName: 'build wxWidgets' | ||
- script: | | ||
python build.py dox etg --nodoc sip | ||
displayName: 'generate code' | ||
- script: | | ||
python build.py --jobs=4 build_py | ||
displayName: 'build wxPython' | ||
- script: | | ||
python build.py bdist_wheel | ||
python -m pip install dist/wxPythonMeticy-*.whl | ||
python -c "import wx; print(f'Successfully tested importing wx version {wx.version()}');" | ||
displayName: 'build wheel and test install' | ||
- task: TwineAuthenticate@1 | ||
inputs: | ||
artifactFeed: wxPythonMeticy/release_artifacts | ||
displayName: 'Twine Authenticate' | ||
|
||
- script: | | ||
python -m twine upload -r release_artifacts --config-file $(PYPIRC_PATH) dist/* | ||
displayName: 'Upload to feed' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,89 @@ | ||
jobs: | ||
- job: Windows_CI | ||
timeoutInMinutes: 90 | ||
displayName: 'Windows CI' | ||
pool: | ||
vmImage: 'windows-2022' | ||
strategy: | ||
matrix: | ||
Py311_x86: | ||
python.version: '3.11' | ||
python.arch: x86 | ||
addToPath: true | ||
Py312_x86: | ||
python.version: '3.12' | ||
python.arch: x86 | ||
addToPath: true | ||
|
||
Py311_x64: | ||
python.version: '3.11' | ||
python.arch: x64 | ||
addToPath: true | ||
Py312_x64: | ||
python.version: '3.12' | ||
python.arch: x64 | ||
addToPath: true | ||
|
||
|
||
variables: {'PYTHONUNBUFFERED': '1'} | ||
|
||
steps: | ||
- checkout: self | ||
submodules: recursive | ||
|
||
- task: UsePythonVersion@0 | ||
inputs: | ||
versionSpec: '$(python.version)' | ||
architecture: '$(python.arch)' | ||
|
||
- bash: | | ||
which python | ||
python -c "import sys; print(sys.version); print(sys.prefix)" | ||
# check what Pythons are available | ||
ls -al /c/hostedtoolcache/windows/Python | ||
displayName: 'Check Python' | ||
- bash: | | ||
curl -O https://bootstrap.pypa.io/get-pip.py | ||
python get-pip.py | ||
python -m pip install -U setuptools wheel | ||
python -m pip install --prefer-binary -r requirements.txt | ||
displayName: 'Install Python dependencies' | ||
- bash: | | ||
rm C:/Program\ Files/Microsoft\ Visual\ Studio/2022/Enterprise/VC/Auxiliary/Build/Microsoft.VCToolsVersion.v143.default.* | ||
displayName: 'Remove extra MSVC version' | ||
- task: BatchScript@1 | ||
displayName: 'Set up vcvarsall' | ||
inputs: | ||
filename: 'C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat' | ||
arguments: $(python.arch) | ||
modifyEnvironment: true | ||
|
||
- bash: | | ||
python build.py --jobs=4 build_wx | ||
displayName: 'build wxWidgets' | ||
- bash: | | ||
python build.py dox etg --nodoc sip | ||
displayName: 'generate code' | ||
- bash: | | ||
python build.py --jobs=4 build_py | ||
displayName: 'build wxPython' | ||
- bash: | | ||
python build.py bdist_wheel | ||
python -m pip install dist/wxPythonMeticy-*.whl | ||
python -c "import wx; print(f'Successfully tested importing wx version {wx.version()}');" | ||
displayName: 'build wheel and test install' | ||
- task: TwineAuthenticate@1 | ||
inputs: | ||
artifactFeed: wxPythonMeticy/release_artifacts | ||
displayName: 'Twine Authenticate' | ||
|
||
- script: | | ||
python -m twine upload -r release_artifacts --config-file $(PYPIRC_PATH) dist/* | ||
displayName: 'Upload to feed' |
Oops, something went wrong.