From a09c0fe9551d115761c42d34a053cad02aca752e Mon Sep 17 00:00:00 2001 From: kasperk81 <83082615+kasperk81@users.noreply.github.com> Date: Mon, 5 Dec 2022 03:32:16 +0000 Subject: update ci badges in the readme --- .github/workflows/CI-linux.yml | 129 ----------------------------------------- .github/workflows/CI-unix.yml | 129 +++++++++++++++++++++++++++++++++++++++++ .github/workflows/CI-win.yml | 2 +- .travis.yml | 103 -------------------------------- README | 3 +- 5 files changed, 132 insertions(+), 234 deletions(-) delete mode 100644 .github/workflows/CI-linux.yml create mode 100644 .github/workflows/CI-unix.yml delete mode 100644 .travis.yml diff --git a/.github/workflows/CI-linux.yml b/.github/workflows/CI-linux.yml deleted file mode 100644 index 3abef54d..00000000 --- a/.github/workflows/CI-linux.yml +++ /dev/null @@ -1,129 +0,0 @@ -name: CI-linux - -on: - pull_request: - paths: - - '**' - - '!README' - - '!INSTALL' - - '!NEWS' - - '!doc/**' - - '!.**' - - '.github/workflows/CI-linux.yml' - push: - branches: - - v[0-9].* - - master - -jobs: - build: - runs-on: ubuntu-latest - name: build-${{ join(matrix.*, ' ') }} - strategy: - fail-fast: false - matrix: - HOST: - - x86_64-linux-gnu - - x86-linux-gnu - - arm-linux-gnueabihf - - aarch64-linux-gnu - - mipsel-linux-gnu - - powerpc64-linux-gnu - OPT: - - O0 - - O3 - steps: - - uses: actions/checkout@v2 - - name: Setup - run: | - HOST=${{ matrix.HOST }} - if [ $HOST = 'x86-linux-gnu' ]; then - sudo apt-get update - sudo apt-get install -yqq -o=Dpkg::Use-Pty=0 g++-multilib - elif [ $HOST != 'x86_64-linux-gnu' ]; then - sudo apt-get update - sudo apt-get install -yqq -o=Dpkg::Use-Pty=0 g++-$HOST - fi - - name: Configure - run: | - set -x - HOST=${{ matrix.HOST }} - BUILD=x86_64-linux-gnu - if [ $HOST = 'x86-linux-gnu' ]; then - CFLAGS="-m32" - CXXFLAGS="-m32" - BUILD=x86-linux-gnu - fi - export CFLAGS="$CFLAGS -${{ matrix.OPT }}" - export CXXFLAGS="$CXXFLAGS -${{ matrix.OPT}}" - autoreconf -i - ./configure --build=$BUILD --host=$HOST - make -j8 - - name: Test (native) - if: ${{ success() && (matrix.HOST == 'x86_64-linux-gnu' || matrix.HOST == 'x86-linux-gnu') }} - run: | - set -x - sudo bash -c 'echo core.%p.%p > /proc/sys/kernel/core_pattern' - ulimit -c unlimited - make check -j32 - - name: Show Logs - if: ${{ failure() }} - run: | - cat tests/test-suite.log 2>/dev/null - - build-cross-qemu: - runs-on: ubuntu-latest - name: build-cross-qemu-${{ matrix.config.target }} - - strategy: - fail-fast: false - matrix: - config: - - {target: arm, toolchain: g++-arm-linux-gnueabi, host: arm-linux-gnueabi, qemu: arm } - - {target: armhf, toolchain: g++-arm-linux-gnueabihf, host: arm-linux-gnueabihf, qemu: arm } - - {target: aarch64, toolchain: g++-aarch64-linux-gnu, host: aarch64-linux-gnu, qemu: aarch64 } - - {target: riscv64, toolchain: g++-riscv64-linux-gnu, host: riscv64-linux-gnu, qemu: riscv64 } - - {target: ppc, toolchain: g++-powerpc-linux-gnu, host: powerpc-linux-gnu, qemu: ppc } - - {target: ppc64, toolchain: g++-powerpc64-linux-gnu, host: powerpc64-linux-gnu, qemu: ppc64 } - - {target: ppc64le, toolchain: g++-powerpc64le-linux-gnu, host: powerpc64le-linux-gnu, qemu: ppc64le } - - {target: s390x, toolchain: g++-s390x-linux-gnu, host: s390x-linux-gnu, qemu: s390x } - - {target: mips, toolchain: g++-mips-linux-gnu, host: mips-linux-gnu, qemu: mips } - - {target: mips64, toolchain: g++-mips64-linux-gnuabi64, host: mips64-linux-gnuabi64, qemu: mips64 } - - {target: mipsel, toolchain: g++-mipsel-linux-gnu, host: mipsel-linux-gnu, qemu: mipsel } - - {target: mips64el,toolchain: g++-mips64el-linux-gnuabi64, host: mips64el-linux-gnuabi64,qemu: mips64el } - - steps: - - uses: actions/checkout@v2 - - name: Install QEMU - # this ensure install latest qemu on ubuntu, apt get version is old - env: - QEMU_SRC: "http://archive.ubuntu.com/ubuntu/pool/universe/q/qemu" - QEMU_VER: "qemu-user-static_4\\.2-.*_amd64.deb$" - run: | - DEB=`curl -s $QEMU_SRC/ | grep -o -E 'href="([^"#]+)"' | cut -d'"' -f2 | grep $QEMU_VER | tail -1` - wget $QEMU_SRC/$DEB - sudo dpkg -i $DEB - - name: Install ${{ matrix.config.toolchain }} - run: | - sudo apt update - sudo apt install ${{ matrix.config.toolchain }} -y - - name: Configure with ${{ matrix.config.cc }} - run: | - set -x - autoreconf -i - BUILD=x86_64-linux-gnu - ./configure --build=$BUILD --host=${{ matrix.config.host }} --with-testdriver=$(pwd)/scripts/qemu-test-driver - - name: Build - run: | - make -j8 - - name: Test - run: | - set -x - sudo bash -c 'echo core.%p.%p > /proc/sys/kernel/core_pattern' - ulimit -c unlimited - CROSS_LIB="/usr/${{ matrix.config.host }}" - make -j8 check LOG_DRIVER_FLAGS="--qemu-arch ${{ matrix.config.qemu }}" LDFLAGS="-L$CROSS_LIB/lib -static" QEMU_LD_PREFIX="$CROSS_LIB" - - name: Show Logs - if: ${{ failure() }} - run: | - cat tests/test-suite.log 2>/dev/null diff --git a/.github/workflows/CI-unix.yml b/.github/workflows/CI-unix.yml new file mode 100644 index 00000000..7d48b48d --- /dev/null +++ b/.github/workflows/CI-unix.yml @@ -0,0 +1,129 @@ +name: CI - Unix + +on: + pull_request: + paths: + - '**' + - '!README' + - '!INSTALL' + - '!NEWS' + - '!doc/**' + - '!.**' + - '.github/workflows/CI-unix.yml' + push: + branches: + - v[0-9].* + - master + +jobs: + build: + runs-on: ubuntu-latest + name: build-${{ join(matrix.*, ' ') }} + strategy: + fail-fast: false + matrix: + HOST: + - x86_64-linux-gnu + - x86-linux-gnu + - arm-linux-gnueabihf + - aarch64-linux-gnu + - mipsel-linux-gnu + - powerpc64-linux-gnu + OPT: + - O0 + - O3 + steps: + - uses: actions/checkout@v2 + - name: Setup + run: | + HOST=${{ matrix.HOST }} + if [ $HOST = 'x86-linux-gnu' ]; then + sudo apt-get update + sudo apt-get install -yqq -o=Dpkg::Use-Pty=0 g++-multilib + elif [ $HOST != 'x86_64-linux-gnu' ]; then + sudo apt-get update + sudo apt-get install -yqq -o=Dpkg::Use-Pty=0 g++-$HOST + fi + - name: Configure + run: | + set -x + HOST=${{ matrix.HOST }} + BUILD=x86_64-linux-gnu + if [ $HOST = 'x86-linux-gnu' ]; then + CFLAGS="-m32" + CXXFLAGS="-m32" + BUILD=x86-linux-gnu + fi + export CFLAGS="$CFLAGS -${{ matrix.OPT }}" + export CXXFLAGS="$CXXFLAGS -${{ matrix.OPT}}" + autoreconf -i + ./configure --build=$BUILD --host=$HOST + make -j8 + - name: Test (native) + if: ${{ success() && (matrix.HOST == 'x86_64-linux-gnu' || matrix.HOST == 'x86-linux-gnu') }} + run: | + set -x + sudo bash -c 'echo core.%p.%p > /proc/sys/kernel/core_pattern' + ulimit -c unlimited + make check -j32 + - name: Show Logs + if: ${{ failure() }} + run: | + cat tests/test-suite.log 2>/dev/null + + build-cross-qemu: + runs-on: ubuntu-latest + name: build-cross-qemu-${{ matrix.config.target }} + + strategy: + fail-fast: false + matrix: + config: + - {target: arm, toolchain: g++-arm-linux-gnueabi, host: arm-linux-gnueabi, qemu: arm } + - {target: armhf, toolchain: g++-arm-linux-gnueabihf, host: arm-linux-gnueabihf, qemu: arm } + - {target: aarch64, toolchain: g++-aarch64-linux-gnu, host: aarch64-linux-gnu, qemu: aarch64 } + - {target: riscv64, toolchain: g++-riscv64-linux-gnu, host: riscv64-linux-gnu, qemu: riscv64 } + - {target: ppc, toolchain: g++-powerpc-linux-gnu, host: powerpc-linux-gnu, qemu: ppc } + - {target: ppc64, toolchain: g++-powerpc64-linux-gnu, host: powerpc64-linux-gnu, qemu: ppc64 } + - {target: ppc64le, toolchain: g++-powerpc64le-linux-gnu, host: powerpc64le-linux-gnu, qemu: ppc64le } + - {target: s390x, toolchain: g++-s390x-linux-gnu, host: s390x-linux-gnu, qemu: s390x } + - {target: mips, toolchain: g++-mips-linux-gnu, host: mips-linux-gnu, qemu: mips } + - {target: mips64, toolchain: g++-mips64-linux-gnuabi64, host: mips64-linux-gnuabi64, qemu: mips64 } + - {target: mipsel, toolchain: g++-mipsel-linux-gnu, host: mipsel-linux-gnu, qemu: mipsel } + - {target: mips64el,toolchain: g++-mips64el-linux-gnuabi64, host: mips64el-linux-gnuabi64,qemu: mips64el } + + steps: + - uses: actions/checkout@v2 + - name: Install QEMU + # this ensure install latest qemu on ubuntu, apt get version is old + env: + QEMU_SRC: "http://archive.ubuntu.com/ubuntu/pool/universe/q/qemu" + QEMU_VER: "qemu-user-static_4\\.2-.*_amd64.deb$" + run: | + DEB=`curl -s $QEMU_SRC/ | grep -o -E 'href="([^"#]+)"' | cut -d'"' -f2 | grep $QEMU_VER | tail -1` + wget $QEMU_SRC/$DEB + sudo dpkg -i $DEB + - name: Install ${{ matrix.config.toolchain }} + run: | + sudo apt update + sudo apt install ${{ matrix.config.toolchain }} -y + - name: Configure with ${{ matrix.config.cc }} + run: | + set -x + autoreconf -i + BUILD=x86_64-linux-gnu + ./configure --build=$BUILD --host=${{ matrix.config.host }} --with-testdriver=$(pwd)/scripts/qemu-test-driver + - name: Build + run: | + make -j8 + - name: Test + run: | + set -x + sudo bash -c 'echo core.%p.%p > /proc/sys/kernel/core_pattern' + ulimit -c unlimited + CROSS_LIB="/usr/${{ matrix.config.host }}" + make -j8 check LOG_DRIVER_FLAGS="--qemu-arch ${{ matrix.config.qemu }}" LDFLAGS="-L$CROSS_LIB/lib -static" QEMU_LD_PREFIX="$CROSS_LIB" + - name: Show Logs + if: ${{ failure() }} + run: | + cat tests/test-suite.log 2>/dev/null diff --git a/.github/workflows/CI-win.yml b/.github/workflows/CI-win.yml index 73e7a1ec..7effb9b2 100644 --- a/.github/workflows/CI-win.yml +++ b/.github/workflows/CI-win.yml @@ -1,4 +1,4 @@ -name: CI-win +name: CI - Windows on: pull_request: diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 14ab14a1..00000000 --- a/.travis.yml +++ /dev/null @@ -1,103 +0,0 @@ -sudo: required -language: c -compiler: gcc -env: -- HOST=x86_64-linux-gnu OPT=-O0 -- HOST=x86-linux-gnu OPT=-O0 -- HOST=arm-linux-gnueabihf OPT=-O0 -- HOST=aarch64-linux-gnu OPT=-O0 -- HOST=mipsel-linux-gnu OPT=-O0 -- HOST=powerpc64-linux-gnu OPT=-O0 -- HOST=x86_64-linux-gnu OPT=-O2 -- HOST=x86-linux-gnu OPT=-O2 -- HOST=arm-linux-gnueabihf OPT=-O2 -- HOST=aarch64-linux-gnu OPT=-O2 -- HOST=mipsel-linux-gnu OPT=-O2 -- HOST=powerpc64-linux-gnu OPT=-O2 -- HOST=x86_64-linux-gnu OPT=-O3 -- HOST=x86-linux-gnu OPT=-O3 -- HOST=arm-linux-gnueabihf OPT=-O3 -- HOST=aarch64-linux-gnu OPT=-O3 -- HOST=mipsel-linux-gnu OPT=-O3 -- HOST=powerpc64-linux-gnu OPT=-O3 - -linux-s390x: &linux-s390x - os: linux - dist: focal - arch: s390x - env: HOST=s390x-linux-gnu BUILD=s390x-linux-gnu - script: - - | - CFLAGS="$OPT" - CXXFLAGS="$OPT" - export CFLAGS CXXFLAGS - - autoreconf -i - - ./configure - - make -j32 - - ulimit -c unlimited - - make check -j32 - -linux-arm64: &linux-arm64 - dist: focal - arch: arm64-graviton2 - group: edge - virt: vm - env: OPT=-O2 - script: - - | - CFLAGS="$OPT" - CXXFLAGS="$OPT" - export CFLAGS CXXFLAGS - - autoreconf -i - - ./configure - - make -j32 - - ulimit -c unlimited - - make check -j32 - -windows-remote-only: &windows-remote-only - os: windows - compiler: msvc - script: - - cmake -G "Visual Studio 15 2017" -A ${WINHOST} -S . -B bin/windows-${WINHOST}/${TARGET} - - cmake --build bin/windows-${WINHOST}/${TARGET} - -script: -- | - BUILD=x86_64-linux-gnu - export BUILD - if [ $HOST = 'x86-linux-gnu' ]; then - sudo apt-get update - sudo apt-get install -yqq -o=Dpkg::Use-Pty=0 g++-multilib - CFLAGS=" -m32" - CXXFLAGS=" -m32" - export CFLAGS CXXFLAGS - elif [ $HOST != 'x86_64-linux-gnu' ]; then - sudo apt-get update - sudo apt-get install -yqq -o=Dpkg::Use-Pty=0 g++-$HOST - CC=$HOST-gcc - CXX=$HOST-g++ - export CC CXX - fi -- | - CFLAGS="$CFLAGS $OPT" - CXXFLAGS="$CXXFLAGS $OPT" - export CFLAGS CXXFLAGS -- autoreconf -i -- ./configure CC=$CC CXX=$CXX CFLAGS="$CFLAGS" CXXFLAGS="$CXXFLAGS" --build=$BUILD --host=$HOST -- make -j32 -- sudo bash -c 'echo core.%p.%p > /proc/sys/kernel/core_pattern' -- ulimit -c unlimited -- if [ $HOST = 'x86_64-linux-gnu' ]; then make check -j32; fi - -after_failure: cat tests/test-suite.log 2>/dev/null - -jobs: - include: - - <<: *linux-s390x - - <<: *windows-remote-only - env: WINHOST=x64 TARGET=x86_64-linux-gnu - - <<: *windows-remote-only - env: WINHOST=Win32 TARGET=arm-linux-gnueabihf - - <<: *windows-remote-only - env: WINHOST=x64 TARGET=aarch64-linux-gnu - - <<: *linux-arm64 diff --git a/README b/README index 9bf1aa3b..8130fbdd 100644 --- a/README +++ b/README @@ -1,6 +1,7 @@ # libunwind -[![Build Status](https://api.travis-ci.com/libunwind/libunwind.svg?branch=master)](https://app.travis-ci.com/github/libunwind/libunwind) +[![CI - Unix](https://github.com/libunwind/libunwind/actions/workflows/CI-unix.yml/badge.svg)](https://github.com/libunwind/libunwind/actions/workflows/CI-unix.yml) +[![CI - Windows](https://github.com/libunwind/libunwind/actions/workflows/CI-win.yml/badge.svg)](https://github.com/libunwind/libunwind/actions/workflows/CI-win.yml) This library supports several architecture/operating-system combinations: -- cgit v1.2.1