name: Meson on: push: branches: [ main ] pull_request: branches: [ main ] workflow_dispatch: jobs: meson-build: runs-on: ubuntu-latest steps: - name: "CHECKOUT: nvme-stas" uses: actions/checkout@v4 - name: "INSTALL: Overall dependencies" run: | sudo apt update sudo apt-get install --yes --quiet python3-pip cmake iproute2 sudo python3 -m pip install --upgrade pip sudo python3 -m pip install --upgrade wheel meson ninja - name: "INSTALL: nvme-stas dependencies" run: | sudo apt-get install --yes --quiet docbook-xml docbook-xsl xsltproc libglib2.0-dev libgirepository1.0-dev libsystemd-dev sudo apt-get install --yes --quiet python3-systemd python3-pyudev python3-lxml python3 -m pip install --upgrade dasbus pylint==2.17.7 pyflakes PyGObject python3 -m pip install --upgrade vermin pyfakefs importlib-resources - name: "INSTALL: libnvme dependencies" run: | sudo apt-get install --yes --quiet swig libjson-c-dev - name: "CONFIG: PYTHONPATH" run: | echo "PYTHONPATH=.build:.build/subprojects/libnvme:/usr/lib/python3/dist-packages/" >> $GITHUB_ENV - name: "TEST: nvme-stas" uses: BSFishy/meson-build@v1.0.3 with: action: test directory: .build setup-options: --buildtype=release --sysconfdir=/etc --prefix=/usr -Dman=true -Dhtml=true -Dlibnvme:buildtype=release -Dlibnvme:sysconfdir=/etc -Dlibnvme:prefix=/usr -Dlibnvme:python=enabled -Dlibnvme:libdbus=disabled -Dlibnvme:openssl=disabled -Dlibnvme:json-c=disabled -Dlibnvme:keyutils=disabled options: --print-errorlogs --suite nvme-stas # Preserve meson's log file on failure - uses: actions/upload-artifact@v3 if: failure() with: name: "Linux_Meson_Testlog" path: .build/meson-logs/* - name: "Generate coverage report" run: | python3 -m pip install --upgrade pytest python3 -m pip install --upgrade pytest-cov echo $( pwd ) cp -r .build/staslib/* ./staslib/. pytest --cov=./staslib --cov-report=xml test/test-*.py - uses: codecov/codecov-action@v3 with: fail_ci_if_error: false