Skip to content

Commit

Permalink
Merge branch 'linux-nvme:master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
hmadhani authored Mar 14, 2024
2 parents 01af6fe + 2af3218 commit 9858dbe
Show file tree
Hide file tree
Showing 793 changed files with 82,790 additions and 24,990 deletions.
57 changes: 57 additions & 0 deletions .github/AppImageBuilder.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# 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
- libssl3
files:
include:
- libcrypt.so.3
- libdbus-1.so.3
- libjson-c.so.5
exclude:
- usr/share/man
- usr/share/doc
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
38 changes: 38 additions & 0 deletions .github/azure-pipelines.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
# Do not run following tests
# - exclude data varification tests, too slow
# - nvme/010
# - nvme/011
# - nvme/012
# - nvme/013

trigger:
- master
pr:
- master

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
3 changes: 3 additions & 0 deletions .github/codeql/codeql-config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
name: "CodeQL Config"
paths-ignore:
- subprojects/**
18 changes: 18 additions & 0 deletions .github/cross/ubuntu-cross-armhf.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
[binaries]
c = '/usr/bin/arm-linux-gnueabihf-gcc'
ar = '/usr/arm-linux-gnueabihf/bin/ar'
strip = '/usr/arm-linux-gnueabihf/bin/strip'
pkgconfig = '/usr/bin/arm-linux-gnueabihf-pkg-config'
ld = '/usr/bin/arm-linux/gnueabihf-ld'
exe_wrapper = '/usr/bin/qemu-arm-static'

[properties]
root = '/usr/arm-linux-gnueabihf'
has_function_printf = true
skip_sanity_check = true

[host_machine]
system = 'linux'
cpu_family = 'arm'
cpu = 'armv7'
endian = 'little'
18 changes: 18 additions & 0 deletions .github/cross/ubuntu-cross-ppc64le.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
[binaries]
c = '/usr/bin/powerpc64le-linux-gnu-gcc'
ar = '/usr/powerpc64le-linux-gnu/bin/ar'
strip = '/usr/powerpc64le-linux-gnu/bin/strip'
pkgconfig = '/usr/bin/powerpc64le-linux-gnu-pkg-config'
ld = '/usr/bin/powerpc64le-linux-gnu-ld'
exe_wrapper = '/usr/bin/qemu-ppc64le-static'

[properties]
root = '/usr/powerpc64le-linux-gnu'
has_function_printf = true
skip_sanity_check = true

[host_machine]
system = 'linux'
cpu_family = 'ppc64'
cpu = ''
endian = 'little'
18 changes: 18 additions & 0 deletions .github/cross/ubuntu-cross-s390x.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
[binaries]
c = '/usr/bin/s390x-linux-gnu-gcc'
ar = '/usr/s390x-linux-gnu/bin/ar'
strip = '/usr/s390x-linux-gnu/bin/strip'
pkgconfig = '/usr/bin/s390x-linux-gnu-pkg-config'
ld = '/usr/bin/s390x-linux-gnu-ld'
exe_wrapper = '/usr/bin/qemu-s390x-static'

[properties]
root = '/usr/s390x-linux-gnu'
has_function_printf = true
skip_sanity_check = true

[host_machine]
system = 'linux'
cpu_family = 's390x'
cpu = ''
endian = 'big'
56 changes: 56 additions & 0 deletions .github/workflows/appimage.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
---
name: appimage

on:
push:
branches: [master]
pull_request:
branches: [master]
env:
DESTDIR: ../AppDir

jobs:
build-appimage:
name: build AppImage
runs-on: ubuntu-latest
container:
image: ghcr.io/igaw/linux-nvme/debian:latest
steps:
- uses: actions/checkout@v4
- name: build
run: |
scripts/build.sh appimage
- name: build AppImage
uses: AppImageCrafters/[email protected]
with:
recipe: .github/AppImageBuilder.yml
- uses: actions/upload-artifact@v4
name: upload artifacts to github
with:
name: AppImage
path: '*.AppImage*'

deploy-appimage:
name: deploy AppImage
runs-on: ubuntu-latest
needs: build-appimage
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' && github.repository == 'linux-nvme/nvme-cli' }}
steps:
- name: Download artifact
uses: dawidd6/action-download-artifact@v3
with:
workflow: ${{ github.event.workflow_run.workflow_id }}
workflow_conclusion: success
- name: FTP Deployer
uses: sand4rt/[email protected]
with:
sftp: true
host: ${{ secrets.SFTP_SERVER }}
port: 22
username: ${{ secrets.SFTP_USERNAME }}
password: ${{ secrets.SFTP_PASSWORD }}
remote_folder: '/upload'
local_folder: '.'
cleanup: false
include: '[ "*", "**/*" ]'
exclude: '[".github/**", ".git/**", "*.env"]'
101 changes: 101 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
---
name: build

