From 28b0491b0f089046c623286c45815682d6506159 Mon Sep 17 00:00:00 2001 From: Simon Horman Date: Sun, 20 Dec 2020 12:50:11 +0100 Subject: github: initial workflow Initial github workflow which builds kexec on a range of architectures. Signed-off-by: Simon Horman --- .github/workflows/build.yml | 72 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 00000000..df35703a --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,72 @@ +name: Build + +on: push + +jobs: + build: + name: Build + runs-on: ubuntu-20.04 + strategy: + matrix: + arch: + - arm + - arm64 + - hppa + - i686 + - m68k + - mips + - mipsel + - powerpc + - powerpc64 + - powerpc64le + - sh4 + - s390x + - x86_64-x32 + include: + - arch: x86_64 + - arch: x86_64 + libxen: libxen + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Set Environment + env: + LIBXEN: ${{ matrix.libxen }} + ARCH: ${{ matrix.arch }} + run: | + case $LIBXEN in + libxen) EXTRA_PKGS+=" libxen-dev" ;; + esac + + case $ARCH in + arm) GNU_ARCH="arm-linux-gnueabi" ;; + arm64) GNU_ARCH="aarch64-linux-gnu" ;; + x86_64) ;; + x86_64-x32) GNU_ARCH="x86_64-linux-gnux32" + CROSS_COMPILER_PKG="gcc-x86-64-linux-gnux32" ;; + *) GNU_ARCH="$ARCH-linux-gnu" ;; + esac + + if [ -n "$GNU_ARCH" ]; then + if [ -z "$CROSS_COMPILER_PKG" ]; then + CROSS_COMPILER_PKG="gcc-$GNU_ARCH" + fi + EXTRA_PKGS+=" $CROSS_COMPILER_PKG" + CONFIG_FLAGS+=" --host=$GNU_ARCH" + fi + + echo "EXTRA_PKGS=$EXTRA_PKGS" >> $GITHUB_ENV + echo "CONFIG_FLAGS=$CONFIG_FLAGS" >> $GITHUB_ENV + + - name: Install Dependencies + if: env.EXTRA_PKGS != '' + run: sudo apt-get -q=2 install ${{ env.EXTRA_PKGS }} + + - name: Build + run: | + ./bootstrap + ./configure ${{ env.CONFIG_FLAGS }} + make -j"$(nproc)" distcheck \ + DISTCHECK_CONFIGURE_FLAGS="${{ env.CONFIG_FLAGS }}" + -- cgit 1.2.3-korg