As of recent, the fs_partial_read and fs_partial_write tests reliably fail on that architecture. An upgrade from Ubuntu 20.04 to 22.04 on the CI machines is suspected, not any changes in libuv itself. Perhaps it's possible to work around it in the tests but as Alpha is a dead architecture, it doesn't seem worthwhile to sink time in that. Let's remove it from the CI matrix instead. Fixes: https://github.com/libuv/libuv/issues/3843
129 lines
5.2 KiB
YAML
129 lines
5.2 KiB
YAML
name: CI-unix
|
|
|
|
on:
|
|
pull_request:
|
|
paths:
|
|
- '**'
|
|
- '!docs/**'
|
|
- '!src/win/**'
|
|
- '!.**'
|
|
- '.github/workflows/CI-unix.yml'
|
|
push:
|
|
branches:
|
|
- v[0-9].*
|
|
- master
|
|
|
|
jobs:
|
|
build-android:
|
|
runs-on: ubuntu-latest
|
|
container: reactnativecommunity/react-native-android:2020-5-20
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Envinfo
|
|
run: npx envinfo
|
|
- name: Configure android arm64
|
|
# see build options you can use in https://developer.android.com/ndk/guides/cmake
|
|
run: |
|
|
mkdir build
|
|
cd build
|
|
$ANDROID_HOME/cmake/3.10.2.4988404/bin/cmake -DCMAKE_TOOLCHAIN_FILE=$ANDROID_HOME/ndk/20.0.5594570/build/cmake/android.toolchain.cmake -DCMAKE_BUILD_TYPE=Release -DANDROID_ABI="arm64-v8a" -DANDROID_PLATFORM=android-24 ..
|
|
- name: Build android arm64
|
|
run: |
|
|
$ANDROID_HOME/cmake/3.10.2.4988404/bin/cmake --build build
|
|
ls -lh build
|
|
|
|
build-macos:
|
|
runs-on: macos-11
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Envinfo
|
|
run: npx envinfo
|
|
- name: Setup
|
|
run: |
|
|
brew install ninja
|
|
- name: Configure
|
|
run: |
|
|
mkdir build
|
|
cd build
|
|
cmake .. -DBUILD_TESTING=ON -G Ninja
|
|
- name: Build
|
|
run: |
|
|
cmake --build build
|
|
ls -lh
|
|
- name: platform_output
|
|
run: |
|
|
./build/uv_run_tests platform_output
|
|
- name: platform_output_a
|
|
run: |
|
|
./build/uv_run_tests_a platform_output
|
|
- name: Test
|
|
run: |
|
|
cd build && ctest -V
|
|
|
|
build-ios:
|
|
runs-on: macos-11
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Configure
|
|
run: |
|
|
mkdir build-ios
|
|
cd build-ios
|
|
cmake .. -GXcode -DCMAKE_SYSTEM_NAME:STRING=iOS -DCMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_ALLOWED:BOOL=NO -DCMAKE_CONFIGURATION_TYPES:STRING=Release
|
|
- name: Build
|
|
run: |
|
|
cmake --build build-ios
|
|
ls -lh build-ios
|
|
|
|
build-cross-qemu:
|
|
runs-on: ubuntu-latest
|
|
name: build-cross-qemu-${{ matrix.config.target }}
|
|
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
config:
|
|
- {target: arm, toolchain: gcc-arm-linux-gnueabi, cc: arm-linux-gnueabi-gcc, qemu: qemu-arm-static }
|
|
- {target: armhf, toolchain: gcc-arm-linux-gnueabihf, cc: arm-linux-gnueabihf-gcc, qemu: qemu-arm-static }
|
|
- {target: aarch64, toolchain: gcc-aarch64-linux-gnu, cc: aarch64-linux-gnu-gcc, qemu: qemu-aarch64-static }
|
|
- {target: riscv64, toolchain: gcc-riscv64-linux-gnu, cc: riscv64-linux-gnu-gcc, qemu: qemu-riscv64-static }
|
|
- {target: ppc, toolchain: gcc-powerpc-linux-gnu, cc: powerpc-linux-gnu-gcc, qemu: qemu-ppc-static }
|
|
- {target: ppc64, toolchain: gcc-powerpc64-linux-gnu, cc: powerpc64-linux-gnu-gcc, qemu: qemu-ppc64-static }
|
|
- {target: ppc64le, toolchain: gcc-powerpc64le-linux-gnu, cc: powerpc64le-linux-gnu-gcc, qemu: qemu-ppc64le-static }
|
|
- {target: s390x, toolchain: gcc-s390x-linux-gnu, cc: s390x-linux-gnu-gcc, qemu: qemu-s390x-static }
|
|
- {target: mips, toolchain: gcc-mips-linux-gnu, cc: mips-linux-gnu-gcc, qemu: qemu-mips-static }
|
|
- {target: mips64, toolchain: gcc-mips64-linux-gnuabi64, cc: mips64-linux-gnuabi64-gcc, qemu: qemu-mips64-static }
|
|
- {target: mipsel, toolchain: gcc-mipsel-linux-gnu, cc: mipsel-linux-gnu-gcc, qemu: qemu-mipsel-static }
|
|
- {target: mips64el,toolchain: gcc-mips64el-linux-gnuabi64, cc: mips64el-linux-gnuabi64-gcc,qemu: qemu-mips64el-static }
|
|
- {target: arm (u64 slots), toolchain: gcc-arm-linux-gnueabi, cc: arm-linux-gnueabi-gcc, qemu: qemu-arm-static}
|
|
- {target: aarch64 (u64 slots), toolchain: gcc-aarch64-linux-gnu, cc: aarch64-linux-gnu-gcc, qemu: qemu-aarch64-static}
|
|
- {target: ppc (u64 slots), toolchain: gcc-powerpc-linux-gnu, cc: powerpc-linux-gnu-gcc, qemu: qemu-ppc-static}
|
|
- {target: ppc64 (u64 slots), toolchain: gcc-powerpc64-linux-gnu, cc: powerpc64-linux-gnu-gcc, qemu: qemu-ppc64-static}
|
|
|
|
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_7\\.0+dfsg-.*_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: |
|
|
mkdir build
|
|
cd build
|
|
cmake .. -DBUILD_TESTING=ON -DQEMU=ON -DCMAKE_C_COMPILER=${{ matrix.config.cc }}
|
|
- name: Build
|
|
run: |
|
|
cmake --build build
|
|
ls -lh build
|
|
- name: Test
|
|
run: |
|
|
${{ matrix.config.qemu }} build/uv_run_tests_a
|