summaryrefslogtreecommitdiffstats
path: root/.github/workflows/meson.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/meson.yml')
-rw-r--r--.github/workflows/meson.yml69
1 files changed, 69 insertions, 0 deletions
diff --git a/.github/workflows/meson.yml b/.github/workflows/meson.yml
new file mode 100644
index 0000000..c89de99
--- /dev/null
+++ b/.github/workflows/meson.yml
@@ -0,0 +1,69 @@
+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@v2
+ - uses: actions/setup-python@v1
+ - 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@v1
+ 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 remove -y libssl-dev
+ - uses: actions/checkout@v2
+ - uses: actions/setup-python@v1
+ - uses: BSFishy/meson-build@v1.0.3
+ with:
+ setup-options: --werror
+ options: --verbose
+ action: test
+ meson-version: 0.61.2
+ # Preserve meson's log file on failure
+ - uses: actions/upload-artifact@v1
+ 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@v2
+ - uses: actions/setup-python@v1
+ - 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@v1
+ with:
+ fail_ci_if_error: false