Merge pull request #379 from martin-belanger/v2.3-rc3 #411
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: | |
push: | |
branches: [ main ] | |
pull_request: | |
branches: [ main ] | |
workflow_dispatch: | |
jobs: | |
docker-lint: | |
if: ${{ !github.event.act }} # skip during local actions testing | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: hadolint/[email protected] | |
with: | |
recursive: true | |
ignore: DL3041 | |
python-lint: | |
runs-on: ubuntu-20.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: ["3.6", "3.7", "3.8", "3.9", "3.10"] | |
steps: | |
- name: "CHECKOUT: nvme-stas" | |
uses: actions/checkout@v3 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
# - name: "UPGRADE: existing packages" | |
# run: | | |
# sudo apt-get update --yes --quiet || true | |
# sudo apt-get upgrade --yes --quiet || true | |
- name: "INSTALL: additional packages" | |
run: | | |
sudo apt-get install --yes --quiet python3-pip || true | |
sudo apt-get install --yes --quiet cmake || true | |
sudo apt-get install --yes --quiet libgirepository1.0-dev || true | |
sudo apt-get install --yes --quiet libsystemd-dev || true | |
sudo apt-get install --yes --quiet python3-systemd || true | |
sudo python3 -m pip install --upgrade pip | |
sudo python3 -m pip install --upgrade wheel | |
sudo python3 -m pip install --upgrade meson | |
sudo python3 -m pip install --upgrade ninja | |
python3 -m pip install --upgrade dasbus | |
python3 -m pip install --upgrade pylint | |
python3 -m pip install --upgrade pyflakes | |
python3 -m pip install --upgrade PyGObject | |
python3 -m pip install --upgrade lxml | |
python3 -m pip install --upgrade pyudev | |
- name: "BUILD: libnvme" | |
run: | | |
sudo apt-get install --yes --quiet swig libjson-c-dev || true | |
meson subprojects download | |
meson setup builddir subprojects/libnvme -Dlibdbus=disabled -Dopenssl=disabled -Dbuildtype=release -Dprefix=/usr -Dpython=enabled | |
ninja -C builddir | |
sudo meson install -C builddir | |
- name: Set PYTHONPATH | |
run: | | |
echo "PYTHONPATH=builddir:builddir/subprojects/libnvme:/usr/lib/python3/dist-packages/" >> $GITHUB_ENV | |
- name: Show test environment | |
run: | | |
echo -e "Build Directory:\n$(ls -laF builddir)" | |
python3 -VV | |
python3 -m site | |
python3 -m pylint --version | |
echo "pyflakes $(python3 -m pyflakes --version)" | |
- name: Pylint | |
run: | | |
python3 -m pylint --rcfile=test/pylint.rc *.py staslib | |
- name: Pyflakes | |
if: always() | |
run: | | |
python3 -m pyflakes *.py staslib | |
python-black: | |
if: ${{ !github.event.act }} # skip during local actions testing | |
name: python-black formatter | |
runs-on: ubuntu-latest | |
steps: | |
- name: "CHECKOUT: nvme-stas" | |
uses: actions/checkout@v3 | |
- name: "BLACK" | |
uses: psf/black@stable | |
with: | |
options: "--check --diff --color --line-length 120 --skip-string-normalization --extend-exclude (subprojects|debian|.build)" | |
src: "." |