From 5b752b5250544441919b7aa4dbd93ff1ec215a92 Mon Sep 17 00:00:00 2001 From: =?utf8?q?St=C3=A9phane=20Graber?= Date: Wed, 18 Dec 2024 22:12:22 -0500 Subject: [PATCH] github: Introduce shared build logic MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Stéphane Graber --- .github/actions/build/action.yml | 67 ++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 .github/actions/build/action.yml diff --git a/.github/actions/build/action.yml b/.github/actions/build/action.yml new file mode 100644 index 000000000..c77e62de4 --- /dev/null +++ b/.github/actions/build/action.yml @@ -0,0 +1,67 @@ +name: Build LXC +description: Install dependencies and build the codebase +inputs: + compiler: + required: true + os: + required: true + variant: + required: true + +runs: + using: "composite" + steps: + - name: Install dependencies + shell: bash + run: | + sudo apt-get update -qq + sudo apt-get install -qq \ + ${{ inputs.compiler }} \ + meson \ + pkg-config \ + uuid-runtime \ + docbook2x \ + linux-libc-dev \ + llvm \ + libapparmor-dev \ + libcap-dev \ + libdbus-1-dev \ + libpam0g-dev \ + libseccomp-dev \ + libselinux1-dev + + - name: Compiler version + shell: bash + env: + CC: ${{ inputs.compiler }} + run: | + ${CC} --version + + - name: Build + shell: bash + env: + CC: ${{ inputs.compiler }} + run: | + # Standard build + if [ "${{ inputs.variant }}" = "default" ]; then + meson setup build \ + -Dprefix=/usr \ + -Dtests=true \ + -Dpam-cgroup=true \ + -Dtools-multicall=true \ + -Dwerror=true \ + -Db_lto_mode=default + elif [ "${{ inputs.variant }}" = "sanitizer" ]; then + meson setup build \ + -Dprefix=/usr \ + -Dtests=true \ + -Dpam-cgroup=true \ + -Dtools-multicall=true \ + -Dwerror=true \ + -Db_lto_mode=default \ + -Dio-uring-event-loop=false \ + -Db_lundef=false \ + -Db_sanitize=address,undefined + fi + + meson compile -C build -- 2.47.2