Skip to content

Merge branch 'main' into main #1

Merge branch 'main' into main

Merge branch 'main' into main #1

# Refer to the following link for help
# https://packaging.python.org/en/latest/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows/
name: TestPyPI Distributions
concurrency: build_and_publish_to_test_pypi
on:
push:
branches: [ main ]
jobs:
check-source-changes:
runs-on: ubuntu-latest
outputs:
run_job: ${{ steps.changed-files.outputs.any_changed }}
steps:
- name: Checkout Sourcecode
uses: actions/checkout@v4
- name: Check for changes in setup.py/cfg
id: changed-files
uses: tj-actions/[email protected]
with:
files: |
setup.py
setup.cfg
build_wheels:
name: Build wheels on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
needs: check-source-changes
if: needs.check-source-changes.outputs.run_job == 'true'
strategy:
matrix:
os: [ubuntu-latest, macos-14, macos-15]
steps:
- uses: actions/checkout@v4
- name: Set up Python 3.11
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install cibuildwheel
run: |
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
- name: Build wheels using cibuildwheel
uses: carlkidcrypto/[email protected]
with:
linux: python -m cibuildwheel --output-dir wheelhouse --platform linux;
macos: |
MACOS_VERSION=$(sw_vers -productVersion)
if [[ "$MACOS_VERSION" == "10.15."* ]]; then
sed -i '' 's/\(MACOSX_DEPLOYMENT_TARGET = "\)[^"]*"/\110.15"/' pyproject.toml
elif [[ "$MACOS_VERSION" == "11."* ]]; then
sed -i '' 's/\(MACOSX_DEPLOYMENT_TARGET = "\)[^"]*"/\111.0"/' pyproject.toml
elif [[ "$MACOS_VERSION" == "12."* ]]; then
sed -i '' 's/\(MACOSX_DEPLOYMENT_TARGET = "\)[^"]*"/\112.0"/' pyproject.toml
elif [[ "$MACOS_VERSION" == "13."* ]]; then
sed -i '' 's/\(MACOSX_DEPLOYMENT_TARGET = "\)[^"]*"/\113.0"/' pyproject.toml
elif [[ "$MACOS_VERSION" == "14."* ]]; then
sed -i '' 's/\(MACOSX_DEPLOYMENT_TARGET = "\)[^"]*"/\114.0"/' pyproject.toml
elif [[ "$MACOS_VERSION" == "15."* ]]; then
sed -i '' 's/\(MACOSX_DEPLOYMENT_TARGET = "\)[^"]*"/\115.0"/' pyproject.toml
else
sed -i '' 's/\(MACOSX_DEPLOYMENT_TARGET = "\)[^"]*"/\110.15"/' pyproject.toml
fi
python -m cibuildwheel --output-dir wheelhouse --platform macos;
- uses: actions/upload-artifact@v4
with:
name: cibw-wheels-${{ matrix.os }}-${{ strategy.job-index }}
path: wheelhouse/*.whl
build-n-publish-test-pypi:
name: Build and Publish To Test PyPi
runs-on: ubuntu-latest
needs: build_wheels
steps:
- uses: actions/checkout@v4
- name: Set up Python 3.11
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Set up dependencies
uses: carlkidcrypto/[email protected]
with:
linux: sudo apt-get update;
sudo apt-get install -y libsnmp-dev libperl-dev;
- name: Install pypa/build
run: >-
python -m
pip install
build
--user
- name: Build a source tarball
run: >-
python -m
build
--sdist
--outdir dist/
.
- name: Download Wheels
uses: actions/download-artifact@v4
with:
pattern: cibw-wheels-*
merge-multiple: true
path: dist/
- name: Publish distribution 📦 to Test PyPI
uses: pypa/gh-action-pypi-publish@release/v1.6
with:
skip_existing: true
print_hash: true
password: ${{ secrets.TEST_PYPI_API_TOKEN }}
repository_url: https://test.pypi.org/legacy/