diff options
Diffstat (limited to '.github/workflows/build.yml')
-rw-r--r-- | .github/workflows/build.yml | 118 |
1 files changed, 118 insertions, 0 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..805a962 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,118 @@ +--- +name: build + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + + workflow_dispatch: + +jobs: + build-distro: + runs-on: ubuntu-latest + + steps: + - 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' + - uses: BSFishy/meson-build@v1.0.3 + with: + setup-options: --werror + action: test + + 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 libdbus-1-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 libdbus-1-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 dependencies + 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 -Dopenssl:werror=false -Ddbus:werror=false --wrap-mode=forcefallback + options: --verbose + action: test + meson-version: 0.61.2 + + 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 + - 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 |