public inbox for [email protected]
 help / color / mirror / Atom feed
From: Florian Fischer <[email protected]>
To: [email protected]
Cc: Florian Schmaus <[email protected]>,
	Florian Fischer <[email protected]>,
	Ammar Faizi <[email protected]>
Subject: [PATCH liburing 8/9] github bot: add jobs for meson
Date: Wed, 27 Jul 2022 17:27:22 +0200	[thread overview]
Message-ID: <[email protected]> (raw)
In-Reply-To: <[email protected]>

* Use meson CPU family names in matrix
* Install meson and ninja
* Create a cross compilation file
* Build with meson
* Build nolibc variant with meson
* Test installation with meson

Acked-by: Ammar Faizi <[email protected]>
Signed-off-by: Florian Fischer <[email protected]>
---
 .github/workflows/build.yml | 45 +++++++++++++++++++++++++++++++++----
 1 file changed, 41 insertions(+), 4 deletions(-)

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 333929c..95fd892 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -28,7 +28,7 @@ jobs:
             cxx: clang++
 
           # x86 (32-bit) gcc
-          - arch: i686
+          - arch: x86
             cc_pkg: gcc-i686-linux-gnu
             cxx_pkg: g++-i686-linux-gnu
             cc: i686-linux-gnu-gcc
@@ -49,14 +49,14 @@ jobs:
             cxx: arm-linux-gnueabi-g++
 
           # powerpc64
-          - arch: powerpc64
+          - arch: ppc64
             cc_pkg: gcc-powerpc64-linux-gnu
             cxx_pkg: g++-powerpc64-linux-gnu
             cc: powerpc64-linux-gnu-gcc
             cxx: powerpc64-linux-gnu-g++
 
           # powerpc
-          - arch: powerpc
+          - arch: ppc
             cc_pkg: gcc-powerpc-linux-gnu
             cxx_pkg: g++-powerpc-linux-gnu
             cc: powerpc-linux-gnu-gcc
@@ -85,6 +85,8 @@ jobs:
 
     env:
       FLAGS: -g -O3 -Wall -Wextra -Werror
+      MESON_BUILDDIR: build
+      MESON_CROSS_FILE: /tmp/cross-env.txt
 
     steps:
     - name: Checkout source
@@ -114,7 +116,7 @@ jobs:
 
     - name: Build nolibc
       run: |
-        if [[ "${{matrix.arch}}" == "x86_64" || "${{matrix.arch}}" == "i686" || "${{matrix.arch}}" == "aarch64" ]]; then \
+        if [[ "${{matrix.arch}}" == "x86_64" || "${{matrix.arch}}" == "x86" || "${{matrix.arch}}" == "aarch64" ]]; then \
             make clean; \
             ./configure --cc=${{matrix.cc}} --cxx=${{matrix.cxx}} --nolibc; \
             make -j$(nproc) V=1 CPPFLAGS="-Werror" CFLAGS="$FLAGS" CXXFLAGS="$FLAGS"; \
@@ -125,3 +127,38 @@ jobs:
     - name: Test install command
       run: |
         sudo make install;
+
+    - name: Install meson
+      run: |
+        sudo apt-get update -y;
+        sudo apt-get install -y meson;
+
+    - name: Generate meson cross file
+      run: |
+        { \
+          echo -e "[host_machine]\nsystem = 'linux'"; \
+          echo "cpu_family = '${{matrix.arch}}'"; \
+          echo "cpu = '${{matrix.arch}}'"; \
+          echo "endian = 'big'"; \
+          echo -e "[binaries]\nc = '/usr/bin/${{matrix.cc}}'"; \
+          echo "cpp = '/usr/bin/${{matrix.cxx}}'"; \
+        } > "$MESON_CROSS_FILE"
+
+    - name: Build with meson
+      run: |
+        meson setup "$MESON_BUILDDIR" -Dtests=true -Dexamples=true --cross-file "$MESON_CROSS_FILE";
+        ninja -C "$MESON_BUILDDIR";
+
+    - name: Build nolibc with meson
+      run: |
+        if [[ "${{matrix.arch}}" == "x86_64" || "${{matrix.arch}}" == "x86" || "${{matrix.arch}}" == "aarch64" ]]; then \
+            rm -r "$MESON_BUILDDIR"; \
+            meson setup "$MESON_BUILDDIR" -Dnolibc=true -Dtests=true -Dexamples=true --cross-file "$MESON_CROSS_FILE"; \
+            ninja -C "$MESON_BUILDDIR"; \
+        else \
+            echo "Skipping nolibc build, this arch doesn't support building liburing without libc"; \
+        fi;
+
+    - name: Test meson install
+      run: |
+       sudo meson install -C "$MESON_BUILDDIR"
-- 
2.37.1


  parent reply	other threads:[~2022-07-27 15:34 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-27 15:27 [PATCH liburing] add additional meson build system support Florian Fischer
2022-07-27 15:27 ` [PATCH liburing 1/9] add Meson build system Florian Fischer
2022-07-27 15:27 ` [PATCH liburing 2/9] meson: update meson build files for liburing 2.3 Florian Fischer
2022-07-27 15:27 ` [PATCH liburing 3/9] meson: update available tests to " Florian Fischer
2022-07-27 15:27 ` [PATCH liburing 4/9] meson: update installed manpages " Florian Fischer
2022-07-27 15:27 ` [PATCH liburing 5/9] meson: add default test setup running each test once Florian Fischer
2022-07-27 15:27 ` [PATCH liburing 6/9] meson: support building without libc Florian Fischer
2022-07-27 15:27 ` [PATCH liburing 7/9] meson: add 'raw' test suite Florian Fischer
2022-07-27 15:27 ` Florian Fischer [this message]
2022-07-27 15:27 ` [PATCH liburing 9/9] meson: update available examples to liburing 2.3 Florian Fischer
2022-07-27 19:21 ` [PATCH liburing] add additional meson build system support Bart Van Assche
2022-07-27 20:53   ` Florian Fischer
2022-07-29  7:47     ` Florian Schmaus

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220727152723.3320169-9-florian.fischer@muhq.space \
    [email protected] \
    [email protected] \
    [email protected] \
    [email protected] \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox