Support building directly from git #235
Workflow file for this run
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
name: 'linters' | |
on: | |
pull_request: | |
branches: ['master'] | |
paths: | |
- '.github/**' | |
- '**.py' | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
mypy: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-python@v4 | |
- run: pip config set global.break-system-packages 1 | |
- run: pip install mypy | |
- run: pip install types-cryptography types-urllib3 | |
- run: pip install distro keyring progressbar zstandard | |
- run: mypy osc | |
darker: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- uses: actions/setup-python@v4 | |
- uses: akaihola/[email protected] | |
with: | |
options: "--check --diff --color --line-length=120" | |
src: "." | |
pylint_errors: | |
name: 'Run pylint that reports only errors' | |
runs-on: 'ubuntu-latest' | |
steps: | |
- name: 'Install packages' | |
run: | | |
sudo apt-get -y update | |
sudo apt-get -y --no-install-recommends install pylint python3-rpm | |
- uses: actions/checkout@v3 | |
- name: 'Run pylint --errors-only' | |
run: | | |
pylint --errors-only osc | |
pylint_plugins: | |
name: 'Diff pylint runs on osc plugin' | |
runs-on: 'ubuntu-latest' | |
strategy: | |
fail-fast: false | |
matrix: | |
plugin_repository: | |
- openSUSE/openSUSE-release-tools | |
- openSUSE/osc-plugin-collab | |
- openSUSE/osc-plugin-install | |
- openSUSE/osc-plugin-overview | |
- openSUSE/osc-plugin-qam | |
- openSUSE/sle-prjmgr-tools | |
steps: | |
- name: 'Install packages' | |
run: | | |
sudo apt-get -y update | |
sudo apt-get -y --no-install-recommends install diffutils pylint python3-pip | |
- uses: actions/checkout@v3 | |
with: | |
path: osc-pr | |
- uses: actions/checkout@v3 | |
with: | |
ref: ${{ github.event.pull_request.base.sha }} | |
path: osc-master | |
- uses: actions/checkout@v3 | |
with: | |
repository: ${{ matrix.plugin_repository }} | |
path: plugin | |
- name: 'Install dependencies from pip' | |
run: | | |
cd plugin | |
echo "Installing pycurl from a package to avoid installing many build deps and compilation..." | |
sudo apt-get -y --no-install-recommends install python3-pycurl | |
find -name 'setup.py' | while read i; do cd $(dirname $i); pip3 install -e ".[extras_require]" || : ; done | |
find -name 'setup.py' | while read i; do cd $(dirname $i); pip3 install -e ".[lint]" || : ; done | |
find -name 'setup.py' | while read i; do cd $(dirname $i); pip3 install -e ".[test]" || : ; done | |
find -name 'requirements*.txt' | while read i; do pip3 install -r "$i" || : ; done | |
- name: 'Run pylint with osc from master' | |
run: | | |
cd plugin | |
find . -type f -name "*.py" | sort | PYTHONPATH="../osc-master" xargs pylint --errors-only >> pylint-osc-master.log || : | |
echo | |
echo ">>>>> pylint-osc-master.log <<<<<" | |
cat pylint-osc-master.log | |
- name: 'Run pylint with osc from pull-request' | |
run: | | |
cd plugin | |
find . -type f -name "*.py" | sort | PYTHONPATH="../osc-pr" xargs pylint --errors-only >> pylint-osc-pr.log || : | |
echo | |
echo ">>>>> pylint-osc-pr.log <<<<<" | |
cat pylint-osc-pr.log | |
- name: 'Diff pylint runs' | |
run: | | |
cd plugin | |
echo | |
echo ">>>>> diff <<<<<" | |
diff -u pylint-osc-master.log pylint-osc-pr.log |