summaryrefslogtreecommitdiffstats
path: root/.github
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--.github/AppImageBuilder.yml60
-rw-r--r--.github/azure-pipelines.yml35
-rw-r--r--.github/workflows/appimage.yml33
-rw-r--r--.github/workflows/build.yml (renamed from .github/workflows/meson.yml)31
-rw-r--r--.github/workflows/release.yml4
5 files changed, 144 insertions, 19 deletions
diff --git a/.github/AppImageBuilder.yml b/.github/AppImageBuilder.yml
new file mode 100644
index 0000000..3675edf
--- /dev/null
+++ b/.github/AppImageBuilder.yml
@@ -0,0 +1,60 @@
+# appimage-builder recipe see https://appimage-builder.readthedocs.io for details
+version: 1
+script:
+ # Ensure that the mksquashfs tool is installed (workaround for the AppImageCrafters/build-appimage GHA)
+ - which mksquashfs || apt install squashfs-tools
+ # fake icons
+ - mkdir -p AppDir/usr/share/icons/hicolor/64x64/apps
+ - touch AppDir/usr/share/icons/hicolor/64x64/apps/nvme-cli.png
+
+AppDir:
+ path: AppDir
+ app_info:
+ id: linux-nvme.nvme-cli
+ name: nvme-cli
+ version: latest
+ icon: nvme-cli
+ exec: usr/sbin/nvme
+ exec_args: $@
+ apt:
+ arch: amd64
+ allow_unauthenticated: true
+ sources:
+ - sourceline: deb http://archive.ubuntu.com/ubuntu/ jammy main restricted universe multiverse
+ key_url: 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x871920D1991BC93C'
+ - sourceline: deb http://archive.ubuntu.com/ubuntu/ jammy-updates main restricted universe multiverse
+ - sourceline: deb http://archive.ubuntu.com/ubuntu/ jammy-backports main restricted universe multiverse
+ - sourceline: deb http://archive.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse
+ include:
+ - libjson-c5
+ - libhugetlbfs0
+ files:
+ include:
+ - /lib64/libcrypto.so.3
+ - /lib64/libdbus-1.so.3
+ - /lib64/libjson-c.so.5
+ exclude:
+ - usr/share/man
+ - usr/share/doc/*/README.*
+ - usr/share/doc/*/changelog.*
+ - usr/share/doc/*/NEWS.*
+ - usr/share/doc/*/TODO.*
+ test:
+ fedora-30:
+ image: appimagecrafters/tests-env:fedora-30
+ command: ./AppRun
+ debian-stable:
+ image: appimagecrafters/tests-env:debian-stable
+ command: ./AppRun
+ archlinux-latest:
+ image: appimagecrafters/tests-env:archlinux-latest
+ command: ./AppRun
+ centos-7:
+ image: appimagecrafters/tests-env:centos-7
+ command: ./AppRun
+ ubuntu-xenial:
+ image: appimagecrafters/tests-env:ubuntu-xenial
+ command: ./AppRun
+AppImage:
+ update-information: 'gh-releases-zsync|linux-nvme|nvme-cli|latest|*x86_64.AppImage.zsync'
+ arch: x86_64
diff --git a/.github/azure-pipelines.yml b/.github/azure-pipelines.yml
new file mode 100644
index 0000000..4b52903
--- /dev/null
+++ b/.github/azure-pipelines.yml
@@ -0,0 +1,35 @@
+---
+# Do not run following tests
+# - exclude data varification tests, too slow
+# - nvme/010
+# - nvme/011
+# - nvme/012
+# - nvme/013
+
+trigger: none # Disable CI triggers.
+
+jobs:
+ - job: blktests
+ timeoutInMinutes: 5
+ pool:
+ name: linux-nvme
+ steps:
+ - script: |
+ meson $(Agent.TempDirectory)/build
+ ninja -C $(Agent.TempDirectory)/build
+ displayName: Build nvme-cli
+ - script: |
+ git clone --depth 1 https://github.com/osandov/blktests.git $(Agent.TempDirectory)/blktests
+ displayName: Clone blktests
+ - script: |
+ cd $(Agent.TempDirectory)/blktests
+ sudo sh -c 'PATH=$(Agent.TempDirectory)/build:$PATH nvme_trtype=tcp ./check -x nvme/010 -x nvme/011 -x nvme/012 -x nvme/013 nvme'
+ displayName: Run blktests for NVMe transport TCP
+ - script: |
+ cd $(Agent.TempDirectory)/blktests
+ sudo sh -c 'PATH=$(Agent.TempDirectory)/build:$PATH nvme_trtype=rdma ./check -x nvme/010 -x nvme/011 -x nvme/012 -x nvme/013 nvme'
+ displayName: Run blktests for NVMe transport RDMA
+ - script: |
+ cd $(Agent.TempDirectory)/blktests
+ sudo sh -c 'PATH=$(Agent.TempDirectory)/build:$PATH nvme_trtype=fc ./check -x nvme/010 -x nvme/011 -x nvme/012 -x nvme/013 nvme'
+ displayName: Run blktests for NVMe transport FC
diff --git a/.github/workflows/appimage.yml b/.github/workflows/appimage.yml
new file mode 100644
index 0000000..c64dfb3
--- /dev/null
+++ b/.github/workflows/appimage.yml
@@ -0,0 +1,33 @@
+---
+name: AppImage
+
+on:
+ push:
+ branches: [ master ]
+ pull_request:
+ branches: [ master ]
+env:
+ DESTDIR: ../AppDir
+
+jobs:
+ build-appimage:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ - name: install dependencies
+ run: sudo apt-get install libjson-c-dev libdbus-1-dev libhugetlbfs-dev
+ - uses: actions/setup-python@v4
+ with:
+ python-version: '3.x'
+ - uses: BSFishy/meson-build@v1.0.3
+ with:
+ setup-options: --werror --buildtype=release --prefix=/usr
+ action: install
+ - name: build AppImage
+ uses: AppImageCrafters/build-appimage@v1.3
+ with:
+ recipe: .github/AppImageBuilder.yml
+ - uses: actions/upload-artifact@v3
+ with:
+ name: AppImage
+ path: '*.AppImage*'
diff --git a/.github/workflows/meson.yml b/.github/workflows/build.yml
index ee80af3..805a962 100644
--- a/.github/workflows/meson.yml
+++ b/.github/workflows/build.yml
@@ -1,4 +1,5 @@
-name: nvme-cli meson CI
+---
+name: build
on:
push:
@@ -9,24 +10,20 @@ on:
workflow_dispatch:
jobs:
- build-disto:
+ build-distro:
runs-on: ubuntu-latest
steps:
- - name: install libraries
- run: sudo apt-get install libjson-c-dev libhugetlbfs-dev
+ - name: install dependencies
+ run: sudo apt-get install libjson-c-dev libhugetlbfs-dev libdbus-1-dev
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: '3.x'
- # - name: install python dependencies
- # run: |
- # python -m pip install --upgrade pip
- # pip install nose nose2
- uses: BSFishy/meson-build@v1.0.3
with:
setup-options: --werror
- action: build
+ action: test
build-cross-armhf:
runs-on: ubuntu-latest
@@ -44,7 +41,7 @@ jobs:
- name: install armhf compiler
run: sudo apt install gcc-arm-linux-gnueabihf pkg-config
- name: install libraries
- run: sudo apt install uuid-dev:armhf libjson-c-dev:armhf
+ run: sudo apt install uuid-dev:armhf libjson-c-dev:armhf libdbus-1-dev:armhf
- uses: actions/checkout@v3
- uses: BSFishy/meson-build@v1.0.3
with:
@@ -74,7 +71,7 @@ jobs:
- name: install powerpc64le compiler
run: sudo apt install gcc-powerpc64le-linux-gnu pkg-config
- name: install libraries
- run: sudo apt install uuid-dev:ppc64el libjson-c-dev:ppc64el
+ run: sudo apt install uuid-dev:ppc64el libjson-c-dev:ppc64el libdbus-1-dev:ppc64el
- uses: actions/checkout@v3
- uses: BSFishy/meson-build@v1.0.3
with:
@@ -91,7 +88,7 @@ jobs:
build-fallback:
runs-on: ubuntu-latest
steps:
- - name: install libraries
+ - name: install dependencies
run: sudo apt-get install -y libpam-dev libcap-ng-dev
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
@@ -99,15 +96,15 @@ jobs:
python-version: '3.x'
- uses: BSFishy/meson-build@v1.0.3
with:
- setup-options: --werror -Duuid:werror=false --wrap-mode=forcefallback
+ setup-options: --werror -Dopenssl:werror=false -Ddbus:werror=false --wrap-mode=forcefallback
options: --verbose
- action: build
+ action: test
meson-version: 0.61.2
build-static:
runs-on: ubuntu-latest
steps:
- - name: install libraries
+ - name: install dependencies
run: sudo apt-get install -y libpam-dev libcap-ng-dev
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
@@ -115,7 +112,7 @@ jobs:
python-version: '3.x'
- uses: BSFishy/meson-build@v1.0.3
with:
- setup-options: --werror -Duuid:werror=false --wrap-mode=forcefallback --default-library=static
+ setup-options: --werror -Dopenssl:werror=false -Ddbus:werror=false --wrap-mode=forcefallback --default-library=static
options: --verbose
- action: build
+ action: test
meson-version: 0.61.2
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index e0255a8..e4ccb70 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -1,11 +1,11 @@
-name: Releases
+---
+name: releases
on:
push:
branches: [ master ]
tags:
- '**'
-
jobs:
build:
runs-on: ubuntu-latest