diff options
Diffstat (limited to '.github')
-rw-r--r-- | .github/AppImageBuilder.yml | 14 | ||||
-rw-r--r-- | .github/azure-pipelines.yml | 5 | ||||
-rw-r--r-- | .github/cross/clang.txt | 5 | ||||
-rw-r--r-- | .github/cross/ubuntu-armhf.txt | 1 | ||||
-rw-r--r-- | .github/cross/ubuntu-ppc64le.txt | 1 | ||||
-rw-r--r-- | .github/cross/ubuntu-s390x.txt | 18 | ||||
-rw-r--r-- | .github/workflows/appimage.yml | 9 | ||||
-rw-r--r-- | .github/workflows/build.yml | 314 | ||||
-rw-r--r-- | .github/workflows/release.yml | 11 |
9 files changed, 59 insertions, 319 deletions
diff --git a/.github/AppImageBuilder.yml b/.github/AppImageBuilder.yml index 67b215c..3675edf 100644 --- a/.github/AppImageBuilder.yml +++ b/.github/AppImageBuilder.yml @@ -28,15 +28,17 @@ AppDir: include: - libjson-c5 - libhugetlbfs0 - - libssl3 files: include: - - libcrypt.so.3 - - libdbus-1.so.3 - - libjson-c.so.5 + - /lib64/libcrypto.so.3 + - /lib64/libdbus-1.so.3 + - /lib64/libjson-c.so.5 exclude: - - usr/share/man - - usr/share/doc + - 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 diff --git a/.github/azure-pipelines.yml b/.github/azure-pipelines.yml index f9eb5ed..4b52903 100644 --- a/.github/azure-pipelines.yml +++ b/.github/azure-pipelines.yml @@ -6,10 +6,7 @@ # - nvme/012 # - nvme/013 -trigger: - - master -pr: - - master +trigger: none # Disable CI triggers. jobs: - job: blktests diff --git a/.github/cross/clang.txt b/.github/cross/clang.txt deleted file mode 100644 index 1484a3e..0000000 --- a/.github/cross/clang.txt +++ /dev/null @@ -1,5 +0,0 @@ -[binaries] -c = 'clang' -cpp = 'clang++' -strip = 'strip' -pkgconfig = 'pkg-config' diff --git a/.github/cross/ubuntu-armhf.txt b/.github/cross/ubuntu-armhf.txt index 41c8328..2eee70b 100644 --- a/.github/cross/ubuntu-armhf.txt +++ b/.github/cross/ubuntu-armhf.txt @@ -4,7 +4,6 @@ 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' diff --git a/.github/cross/ubuntu-ppc64le.txt b/.github/cross/ubuntu-ppc64le.txt index 6baaefb..4cf6a92 100644 --- a/.github/cross/ubuntu-ppc64le.txt +++ b/.github/cross/ubuntu-ppc64le.txt @@ -4,7 +4,6 @@ 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' diff --git a/.github/cross/ubuntu-s390x.txt b/.github/cross/ubuntu-s390x.txt deleted file mode 100644 index 51a3511..0000000 --- a/.github/cross/ubuntu-s390x.txt +++ /dev/null @@ -1,18 +0,0 @@ -[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' diff --git a/.github/workflows/appimage.yml b/.github/workflows/appimage.yml index 80b0496..c64dfb3 100644 --- a/.github/workflows/appimage.yml +++ b/.github/workflows/appimage.yml @@ -1,22 +1,21 @@ --- -name: appimage +name: AppImage on: push: - branches: [master] + branches: [ master ] pull_request: - branches: [master] + branches: [ master ] env: DESTDIR: ../AppDir jobs: build-appimage: - name: build AppImage runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: install dependencies - run: sudo apt-get install libjson-c-dev libssl-dev libdbus-1-dev libhugetlbfs-dev + run: sudo apt-get install libjson-c-dev libdbus-1-dev libhugetlbfs-dev - uses: actions/setup-python@v4 with: python-version: '3.x' diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index fae50a5..805a962 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -3,178 +3,29 @@ name: build on: push: - branches: [master] + branches: [ master ] pull_request: - branches: [master] + branches: [ master ] workflow_dispatch: jobs: - gcc-debug: - name: gcc debug + build-distro: runs-on: ubuntu-latest - steps: - - name: install dependencies - run: sudo apt-get install gcc pkg-config libjson-c-dev libhugetlbfs-dev - - uses: actions/checkout@v3 - - uses: actions/setup-python@v4 - with: - python-version: '3.x' - - uses: bsfishy/meson-build@v1.0.3 - name: build - with: - action: build - setup-options: > - --werror - --buildtype=debug - -Dlibnvme:werror=false - meson-version: 0.61.2 - - uses: bsfishy/meson-build@v1.0.3 - name: test - with: - action: test - meson-version: 0.61.2 - - uses: actions/upload-artifact@v3 - if: failure() - with: - name: log files - path: | - build/meson-logs/*.txt - - gcc-release: - name: gcc release - runs-on: ubuntu-latest - steps: - - name: install dependencies - run: sudo apt-get install gcc pkg-config libjson-c-dev libhugetlbfs-dev - - uses: actions/checkout@v3 - - uses: actions/setup-python@v4 - with: - python-version: '3.x' - - uses: bsfishy/meson-build@v1.0.3 - name: build - with: - action: build - setup-options: > - --werror - --buildtype=release - -Dlibnvme:werror=false - meson-version: 0.61.2 - - uses: bsfishy/meson-build@v1.0.3 - name: test - with: - action: test - meson-version: 0.61.2 - - uses: actions/upload-artifact@v3 - if: failure() - with: - name: log files - path: | - build/meson-logs/*.txt - - clang-release: - name: clang release - runs-on: ubuntu-latest - steps: - - name: install dependencies - run: sudo apt-get install clang pkg-config libjson-c-dev libhugetlbfs-dev - - uses: actions/checkout@v3 - - uses: actions/setup-python@v4 - with: - python-version: '3.x' - - uses: bsfishy/meson-build@v1.0.3 - name: build - with: - action: build - setup-options: > - --werror - --buildtype=release - --cross-file=.github/cross/clang.txt - -Dlibnvme:werror=false - -Dopenssl:werror=false - meson-version: 0.61.2 - - uses: bsfishy/meson-build@v1.0.3 - name: test - with: - action: test - meson-version: 0.61.2 - - uses: actions/upload-artifact@v3 - if: failure() - with: - name: log files - path: | - build/meson-logs/*.txt - - fallback-shared-libraries: - name: fallback shared libraries - runs-on: ubuntu-latest - steps: - - name: install dependencies - run: sudo apt-get install 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 - name: build - with: - action: build - setup-options: > - --werror - --buildtype=release - --wrap-mode=forcefallback - --default-library=shared - -Dlibnvme:werror=false - -Dopenssl:werror=false - meson-version: 0.61.2 - - uses: bsfishy/meson-build@v1.0.3 - name: test - with: - action: test - meson-version: 0.61.2 - - uses: actions/upload-artifact@v3 - if: failure() - with: - name: log files - path: | - build/meson-logs/*.txt - fallback-static-libraries: - name: fallback static libraries - runs-on: ubuntu-latest steps: - name: install dependencies - run: sudo apt-get install libpam-dev libcap-ng-dev + 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' - uses: BSFishy/meson-build@v1.0.3 - name: build - with: - action: build - setup-options: > - --werror - --buildtype=release - --wrap-mode=forcefallback - --default-library=static - -Dlibnvme:werror=false - -Dopenssl:werror=false - meson-version: 0.61.2 - - uses: bsfishy/meson-build@v1.0.3 - name: test with: + setup-options: --werror action: test - meson-version: 0.61.2 - - uses: actions/upload-artifact@v3 - if: failure() - with: - name: log files - path: | - build/meson-logs/*.txt - cross-armhf: - name: cross armhf + build-cross-armhf: runs-on: ubuntu-latest steps: - name: set up arm architecture @@ -188,35 +39,23 @@ jobs: EOF sudo apt update - name: install armhf compiler - run: sudo apt install gcc-arm-linux-gnueabihf pkg-config qemu-user-static + run: sudo apt install gcc-arm-linux-gnueabihf pkg-config - name: install libraries - run: sudo apt install 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 - name: build with: + # suppress python for now; the python headers currently assume native + setup-options: --werror --cross-file=.github/cross/ubuntu-armhf.txt -Dlibnvme:python=false + options: --verbose action: build - setup-options: > - --werror - --buildtype=release - --cross-file=.github/cross/ubuntu-armhf.txt - -Dlibnvme:python=disabled - -Dopenssl:werror=false - meson-version: 0.61.2 - - uses: bsfishy/meson-build@v1.0.3 - name: test - with: - action: test - meson-version: 0.61.2 - uses: actions/upload-artifact@v3 if: failure() with: - name: log files - path: | - build/meson-logs/*.txt + name: Linux_Meson_Testlog + path: build/meson-logs/testlog.txt - cross-ppc64le: - name: cross ppc64le + build-cross-ppc64le: runs-on: ubuntu-latest steps: - name: set up ppc64le architecture @@ -230,121 +69,50 @@ jobs: EOF sudo apt update - name: install powerpc64le compiler - run: sudo apt install gcc-powerpc64le-linux-gnu pkg-config qemu-user-static + run: sudo apt install gcc-powerpc64le-linux-gnu pkg-config - name: install libraries - run: sudo apt install 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 - name: build with: + # suppress python for now; the python headers currently assume native + setup-options: --werror --cross-file=.github/cross/ubuntu-ppc64le.txt -Dlibnvme:python=false + options: --verbose action: build - setup-options: > - --werror - --buildtype=release - --cross-file=.github/cross/ubuntu-ppc64le.txt - -Dlibnvme:werror=false - -Dlibnvme:python=disabled - -Dopenssl:werror=false - meson-version: 0.61.2 - - uses: bsfishy/meson-build@v1.0.3 - name: test - with: - action: test - meson-version: 0.61.2 - uses: actions/upload-artifact@v3 if: failure() with: - name: log files - path: | - build/meson-logs/*.txt + name: Linux_Meson_Testlog + path: build/meson-logs/testlog.txt - cross-s390x: - name: cross s390x + build-fallback: runs-on: ubuntu-latest steps: - - name: set up s390x architecture - run: | - export release=$(lsb_release -c -s) - sudo dpkg --add-architecture s390x - sudo sed -i -e 's/deb http/deb [arch=amd64] http/g' /etc/apt/sources.list - sudo dd of=/etc/apt/sources.list.d/s390x.list <<EOF - deb [arch=s390x] http://ports.ubuntu.com/ $release main universe restricted" - deb [arch=s390x] http://ports.ubuntu.com/ $release-updates main universe restricted" - EOF - sudo apt update - - name: install s390x compiler - run: sudo apt install gcc-s390x-linux-gnu pkg-config qemu-user-static - - name: install libraries - run: sudo apt install libjson-c-dev:s390x + - name: install dependencies + run: sudo apt-get install -y libpam-dev libcap-ng-dev - uses: actions/checkout@v3 - - uses: BSFishy/meson-build@v1.0.3 - name: build + - uses: actions/setup-python@v4 with: - action: build - setup-options: > - --werror - --buildtype=release - --cross-file=.github/cross/ubuntu-s390x.txt - -Dlibnvme:werror=false - -Dlibnvme:python=disabled - -Dopenssl:werror=false - meson-version: 0.61.2 - - uses: bsfishy/meson-build@v1.0.3 - name: test + python-version: '3.x' + - uses: BSFishy/meson-build@v1.0.3 with: + setup-options: --werror -Dopenssl:werror=false -Ddbus:werror=false --wrap-mode=forcefallback + options: --verbose action: test meson-version: 0.61.2 - - uses: actions/upload-artifact@v3 - if: failure() - with: - name: log files - path: | - build/meson-logs/*.txt - build-minimal: - name: muon minimal + build-static: runs-on: ubuntu-latest steps: + - name: install dependencies + run: sudo apt-get install -y libpam-dev libcap-ng-dev - uses: actions/checkout@v3 - - name: build muon and samurai build-tool - run: | - mkdir build-tools - cd build-tools - git clone --depth 1 https://git.sr.ht/~lattis/muon - cd muon - - export CC=gcc - export ninja=build/samu - - ./tools/bootstrap_ninja.sh build - ./bootstrap.sh build - - build/muon setup \ - -Dlibcurl=disabled \ - -Dlibarchive=disabled \ - -Ddocs=disabled \ - -Dsamurai=disabled \ - build - build/samu -C build - build/muon -C build test - - name: fetch libnvme - run: | - cd subprojects - git clone https://github.com/linux-nvme/libnvme.git - libnvme_ref=$(sed -n "s/revision = \([0-9a-z]\+\)/\1/p" libnvme.wrap) - git -C libnvme checkout $libnvme_ref - - name: build - run: | - export PATH=$(pwd)/build-tools/muon/build:$PATH - - muon setup \ - -Dlibnvme:python=disabled \ - -Dlibnvme:json-c=disabled \ - -Djson-c=disabled \ - build - samu -C build - - name: test - run: | - export PATH=$(pwd)/build-tools/muon/build:$PATH - - muon -C build test + - uses: actions/setup-python@v4 + with: + python-version: '3.x' + - uses: BSFishy/meson-build@v1.0.3 + with: + setup-options: --werror -Dopenssl:werror=false -Ddbus:werror=false --wrap-mode=forcefallback --default-library=static + options: --verbose + action: test + meson-version: 0.61.2 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c88be9e..e4ccb70 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,12 +1,11 @@ --- -name: release +name: releases on: push: branches: [ master ] tags: - '**' - jobs: build: runs-on: ubuntu-latest @@ -14,7 +13,7 @@ jobs: permissions: contents: write steps: - - uses: actions/checkout@v3 - - uses: ncipollo/release-action@v1 - with: - token: ${{ secrets.GITHUB_TOKEN }} + - uses: actions/checkout@v3 + - uses: ncipollo/release-action@v1 + with: + token: ${{ secrets.GITHUB_TOKEN }} |