69 lines
1.9 KiB
YAML
69 lines
1.9 KiB
YAML
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
|