diff options
Diffstat (limited to '.github')
-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/cross/ubuntu-static.txt | 6 | ||||
-rw-r--r-- | .github/workflows/meson.yml | 72 |
5 files changed, 88 insertions, 10 deletions
diff --git a/.github/cross/ubuntu-armhf.txt b/.github/cross/ubuntu-armhf.txt index 2eee70b..41c8328 100644 --- a/.github/cross/ubuntu-armhf.txt +++ b/.github/cross/ubuntu-armhf.txt @@ -4,6 +4,7 @@ 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 4cf6a92..6baaefb 100644 --- a/.github/cross/ubuntu-ppc64le.txt +++ b/.github/cross/ubuntu-ppc64le.txt @@ -4,6 +4,7 @@ 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 new file mode 100644 index 0000000..51a3511 --- /dev/null +++ b/.github/cross/ubuntu-s390x.txt @@ -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' diff --git a/.github/cross/ubuntu-static.txt b/.github/cross/ubuntu-static.txt new file mode 100644 index 0000000..d4d6c9a --- /dev/null +++ b/.github/cross/ubuntu-static.txt @@ -0,0 +1,6 @@ +[properties] +c_args = '-static' +cpp_args = c_args + +[binaries] +c = '/usr/bin/gcc' diff --git a/.github/workflows/meson.yml b/.github/workflows/meson.yml index 52b2b6a..340cff3 100644 --- a/.github/workflows/meson.yml +++ b/.github/workflows/meson.yml @@ -13,7 +13,7 @@ jobs: runs-on: ubuntu-latest steps: - name: install libraries - run: sudo apt-get install libjson-c-dev + run: sudo apt-get install libjson-c-dev libdbus-1-dev - uses: actions/checkout@v3 - uses: actions/setup-python@v4 with: @@ -44,16 +44,16 @@ jobs: EOF sudo apt update - name: install armhf compiler - run: sudo apt install gcc-arm-linux-gnueabihf pkg-config + run: sudo apt install gcc-arm-linux-gnueabihf pkg-config qemu-user-static - name: install libraries - run: sudo apt install uuid-dev:armhf libjson-c-dev:armhf + run: sudo apt install 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 --wrap-mode=nofallback -Dpython=false options: --verbose - action: build + action: test - uses: actions/upload-artifact@v3 if: failure() with: @@ -74,16 +74,46 @@ jobs: EOF sudo apt update - name: install powerpc64le compiler - run: sudo apt install gcc-powerpc64le-linux-gnu pkg-config + run: sudo apt install gcc-powerpc64le-linux-gnu pkg-config qemu-user-static - name: install libraries - run: sudo apt install uuid-dev:ppc64el libjson-c-dev:ppc64el + run: sudo apt install 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 --wrap-mode=nofallback -Dpython=false options: --verbose - action: build + action: test + - uses: actions/upload-artifact@v3 + if: failure() + with: + name: Linux_Meson_Testlog + path: build/meson-logs/testlog.txt + + build-cross-s390x: + 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 + - 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-s390x.txt --wrap-mode=nofallback -Dpython=false + options: --verbose + action: test - uses: actions/upload-artifact@v3 if: failure() with: @@ -101,7 +131,29 @@ jobs: python-version: '3.x' - uses: BSFishy/meson-build@v1.0.3 with: - setup-options: --werror --wrap-mode=forcefallback + setup-options: --wrap-mode=forcefallback + options: --verbose + action: test + meson-version: 0.61.2 + # Preserve meson's log file on failure + - uses: actions/upload-artifact@v3 + if: failure() + with: + name: Linux_Meson_log + path: build/meson-logs/meson-log.txt + + build-with-libray-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: --wrap-mode=forcefallback --default-library=static options: --verbose action: test meson-version: 0.61.2 @@ -123,7 +175,7 @@ jobs: python-version: '3.x' - uses: BSFishy/meson-build@v1.0.3 with: - setup-options: --werror --wrap-mode=forcefallback --default-library=static + setup-options: --wrap-mode=forcefallback --cross-file=.github/cross/ubuntu-static.txt --default-library=static options: --verbose action: test meson-version: 0.61.2 @@ -138,7 +190,7 @@ jobs: runs-on: ubuntu-latest steps: - name: install libraries - run: sudo apt-get install libjson-c-dev lcov + run: sudo apt-get install libjson-c-dev libdbus-1-dev lcov - uses: actions/checkout@v3 - uses: actions/setup-python@v4 with: |