ci: add ppc64le cross compilation in GHA
Enable Github Actions to cross-compile code for POWER systems. Signed-off-by: David Christensen <drc@linux.vnet.ibm.com> Reviewed-by: David Marchand <david.marchand@redhat.com>
This commit is contained in:
parent
6f01a3ca5c
commit
91949f133d
@ -64,6 +64,10 @@ if [ "$AARCH64" = "true" ]; then
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$PPC64LE" = "true" ]; then
|
||||
OPTS="$OPTS --cross-file config/ppc/ppc64le-power8-linux-gcc-ubuntu1804"
|
||||
fi
|
||||
|
||||
if [ "$BUILD_DOCS" = "true" ]; then
|
||||
OPTS="$OPTS -Denable_docs=true"
|
||||
fi
|
||||
@ -86,7 +90,7 @@ OPTS="$OPTS -Dcheck_includes=true"
|
||||
meson build --werror $OPTS
|
||||
ninja -C build
|
||||
|
||||
if [ "$AARCH64" != "true" ]; then
|
||||
if [ "$AARCH64" != "true" ] && [ "$PPC64LE" != "true" ]; then
|
||||
failed=
|
||||
configure_coredump
|
||||
devtools/test-null.sh || failed="true"
|
||||
|
15
.github/workflows/build.yml
vendored
15
.github/workflows/build.yml
vendored
@ -21,6 +21,7 @@ jobs:
|
||||
CC: ccache ${{ matrix.config.compiler }}
|
||||
DEF_LIB: ${{ matrix.config.library }}
|
||||
LIBABIGAIL_VERSION: libabigail-1.8
|
||||
PPC64LE: ${{ matrix.config.cross == 'ppc64le' }}
|
||||
REF_GIT_TAG: none
|
||||
RUN_TESTS: ${{ contains(matrix.config.checks, 'tests') }}
|
||||
|
||||
@ -56,6 +57,14 @@ jobs:
|
||||
compiler: gcc
|
||||
library: shared
|
||||
cross: aarch64
|
||||
- os: ubuntu-18.04
|
||||
compiler: gcc
|
||||
library: static
|
||||
cross: ppc64le
|
||||
- os: ubuntu-18.04
|
||||
compiler: gcc
|
||||
library: shared
|
||||
cross: ppc64le
|
||||
|
||||
steps:
|
||||
- name: Checkout sources
|
||||
@ -107,8 +116,12 @@ jobs:
|
||||
if: env.AARCH64 == 'true'
|
||||
run: sudo apt install -y gcc-aarch64-linux-gnu libc6-dev-arm64-cross
|
||||
pkg-config-aarch64-linux-gnu
|
||||
- name: Install ppc64le cross compiling packages
|
||||
if: env.PPC64LE == 'true'
|
||||
run: sudo apt install -y gcc-powerpc64le-linux-gnu libc6-dev-ppc64el-cross
|
||||
pkg-config-powerpc-linux-gnu
|
||||
- name: Install test tools packages
|
||||
if: env.AARCH64 != 'true' || env.RUN_TESTS == 'true'
|
||||
if: env.AARCH64 != 'true' || env.PPC64LE != 'true' || env.RUN_TESTS == 'true'
|
||||
run: sudo apt install -y gdb
|
||||
- name: Install doc generation packages
|
||||
if: env.BUILD_DOCS == 'true'
|
||||
|
11
config/ppc/ppc64le-power8-linux-gcc-ubuntu1804
Normal file
11
config/ppc/ppc64le-power8-linux-gcc-ubuntu1804
Normal file
@ -0,0 +1,11 @@
|
||||
[binaries]
|
||||
c = 'powerpc64le-linux-gnu-gcc'
|
||||
cpp = 'powerpc64le-linux-gnu-cpp'
|
||||
ar = 'powerpc64le-linux-gnu-ar'
|
||||
strip = 'powerpc64le-linux-gnu-strip'
|
||||
|
||||
[host_machine]
|
||||
system = 'linux'
|
||||
cpu_family = 'ppc64'
|
||||
cpu = 'power8'
|
||||
endian = 'little'
|
Loading…
Reference in New Issue
Block a user