name: python tests+artifacts+release on: pull_request: push: branches: [master] jobs: build: runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: python_version: [ '2.7', '3.5', '3.6', '3.7', '3.8', 'pypy2', 'pypy3' ] os: [windows-latest, ubuntu-latest] #, macos-latest] exclude: - os: windows-latest python_version: "2.7" - os: windows-latest python_version: "pypy2" name: ${{ matrix.os }} - Python ${{ matrix.python_version }} steps: - uses: actions/checkout@v1 - name: Setup python uses: actions/setup-python@v1 with: python-version: ${{ matrix.python_version }} architecture: x64 - run: pip install -e .[toml] pytest - run: pytest eggs: runs-on: ubuntu-latest needs: [build] name: Python ${{ matrix.python_version }} eggs strategy: matrix: python_version: ['2.7', '3.5', '3.6', '3.7', '3.8'] steps: - uses: actions/checkout@v1 - name: Set up Python uses: actions/setup-python@v1 with: python-version: ${{ matrix.python_version }} - name: Install dependencies run: | python -m pip install --upgrade pip pip install --upgrade wheel setuptools - name: Build package run: | python setup.py bdist_egg - uses: actions/upload-artifact@v2 with: name: dist path: dist dist: runs-on: ubuntu-latest needs: [build] name: Python bdist/wheel steps: - uses: actions/checkout@v1 - uses: actions/setup-python@v1 with: python-version: "3.8" - name: Install dependencies run: | python -m pip install --upgrade pip pip install --upgrade wheel setuptools - name: Build package run: | python setup.py bdist_wheel sdist - uses: actions/upload-artifact@v2 with: name: dist path: dist dist_upload: runs-on: ubuntu-latest if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags') && github.repository == 'pypa/setuptools_scm' needs: [eggs, dist] steps: - uses: actions/download-artifact@v2 with: name: dist - name: Publish package to PyPI uses: pypa/gh-action-pypi-publish@master with: user: __token__ password: ${{ secrets.pypi_token }}