diff --git a/.appveyor.yml b/.appveyor.yml deleted file mode 100644 index d8b202c..0000000 --- a/.appveyor.yml +++ /dev/null @@ -1,112 +0,0 @@ -image: Visual Studio 2015 - -environment: - global: - REPO_DIR: pybox2d - PACKAGE_NAME: Box2D - BUILD_COMMIT: 2.3.10 - BUILD_DEPENDS: "swig" - TEST_DEPENDS: "pytest" - CONDA_CHANNEL: conda-forge - - matrix: - - PYTHON: "C:\\Miniconda" - PYTHON_VERSION: "2.7" - PYTHON_ARCH: "32" - TEST_DEPENDS: "pytest==4.6" - - PYTHON: "C:\\Miniconda-x64" - PYTHON_VERSION: "2.7" - PYTHON_ARCH: "64" - TEST_DEPENDS: "pytest==4.6" - - PYTHON: "C:\\Miniconda35" - PYTHON_VERSION: "3.5" - PYTHON_ARCH: "32" - BUILD_DEPENDS: "swig wheel" - - PYTHON: "C:\\Miniconda35-x64" - PYTHON_VERSION: "3.5" - PYTHON_ARCH: "64" - BUILD_DEPENDS: "swig wheel" - - PYTHON: "C:\\Miniconda36" - PYTHON_VERSION: "3.6" - PYTHON_ARCH: "32" - - PYTHON: "C:\\Miniconda36-x64" - PYTHON_VERSION: "3.6" - PYTHON_ARCH: "64" - - PYTHON: "C:\\Miniconda37" - PYTHON_VERSION: "3.7" - PYTHON_ARCH: "32" - - PYTHON: "C:\\Miniconda37-x64" - PYTHON_VERSION: "3.7" - PYTHON_ARCH: "64" - - PYTHON: "C:\\Miniconda37" - PYTHON_VERSION: "3.8" - PYTHON_ARCH: "32" - - PYTHON: "C:\\Miniconda37-x64" - PYTHON_VERSION: "3.8" - PYTHON_ARCH: "64" - -# We always use a 64-bit machine, but can build x86 distributions -# with the TARGET_ARCH variable. -platform: - - x64 - -# matrix: -# fast_finish: true - -install: - # Install miniconda and fix headers - - SET PATH=%PYTHON%;%PYTHON%\Scripts;%PYTHON%\Library\bin;%PATH% - - conda info - - # Check that we have the expected version and architecture for Python - - python --version - - python -c "import struct; print(struct.calcsize('P') * 8)" - - - git clone --branch %BUILD_COMMIT% --recursive git://github.com/pybox2d/pybox2d.git pybox2d - -build_script: - # Install build requirements - - conda create --yes -c %CONDA_CHANNEL% -n build_env python=%PYTHON_VERSION% %BUILD_DEPENDS% - - activate build_env - - - which python - - python -m pip install --upgrade pip wheel setuptools - - # build wheel: - - cd %REPO_DIR% - - # sigh - - sed -i -e "s/sirkne at gmail dot com/sirkne@gmail.com/" setup.py - - - python setup.py build --force - - python setup.py bdist_wheel - - ls dist/* - -test_script: - # create test env - - conda create --yes -c %CONDA_CHANNEL% -n test_env python=%PYTHON_VERSION% - - activate test_env - - # some issues with conda dependencies - - pip install %TEST_DEPENDS% - - # install from wheel - - pip install --no-index --find-links dist/ %PACKAGE_NAME% - - # run tests from install wheel - - cd .. - - python -c "import Box2D; print('Imported Box2D successfully')" - - pytest -vv --pyargs Box2D.tests - -after_test: - - cmd: conda upgrade -y python - - IF "%APPVEYOR_REPO_BRANCH%" == "master" ( - python -m pip install twine && - set HOME=%USERPROFILE% && - python -m twine upload --verbose pybox2d\dist\*.whl --repository-url https://upload.pypi.org/legacy/ -u %PYPI_USERNAME% -p %PYPI_PASSWORD% - ) ELSE ( - echo Wrong branch - not pushing to PyPI - ) - -artifacts: - - path: pybox2d\dist\* diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml new file mode 100644 index 0000000..81ad2a8 --- /dev/null +++ b/.github/workflows/wheels.yml @@ -0,0 +1,38 @@ +name: Build + +on: [push, pull_request] + +jobs: + build_wheels: + name: Build wheels on ${{ matrix.os }} + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-latest, windows-latest, macos-13, macos-latest] + + steps: + - uses: actions/checkout@v4 + + - uses: actions/checkout@v4 + with: + repository: pybox2d/pybox2d + ref: 2.3.10 + path: pybox2d + + # Used to host cibuildwheel + - uses: actions/setup-python@v5 + + - name: Install cibuildwheel + run: python -m pip install cibuildwheel==2.22.0 + + - name: Build wheels + run: python -m cibuildwheel --output-dir wheelhouse + working-directory: pybox2d + # to supply options, put them in 'env', like: + # env: + # CIBW_SOME_OPTION: value + + - uses: actions/upload-artifact@v4 + with: + name: cibw-wheels-${{ matrix.os }}-${{ strategy.job-index }} + path: ./wheelhouse/*.whl diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 9a9c2f7..0000000 --- a/.travis.yml +++ /dev/null @@ -1,151 +0,0 @@ -env: - global: - - REPO_DIR=pybox2d - # Commit from your-project that you want to build - - BUILD_COMMIT=2.3.10 - # pip dependencies to _build_ your project - - BUILD_DEPENDS="" - # pip dependencies to _test_ your project. Include any dependencies - # that you need, that are also specified in BUILD_DEPENDS, this will be - # a separate install. - - TEST_DEPENDS="pytest" - - UNICODE_WIDTH=32 - - secure: "AQqNHDjCsrgPktnfWpQ8SdTVHJEApG/nbUzj62rIu1//mGZ8QTPrZsoiPEK9xHEBGLYKQN6DhtXxN3J9CsBopRjHU/MUdv371R0HLyxmfdhZvAlmNoqMHGriXpbSKImwhRIzBaGo5rISWF51tloUyc6isLUbobcnGraTZoTEv67/ETkQ+adkBgJT2pETXNuF5JBnaM92tvktAxaS1tQRlhqdH+6VAQdj6SjlK01iCec6MPjA8yhj4obltVm4Xt9aZcg/CBonYCc5EfJ5AXuE6AkqLYwnUQVhTUi/diO0TgUy3H/07d4h90hGy/LWwbZg6X7OgWSAEoLv3btsrPSQcqXarngt5+btVKvXLpa2JQUeF2gDwpk9d3+DxSOfsW37WPatOnWhZgKNPnOUuoQJ5tvlTagCSWCPUB5CptMZpTqR2PprZrLMyvVViz+ji0kztkLq7KntznUjdV9zaqNO8LfCm2YhXtCZQMAWum/qYMZW1UkKkIRimzaUH0Jzib45IMU6hS9gaXuyOXD3uSlnFBOGSl7YH39auh0JxWp4B+lalg0wtAogZHyPM+8wvFFoL6jKTHzaBVwCU8hic3FP4ZqxJ2QKAQJxjQXdclZTle0m6zYvwq6NKS0/O1AWWyX/vTgeWlP7fSNHmfyai6JXKYSTNPyQ2dyxK/eFvZalTL4=" - -language: generic - -# For CPython macOS builds only, the minimum supported macOS version and -# architectures of any C extensions in the wheel are set with the variable -# MB_PYTHON_OSX_VER: 10.9 (64-bit only) or 10.6 (64/32-bit dual arch). By -# default this is set to the highest available for the Python version selected -# using MB_PYTHON_VERSION. You should only need to set this explicitly if you -# are building a 10.6 dual-arch build for a CPython version where both a 10.9 and -# 10.6 build are available (for example, 2.7 or 3.7). -# All PyPy macOS builds are 64-bit only. - -# Required in Linux to invoke `docker` ourselves -services: docker - -# Host distribution. This is the distribution from which we run the build -# and test containers, via docker. -dist: xenial - -matrix: - include: - - os: osx - env: - - MB_PYTHON_VERSION=3.5 - - os: osx - env: - - MB_PYTHON_VERSION=3.6 - - os: osx - env: - - MB_PYTHON_VERSION=3.7 - - os: osx - env: - - MB_PYTHON_VERSION=3.8 - - os: osx - language: generic - env: - - MB_PYTHON_VERSION=pypy-7.3 - - PLAT=darwin - - os: osx - language: generic - env: - - MB_PYTHON_VERSION=pypy3-7.3 - - PLAT=darwin - - os: osx - env: - - MB_PYTHON_VERSION=2.7 - - MB_PYTHON_OSX_VER=10.6 - - TEST_DEPENDS="pytest==4.6" - - os: osx - env: - - MB_PYTHON_VERSION=2.7 - - TEST_DEPENDS="pytest==4.6" - - - os: linux - env: - - MB_PYTHON_VERSION=3.5 - - os: linux - env: - - MB_PYTHON_VERSION=3.5 - - PLAT=i686 - - os: linux - env: - - MB_PYTHON_VERSION=3.6 - - os: linux - env: - - MB_PYTHON_VERSION=3.6 - - PLAT=i686 - - os: linux - env: - - MB_PYTHON_VERSION=3.7 - - os: linux - env: - - MB_PYTHON_VERSION=3.7 - - PLAT=i686 - - os: linux - env: - - MB_PYTHON_VERSION=3.8 - - os: linux - env: - - MB_PYTHON_VERSION=3.8 - - PLAT=i686 - - os: linux - env: - - MB_PYTHON_VERSION=pypy-7.3 - - os: linux - env: - - MB_PYTHON_VERSION=pypy3-7.3 - - os: linux - env: - - MB_PYTHON_VERSION=2.7 - - TEST_DEPENDS="pytest==4.6" - - os: linux - env: - - MB_PYTHON_VERSION=2.7 - - UNICODE_WIDTH=16 - - TEST_DEPENDS="pytest==4.6" - - os: linux - env: - - MB_PYTHON_VERSION=2.7 - - PLAT=i686 - - TEST_DEPENDS="pytest==4.6" - - os: linux - env: - - MB_PYTHON_VERSION=2.7 - - PLAT=i686 - - UNICODE_WIDTH=16 - - TEST_DEPENDS="pytest==4.6" - -before_install: - - source multibuild/common_utils.sh - - source multibuild/travis_steps.sh - - before_install - -install: - # Maybe get and clean and patch source - - clean_code $REPO_DIR $BUILD_COMMIT - - find $TRAVIS_BUILD_DIR - - build_wheel $REPO_DIR $PLAT - -script: - - install_run $PLAT - -after_success: - - if [ "$TRAVIS_OS_NAME" = "osx" ]; then wget https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh -O miniconda.sh; fi - - if [ "$TRAVIS_OS_NAME" = "linux" ]; then wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh; fi - - bash miniconda.sh -b -p $HOME/miniconda - - source "$HOME/miniconda/etc/profile.d/conda.sh" - - hash -r && conda activate base - - pip install twine - # List the wheels - - ls $TRAVIS_BUILD_DIR/wheelhouse/*.whl - - - > - if [ "$TRAVIS_BRANCH" == "master" ]; then - twine upload --verbose --skip-existing $TRAVIS_BUILD_DIR/wheelhouse/*.whl --repository-url https://upload.pypi.org/legacy/ -u __token__ -p $PYPI_PASSWORD; - else - echo "Not deploying until on master branch ($TRAVIS_BRANCH)"; - fi diff --git a/multibuild b/multibuild deleted file mode 160000 index da36cd5..0000000 --- a/multibuild +++ /dev/null @@ -1 +0,0 @@ -Subproject commit da36cd5408e03cad504217de4a21bb8f19f2fb2f