From 5af6000106a9194a86cee83b650ff73ebd290891 Mon Sep 17 00:00:00 2001 From: Parth Nobel Date: Sat, 17 Aug 2024 15:37:33 -0700 Subject: [PATCH] Work on github CI --- .github/workflows/build.yml | 79 +++++++------------------------------ 1 file changed, 14 insertions(+), 65 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 12fa1b5..55e8144 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -24,8 +24,8 @@ jobs: strategy: fail-fast: false matrix: - os: [ ubuntu-20.04, macos-12, windows-2022 ] - python-version: [ 3.8, 3.9, "3.10", "3.11" ] + os: [ ubuntu-24.04, macos-12, windows-2022 ] + python-version: [ 3.9, "3.10", "3.11", "3.12" ] env: PYTHON_VERSION: ${{ matrix.python-version }} @@ -40,15 +40,6 @@ jobs: - name: Install # scipy and numpy versions are chosen to match cvxpy run: | - if [[ "$PYTHON_VERSION" == "3.8" ]]; then - conda install scipy=1.5 numpy=1.17 mkl scs pytest pip - elif [[ "$PYTHON_VERSION" == "3.9" ]]; then - conda install scipy=1.5 numpy=1.19 mkl scs pytest pip - elif [[ "$PYTHON_VERSION" == "3.10" ]]; then - conda install scipy=1.7 numpy=1.21 mkl scs pytest pip - elif [[ "$PYTHON_VERSION" == "3.11" ]]; then - conda install scipy=1.9.3 numpy=1.23.4 mkl scs pytest pip - fi pip install cvxpy python -m pip install . @@ -64,65 +55,23 @@ jobs: strategy: fail-fast: false matrix: - os: [ ubuntu-20.04, macos-12, windows-2022 ] - python-version: [ 3.8, 3.9, "3.10", "3.11" ] - include: - - os: ubuntu-20.04 - python-version: 3.8 - single_action_config: "True" - - os: macos-12 - python-version: 3.8 - - os: windows-2019 - python-version: 3.8 - - env: - RUNNER_OS: ${{ matrix.os }} - PYTHON_VERSION: ${{ matrix.python-version }} - SINGLE_ACTION_CONFIG: "${{ matrix.single_action_config == 'True' }}" - PYPI_SERVER: ${{ secrets.PYPI_SERVER }} - PYPI_USER: ${{ secrets.PYPI_USER }} - PYPI_PASSWORD: ${{ secrets.PYPI_PASSWORD }} + os: [ ubuntu-24.04, macos-12, windows-2022 ] + python-version: [ 3.9, "3.10", "3.11", "3.12" ] steps: - - uses: actions/checkout@v4 - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - - name: Set Additional Envs - shell: bash - run: | - echo "PYTHON_SUBVERSION=$(echo $PYTHON_VERSION | cut -c 3-)" >> $GITHUB_ENV - echo "DEPLOY_PYPI_SOURCE=$( [[ $PYTHON_VERSION == 3.8 && $RUNNER_OS == 'macOS' ]] && echo 'True' || echo 'False' )" >> $GITHUB_ENV - echo "DEPLOY=$( [[ $GITHUB_EVENT_NAME == 'push' && $GITHUB_REF == 'refs/tags'* ]] && echo 'True' || echo 'False' )" >> $GITHUB_ENV - - - name: Build wheels - env: - CIBW_BUILD: "cp3${{env.PYTHON_SUBVERSION}}-*" - CIBW_SKIP: "*-win32 *-manylinux_i686 *-musllinux*" - CIBW_ARCHS_MACOS: x86_64 universal2 - CIBW_ARCHS_LINUX: auto aarch64 - uses: pypa/cibuildwheel@v2.16.2 - - - name: Build source - if: ${{env.DEPLOY_PYPI_SOURCE == 'True'}} - run: | - python setup.py sdist --dist-dir=wheelhouse - - - name: Check wheels - shell: bash - run: | - python -m pip install --upgrade twine - twine check wheelhouse/* - - - name: Release to pypi - if: ${{env.DEPLOY == 'True'}} - shell: bash + - uses: actions/checkout@v4 + - name: build + if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags') run: | - twine upload --skip-existing --repository-url $PYPI_SERVER wheelhouse/* -u $PYPI_USER -p $PYPI_PASSWORD + pip install --upgrade build + python -m build - - name: Upload artifacts to github - uses: actions/upload-artifact@v3 + - name: publish + if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags') + uses: pypa/gh-action-pypi-publish@release/v1 with: - name: wheels - path: ./wheelhouse + password: ${{ secrets.PYPI_API_TOKEN }}