Remove setup.py
(#7249)
#1
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Most of this is inspired by the mypy primer | |
# See: https://github.com/hauntsaninja/mypy_primer | |
# This is the primer job that runs on the default 'main' branch | |
# It is also responsible for caching the packages to prime on | |
name: Primer / Main | |
on: | |
push: | |
branches: | |
- main | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
env: | |
CACHE_VERSION: 20 | |
jobs: | |
run-primer: | |
name: Run / ${{ matrix.python-version }} | |
runs-on: ubuntu-latest | |
timeout-minutes: 60 | |
strategy: | |
matrix: | |
python-version: ["3.7", "3.10"] | |
steps: | |
- name: Check out code from GitHub | |
uses: actions/[email protected] | |
- name: Set up Python ${{ matrix.python-version }} | |
id: python | |
uses: actions/[email protected] | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Get latest astroid commit | |
id: get-astroid-sha | |
run: | | |
curl https://api.github.com/repos/PyCQA/astroid/commits | | |
python -c "import json, sys; print(json.load(sys.stdin)[0]['sha'])" > astroid_sha.txt | |
# Restore cached Python environment | |
- name: Generate partial Python venv restore key | |
id: generate-python-key | |
run: >- | |
echo "::set-output name=key::venv-${{ env.CACHE_VERSION }}-${{ | |
hashFiles('setup.cfg', 'requirements_test.txt', 'requirements_test_min.txt', | |
'astroid_sha.txt') }}" | |
- name: Restore Python virtual environment | |
id: cache-venv | |
uses: actions/[email protected] | |
with: | |
path: venv | |
key: >- | |
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{ | |
steps.generate-python-key.outputs.key }} | |
restore-keys: | | |
${{ runner.os }}-${{ steps.python.outputs.python-version }}-venv-${{ env.CACHE_VERSION }}- | |
- name: Create Python virtual environment | |
if: steps.cache-venv.outputs.cache-hit != 'true' | |
run: | | |
python -m venv venv | |
. venv/bin/activate | |
python -m pip install -U pip setuptools wheel | |
pip install -U -r requirements_test.txt | |
# Use bleeding-edge astroid | |
pip install git+https://github.com/PyCQA/astroid.git | |
# Cache primer packages | |
- name: Get commit string | |
id: commitstring | |
run: | | |
. venv/bin/activate | |
python tests/primer/__main__.py prepare --make-commit-string | |
output=$(python tests/primer/__main__.py prepare --read-commit-string) | |
echo "::set-output name=commitstring::$output" | |
- name: Restore projects cache | |
id: cache-projects | |
uses: actions/[email protected] | |
with: | |
path: tests/.pylint_primer_tests/ | |
key: >- | |
${{ runner.os }}-${{ matrix.python-version }}-${{ | |
steps.commitstring.outputs.commitstring }}-primer | |
- name: Regenerate cache | |
run: | | |
. venv/bin/activate | |
python tests/primer/__main__.py prepare --clone | |
- name: Upload output diff | |
uses: actions/upload-artifact@v3 | |
with: | |
name: primer_commitstring | |
path: tests/.pylint_primer_tests/commit_string.txt | |
# Run primer | |
- name: Run pylint primer | |
run: | | |
. venv/bin/activate | |
pip install -e . | |
python tests/primer/__main__.py run --type=main 2>warnings.txt | |
WARNINGS=$(head -c 65000 < warnings.txt) | |
if [[ $WARNINGS ]] | |
then echo "::warning ::$WARNINGS" | |
fi | |
- name: Upload output | |
uses: actions/upload-artifact@v3 | |
with: | |
name: primer_output | |
path: | |
tests/.pylint_primer_tests/output_${{ steps.python.outputs.python-version | |
}}_main.txt |