name: libnvme meson CI on: push: branches: [ master ] pull_request: branches: [ master ] workflow_dispatch: jobs: build-disto: runs-on: ubuntu-latest steps: - name: install libraries run: sudo apt-get install libjson-c-dev - uses: actions/checkout@v3 - uses: actions/setup-python@v4 with: python-version: '3.x' - uses: BSFishy/meson-build@v1.0.3 with: setup-options: --werror options: --verbose action: test # Preserve meson's log file on failure - uses: actions/upload-artifact@v3 if: failure() with: name: Linux_Meson_Testlog path: build/meson-logs/testlog.txt build-fallback: runs-on: ubuntu-latest steps: - name: install libraries run: sudo apt-get install -y libpam-dev libcap-ng-dev - uses: actions/checkout@v3 - uses: actions/setup-python@v4 with: python-version: '3.x' - uses: BSFishy/meson-build@v1.0.3 with: setup-options: --werror --wrap-mode=forcefallback options: --verbose action: test meson-version: 0.61.2 # Preserve meson's log file on failure - uses: actions/upload-artifact@v3 if: failure() with: name: Linux_Meson_log path: build/meson-logs/meson-log.txt build-static: runs-on: ubuntu-latest steps: - name: install libraries run: sudo apt-get install -y libpam-dev libcap-ng-dev - uses: actions/checkout@v3 - uses: actions/setup-python@v4 with: python-version: '3.x' - uses: BSFishy/meson-build@v1.0.3 with: setup-options: --werror --wrap-mode=forcefallback --default-library=static options: --verbose action: test meson-version: 0.61.2 # Preserve meson's log file on failure - uses: actions/upload-artifact@v3 if: failure() with: name: Linux_Meson_log path: build/meson-logs/meson-log.txt code-coverage: runs-on: ubuntu-latest steps: - name: install libraries run: sudo apt-get install libjson-c-dev lcov - uses: actions/checkout@v3 - uses: actions/setup-python@v4 with: python-version: '3.x' - uses: BSFishy/meson-build@v1.0.3 with: setup-options: -Db_coverage=true --werror options: --verbose # Can't use 'coverage' here, see https://github.com/BSFishy/meson-build/issues/4 action: test - name: Generate Coverage Report # Can't use meson here, see https://github.com/mesonbuild/meson/issues/7895 run: ninja -C build coverage --verbose - uses: codecov/codecov-action@v3 with: fail_ci_if_error: false