summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Horman <horms@verge.net.au>2020-12-20 12:50:11 +0100
committerSimon Horman <horms@verge.net.au>2021-04-02 12:12:17 +0200
commit28b0491b0f089046c623286c45815682d6506159 (patch)
tree4b71964dd6fe3833b48d4d63c8294f49ae25b059
parente0a17a2014de662803965fd1a8211ceaf7230498 (diff)
downloadkexec-tools-28b0491b0f089046c623286c45815682d6506159.tar.gz
github: initial workflow
Initial github workflow which builds kexec on a range of architectures. Signed-off-by: Simon Horman <horms@verge.net.au>
-rw-r--r--.github/workflows/build.yml72
1 files changed, 72 insertions, 0 deletions
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 }}"
+