On Mon, Mar 17, 2025 at 5:04 PM Lianbo Jiang <liji...@redhat.com> wrote:
> From: lian-bo <liji...@redhat.com> > > Enable ci build on arches: > x86_64, x86, aarch64, s390x, powerpc64, alpha, sparc64, mips, riscv64 > > Signed-off-by: Lianbo Jiang <liji...@redhat.com> > --- > .github/workflows/ci-build.yml | 93 ++++++++++++++++++++++++++++++++++ > 1 file changed, 93 insertions(+) > create mode 100644 .github/workflows/ci-build.yml > > diff --git a/.github/workflows/ci-build.yml > b/.github/workflows/ci-build.yml > new file mode 100644 > index 000000000000..681f104ab1e4 > --- /dev/null > +++ b/.github/workflows/ci-build.yml > @@ -0,0 +1,93 @@ > +name: Build > + > +on: > + push: > + branches: [ "master" ] > + > +jobs: > + build: > + name: Build > + runs-on: ubuntu-24.04 > + strategy: > + matrix: > + arch: > + - x86_64 > + - aarch64 > + - s390x > + - powerpc64 > + - x86 > + - riscv64 > + - mips > + - alpha > + - sparc64 > + > + steps: > + - name: Checkout > + uses: actions/checkout@v4 > + > + - name: Set Environment > + env: > + ARCH: ${{ matrix.arch }} > + run: | > + case $ARCH in > + x86) GNU_ARCH="i686-linux-gnu" ;; > + x86_64) CROSS_COMPILER_PKG="gcc-x86-64-linux-gnu" > + CROSS_COMPILER_PKG+=" g++-x86-64-linux-gnu" > + GNU_ARCH="$ARCH-linux-gnu" ;; > + *) GNU_ARCH="$ARCH-linux-gnu" ;; > + esac > + > + if [ -n "$GNU_ARCH" ]; then > + if [ -z "$CROSS_COMPILER_PKG" ]; then > + CROSS_COMPILER_PKG="gcc-$GNU_ARCH" > + CROSS_COMPILER_PKG+=" g++-$GNU_ARCH" > + fi > + EXTRA_PKGS+=" $CROSS_COMPILER_PKG" > + CROSS_COMPILE="$GNU_ARCH" > + fi > + > + echo "EXTRA_PKGS=$EXTRA_PKGS" >> $GITHUB_ENV > + echo "CROSS_COMPILE=$CROSS_COMPILE" >> $GITHUB_ENV > + > + - name: Install deps for crash-utility building > + run: | > + sudo apt-get update > + sudo apt-get install make gcc g++ bison flex texinfo wget patch > tar build-essential libc-dev autoconf automake libncurses-dev > + > + - name: Install corss compile tool pkgs > + if: env.EXTRA_PKGS != '' > + run: | > + sudo apt-get update > + sudo apt-get -q=2 install ${{ env.EXTRA_PKGS }} > + > + - name: Cross compile gmp lib > + run: | > + mkdir $GITHUB_WORKSPACE/libtools > + wget https://gcc.gnu.org/pub/gcc/infrastructure/gmp-6.2.1.tar.bz2 > + tar -jxvf gmp-6.2.1.tar.bz2 > + cd gmp-6.2.1 > + ./configure --host=${{ env.CROSS_COMPILE }} > --prefix=$GITHUB_WORKSPACE/libtools > + make -j`nproc` > + sudo make install > + cd .. > + - name: Cross compile mpfr lib > + run: | > + wget > https://gcc.gnu.org/pub/gcc/infrastructure/mpfr-4.1.0.tar.bz2 > + tar -jxvf mpfr-4.1.0.tar.bz2 > + cd mpfr-4.1.0 > + ./configure --host=${{ env.CROSS_COMPILE }} > --prefix=$GITHUB_WORKSPACE/libtools --with-gmp=$GITHUB_WORKSPACE/libtools > + make -j`nproc` > + sudo make install > + cd .. > + - name: Cross compile crash-utility > + run: | > + sudo cp $GITHUB_WORKSPACE/libtools/include/* /usr/include/ > + sudo cp -r $GITHUB_WORKSPACE/libtools/lib/* /usr/lib/ > + sudo ldconfig -n /usr/lib/ > Note: the above "ldconfig -n /usr/lib/" is not needed, we can remove it. Thanks Lianbo > + make CROSS_COMPILE=${{ env.CROSS_COMPILE }}- -j"$(nproc)" warn > + - name: Checking and Clean up > + run: | > + echo "Run command: file crash ..." > + file crash > + echo "Clean up for compiling ..." > + make CROSS_COMPILE=${{ env.CROSS_COMPILE }}- -j"$(nproc)" clean > -- > 2.47.1 > >
-- Crash-utility mailing list -- devel@lists.crash-utility.osci.io To unsubscribe send an email to devel-le...@lists.crash-utility.osci.io https://${domain_name}/admin/lists/devel.lists.crash-utility.osci.io/ Contribution Guidelines: https://github.com/crash-utility/crash/wiki