Use regex to analyze wheel tags #425
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
name: CI | |
on: | |
push: | |
paths-ignore: | |
- '**.md' | |
- 'delayload/**' | |
- 'scripts/**' | |
pull_request: | |
workflow_dispatch: | |
env: | |
PIP_CACHE_DIR: ${{ github.workspace }}\pipcache | |
jobs: | |
build_windows: | |
runs-on: windows-2022 | |
steps: | |
- name: check out repository | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 2 | |
- name: download pip cache | |
uses: actions/cache@v4 | |
with: | |
key: pipcache-run-${{ github.run_number}} | |
restore-keys: pipcache-run- | |
path: ${{ env.PIP_CACHE_DIR }} | |
- name: set up Python 3.12 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.12' | |
- name: build and install | |
working-directory: ${{ github.workspace }} | |
run: | | |
pip install build | |
python -m build | |
pip install $(Get-ChildItem dist\delvewheel-*.whl) | |
if ((git diff-tree --no-commit-id --name-only -r ${{ github.sha }} | Out-String).Contains("delvewheel/_version.py`r`n")) { | |
echo VERSION_CHANGED=1 | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append | |
} | |
- name: upload build artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: delvewheel | |
path: ${{ github.workspace }}\dist\* | |
- name: run tests with Python 3.12 | |
working-directory: ${{ github.workspace }}\tests | |
run: | | |
pip install setuptools | |
python run_tests.py -v | |
- name: set up Python 3.7 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.7' | |
- name: run tests with Python 3.7 | |
working-directory: ${{ github.workspace }}\tests | |
run: | | |
pip install wheel | |
pip install $(Get-ChildItem ..\dist\delvewheel-*.whl) | |
python run_tests.py -v Python37TestCase | |
- name: set up PyPy3.10 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 'pypy3.10' | |
- name: run tests with PyPy3.10 | |
working-directory: ${{ github.workspace }}\tests | |
run: | | |
pip install wheel | |
pip install $(Get-ChildItem ..\dist\delvewheel-*.whl) | |
python run_tests.py -v PyPyTestCase | |
- name: set up Ubuntu 24.04 | |
uses: Vampire/setup-wsl@v3 | |
with: | |
distribution: Ubuntu-24.04 | |
additional-packages: python-is-python3 python3-pip python3-wheel python3-venv | |
- name: run tests on Ubuntu 24.04 | |
working-directory: ${{ github.workspace }}\tests | |
shell: wsl-bash {0} | |
run: | | |
export PIP_CACHE_DIR=$(wslpath '${{ env.PIP_CACHE_DIR }}') | |
python -m venv venv | |
source venv/bin/activate | |
pip install ../dist/delvewheel-*.whl | |
python run_tests.py -v LinuxTestCase | |
- name: deploy | |
if: env.VERSION_CHANGED == '1' && github.event_name == 'push' && github.ref == 'refs/heads/master' && github.repository_owner == 'adang1345' | |
working-directory: ${{ github.workspace }} | |
run: | | |
pip install twine | |
twine upload --skip-existing -u __token__ -p ${{ secrets.PYPI_TOKEN }} dist\* |