name: nvme-cli 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 libhugetlbfs-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 build-cross-armhf: runs-on: ubuntu-latest steps: - name: set up arm architecture run: | export release=$(lsb_release -c -s) sudo dpkg --add-architecture armhf sudo sed -i -e 's/deb http/deb [arch=amd64] http/g' /etc/apt/sources.list sudo dd of=/etc/apt/sources.list.d/armhf.list <<EOF deb [arch=armhf] http://ports.ubuntu.com/ $release main universe restricted" deb [arch=armhf] http://ports.ubuntu.com/ $release-updates main universe restricted" EOF sudo apt update - 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 - uses: actions/checkout@v3 - uses: BSFishy/meson-build@v1.0.3 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 - uses: actions/upload-artifact@v3 if: failure() with: name: Linux_Meson_Testlog path: build/meson-logs/testlog.txt build-cross-ppc64le: runs-on: ubuntu-latest steps: - name: set up ppc64le architecture run: | export release=$(lsb_release -c -s) sudo dpkg --add-architecture ppc64el sudo sed -i -e 's/deb http/deb [arch=amd64] http/g' /etc/apt/sources.list sudo dd of=/etc/apt/sources.list.d/ppc64el.list <<EOF deb [arch=ppc64el] http://ports.ubuntu.com/ $release main universe restricted" deb [arch=ppc64el] http://ports.ubuntu.com/ $release-updates main universe restricted" EOF sudo apt update - 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 - uses: actions/checkout@v3 - uses: BSFishy/meson-build@v1.0.3 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 - uses: actions/upload-artifact@v3 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 install -y 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 with: setup-options: --werror -Duuid:werror=false --wrap-mode=forcefallback options: --verbose action: build meson-version: 0.61.2 build-static: runs-on: ubuntu-latest steps: - name: install libraries run: sudo apt-get install -y 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 with: setup-options: --werror -Duuid:werror=false --wrap-mode=forcefallback --default-library=static options: --verbose action: build meson-version: 0.61.2