Initial github workflow which builds kexec on a range of architectures. Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> --- .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 0000000..df35703 --- /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 }}" + -- 2.20.1 _______________________________________________ kexec mailing list kexec@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/kexec