on:
push:
branches: [master]
pull_request:
branches: [master]

workflow_dispatch:

jobs:
default:
runs-on: ubuntu-latest
strategy:
matrix:
compiler: [gcc, clang]
buildtype: [debug, release]
container:
image: ghcr.io/igaw/linux-nvme/debian.python:latest
steps:
- uses: actions/checkout@v4
- name: build
run: |
scripts/build.sh -b ${{ matrix.buildtype }} -c ${{ matrix.compiler }}
- uses: actions/upload-artifact@v4
name: upload logs
if: failure()
with:
name: logs files
path: |
.build-ci/meson-logs/*.txt
cross:
runs-on: ubuntu-latest
strategy:
matrix:
include:
- arch: armhf
- arch: s390x
- arch: ppc64le
steps:
- uses: actions/checkout@v4
- name: enable foreign arch
uses: dbhi/qus/action@main
- name: compile and run unit tests
uses: mosteo-actions/docker-run@v1
with:
image: ghcr.io/igaw/linux-nvme/ubuntu-cross-${{ matrix.arch }}:latest
guest-dir: /build
host-dir: ${{ github.workspace }}
command: |
scripts/build.sh -b release -c gcc -t ${{ matrix.arch }} cross
params: "--platform linux/amd64"
pull-params: "--platform linux/amd64"
- uses: actions/upload-artifact@v4
name: upload logs
if: failure()
with:
name: log files
path: |
.build-ci/meson-logs/*.txt
fallback-shared-libraries:
name: fallback shared libraries
runs-on: ubuntu-latest
container:
image: ghcr.io/igaw/linux-nvme/debian:latest
if: github.ref == 'refs/heads/master'
steps:
- uses: actions/checkout@v4
- name: build
run: |
scripts/build.sh -b release -c gcc fallback
- uses: actions/upload-artifact@v4
if: failure()
with:
name: log files
path: |
.build-ci/meson-logs/*.txt
build-muon:
name: muon minimal static
runs-on: ubuntu-latest
container:
image: ghcr.io/igaw/linux-nvme/debian:latest
steps:
- uses: actions/checkout@v4
- name: build
run: |
scripts/build.sh -m muon
build-make-static:
name: make static
runs-on: ubuntu-latest
container:
image: ghcr.io/igaw/linux-nvme/debian:latest
steps:
- uses: actions/checkout@v4
- name: build
run: |
make static
15 changes: 15 additions & 0 deletions .github/workflows/checkpatch.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
name: checkpatch review
on: [pull_request]
jobs:
checkpatch:
name: checkpatch review
runs-on: ubuntu-latest
steps:
- name: 'Calculate PR commits + 1'
run: echo "PR_FETCH_DEPTH=$(( ${{ github.event.pull_request.commits }} + 1 ))" >> $GITHUB_ENV
- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: 0
- name: Run checkpatch review
uses: webispy/checkpatch-action@v9
Loading

0 comments on commit 9858dbe

Please sign in to comment.