From 380ff788d34324d28ef0d2bc7deb92d59057bbb7 Mon Sep 17 00:00:00 2001 From: Oleg Broytman Date: Tue, 27 Feb 2024 20:41:04 +0300 Subject: [PATCH] WIP: CI: Limit tests --- .github/workflows/test-publish.yaml | 98 +++-------------------------- 1 file changed, 8 insertions(+), 90 deletions(-) diff --git a/.github/workflows/test-publish.yaml b/.github/workflows/test-publish.yaml index ba131e40..833fbd0a 100644 --- a/.github/workflows/test-publish.yaml +++ b/.github/workflows/test-publish.yaml @@ -13,21 +13,12 @@ jobs: strategy: matrix: - os: [ubuntu-latest, macos-latest, windows-latest] - python-version: ["2.7", "3.5", "3.6", "3.7", "3.8", "3.9", "3.10", "3.11", "3.12", "pypy3.7"] + os: [ubuntu-latest] + python-version: ["2.7"] include: - os: ubuntu-latest os-name: Linux pip-cache-path: ~/.cache/pip - - os: macos-latest - os-name: MacOS - pip-cache-path: ~/Library/Caches/pip - - os: windows-latest - os-name: w32 - pip-cache-path: ~\AppData\Local\pip\Cache - exclude: - - os: windows-latest - python-version: "pypy3.7" name: Python ${{ matrix.python-version }} @ ${{ matrix.os-name }} runs-on: ${{ matrix.os }} @@ -49,70 +40,7 @@ jobs: python3.7 --version pip3.7 --version shell: bash - if: ${{ matrix.python-version == '2.7' && runner.os != 'Windows' && startsWith(github.ref, 'refs/tags/') }} - - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - if: ${{ contains(fromJSON(env.not_in_conda), matrix.python-version) }} - - name: Cache pip - uses: actions/cache@v3 - with: - path: ${{ matrix.pip-cache-path }} - key: ${{ runner.os }}-pip - - # Setup tox - - name: Install dependencies - run: | - python --version - python -m pip || python -m ensurepip --default-pip --upgrade - python -m pip install --upgrade pip setuptools wheel - pip --version - pip install --upgrade virtualenv "tox >= 3.15, < 4" - - name: Set TOXENV - run: | - import os, sys - ld_library_path = None - if hasattr(sys, 'pypy_version_info'): - toxenv = 'pypy3' - else: - pyver = '%d%d' % tuple(sys.version_info[:2]) - if os.name == 'posix': - if pyver == '27': # Python 2.7 on Linux requires `$LD_LIBRARY_PATH` - ld_library_path = os.path.join( - os.path.dirname(os.path.dirname(sys.executable)), 'lib') - toxenv = 'py%s' % pyver - if os.name == 'posix': - toxenv += ',py%s-flake8' % pyver - with open(os.environ['GITHUB_ENV'], 'a') as f: - if ld_library_path: - f.write('LD_LIBRARY_PATH=' + ld_library_path + '\n') - f.write('TOXENV=' + toxenv + '\n') - print(toxenv) - shell: python - - - name: Run tox - run: | - python -c "import os; print(os.environ['TOXENV'])" - tox --version - tox - - - name: Build and publish sdist and wheel on Unix - run: | - pip install -U --ignore-installed certifi # Replace conda-installed - devscripts/CI/ghactions-release - env: - TWINE_USERNAME: ${{ secrets.TWINE_USERNAME }} - TWINE_PASSWORD: ${{ secrets.TWINE_PASSWORD }} - if: ${{ runner.os != 'Windows' && startsWith(github.ref, 'refs/tags/') }} - - name: Build and publish wheel on w32 - run: | - pip install -U pip setuptools twine wheel - python setup.py bdist_wheel - twine upload --disable-progress-bar --skip-existing dist\* - if: ${{ runner.os == 'Windows' && startsWith(github.ref, 'refs/tags/') }} - env: - TWINE_USERNAME: ${{ secrets.TWINE_USERNAME }} - TWINE_PASSWORD: ${{ secrets.TWINE_PASSWORD }} + if: ${{ matrix.python-version == '2.7' && runner.os != 'Windows' }} - name: Build and publish wheel on Linux/aarch64 uses: uraimo/run-on-arch-action@v2 with: @@ -144,18 +72,8 @@ jobs: pip3.7 --version fi exec devscripts/CI/ghactions-release - if: ${{ !contains(fromJSON(env.not_in_aarch64), matrix.python-version) && runner.os == 'Linux' && startsWith(github.ref, 'refs/tags/') }} - - name: Publish wheel to Releases - uses: ncipollo/release-action@v1 - with: - artifacts: "dist/*" - allowUpdates: true - bodyFile: "LATEST-CHANGES.rst" - omitBodyDuringUpdate: true - omitNameDuringUpdate: true - omitPrereleaseDuringUpdate: true - prerelease: true - replacesArtifacts: false - skipIfReleaseExists: false - updateOnlyUnreleased: false - if: ${{ startsWith(github.ref, 'refs/tags/') }} + if: ${{ !contains(fromJSON(env.not_in_aarch64), matrix.python-version) && runner.os == 'Linux' }} + - name: Check dist + run: exec ls -lAF dist + shell: bash + if: ${{ !contains(fromJSON(env.not_in_aarch64), matrix.python-version) && runner.os == 'Linux' }}