Red Bear OS relibc baseline
From release 0.1.0 pre-patched archive. This includes all Red Bear modifications previously maintained as patches in local/patches/relibc/.
This commit is contained in:
Vendored
+93
@@ -0,0 +1,93 @@
|
||||
name: CI
|
||||
on:
|
||||
pull_request:
|
||||
branches:
|
||||
- master
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
tags: '*'
|
||||
jobs:
|
||||
test-unix:
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os:
|
||||
- ubuntu-latest
|
||||
- macos-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
- run: make
|
||||
- run: make test
|
||||
windows:
|
||||
runs-on: windows-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- { sys: mingw64, env: x86_64 }
|
||||
- { sys: mingw32, env: i686 }
|
||||
- { sys: ucrt64, env: ucrt-x86_64 } # Experimental!
|
||||
- { sys: clang64, env: clang-x86_64 } # Experimental!
|
||||
defaults:
|
||||
run:
|
||||
shell: msys2 {0}
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
- name: Set up the desired MSYS2 environment
|
||||
uses: msys2/setup-msys2@v2
|
||||
with:
|
||||
msystem: ${{matrix.sys}}
|
||||
install: base-devel mingw-w64-${{matrix.env}}-toolchain
|
||||
- run: make
|
||||
- run: make test
|
||||
code-coverage-old:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
- name: Setup LCOV
|
||||
uses: hrishikesh-kadam/setup-lcov@v1
|
||||
- name: Build and Run tests
|
||||
run: make coverage -j
|
||||
# - name: Upload coverage to Codecov
|
||||
# uses: codecov/codecov-action@v5
|
||||
# with:
|
||||
# files: ./cov-html/libopenlibm.info
|
||||
# token: ${{ secrets.CODECOV_TOKEN }}
|
||||
- uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: code-coverage-report-old
|
||||
path: ./cov-html/
|
||||
code-coverage:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Openlibm
|
||||
uses: actions/checkout@v5
|
||||
- name: Checkout Openlibm-test
|
||||
uses: actions/checkout@v5
|
||||
with:
|
||||
repository: 'JuliaMath/openlibm-test'
|
||||
path: 'openlibm-test'
|
||||
- name: Setup LCOV
|
||||
uses: hrishikesh-kadam/setup-lcov@v1
|
||||
- name: Build Openlibm
|
||||
run: make -j`nproc` CODE_COVERAGE=1
|
||||
- name: Run Test
|
||||
run: |
|
||||
make -j`nproc` -C openlibm-test \
|
||||
USE_OPENLIBM=1 OPENLIBM_HOME="$(pwd)" \
|
||||
SKIP_FP_EXCEPT_TEST=1 \
|
||||
- name: Show Test Result
|
||||
run: cat openlibm-test/src/REPORT
|
||||
- name: Gen Coverage Report
|
||||
run: make gen-cov-report
|
||||
- name: Upload coverage to Codecov
|
||||
uses: codecov/codecov-action@v5
|
||||
with:
|
||||
files: ./cov-html/libopenlibm.info
|
||||
token: ${{ secrets.CODECOV_TOKEN }}
|
||||
- uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: code-coverage-report
|
||||
path: ./cov-html/
|
||||
@@ -0,0 +1,54 @@
|
||||
# merge this file into cross.yml
|
||||
# when we can `sudo apt install gcc-loongarch64-linux-gnu` on ubuntu
|
||||
name: Cross
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
branches:
|
||||
- master
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
tags: '*'
|
||||
|
||||
jobs:
|
||||
build-cross-qemu:
|
||||
# TODO: We need Ubuntu 24.04 to use newer version of qemu,
|
||||
# switch to ubuntu-latest when `ubuntu-latest >= 24.04`
|
||||
runs-on: ubuntu-24.04
|
||||
name: build-cross-qemu-${{ matrix.config.arch }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
config:
|
||||
- { arch: loongarch64, triple: loongarch64-linux-gnu }
|
||||
env:
|
||||
ARCH: ${{ matrix.config.arch }}
|
||||
TRIPLE: ${{ matrix.config.triple }}
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
- name: Install qemu
|
||||
run: |
|
||||
sudo apt update
|
||||
sudo apt install -y qemu-user qemu-user-binfmt
|
||||
- name: Install gcc-${{ matrix.config.triple }}
|
||||
# package gcc-loongarch64-linux-gnu seems not exist
|
||||
# https://packages.debian.org/sid/amd64/gcc-loongarch64-linux-gnu
|
||||
run: sudo apt install -y gcc-14-loongarch64-linux-gnu
|
||||
- name: Build with ${{ matrix.config.triple }}-gcc
|
||||
run: |
|
||||
make ARCH=$ARCH TOOLPREFIX=$TRIPLE- \
|
||||
CC='loongarch64-linux-gnu-gcc-14' \
|
||||
AR='loongarch64-linux-gnu-gcc-ar-14' \
|
||||
- name: Build tests
|
||||
run: |
|
||||
make -C test ARCH=$ARCH TOOLPREFIX=$TRIPLE- \
|
||||
CC='loongarch64-linux-gnu-gcc-14' \
|
||||
AR='loongarch64-linux-gnu-gcc-ar-14' \
|
||||
- name: Run Tests
|
||||
env:
|
||||
QEMU_EXEC: qemu-${{ matrix.config.arch }}
|
||||
CROSS_LIB: /usr/${{ matrix.config.triple }}
|
||||
run: |
|
||||
$QEMU_EXEC -L . -L $CROSS_LIB/ test/test-float
|
||||
$QEMU_EXEC -L . -L $CROSS_LIB/ test/test-double
|
||||
Vendored
+53
@@ -0,0 +1,53 @@
|
||||
name: Cross
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
branches:
|
||||
- master
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
tags: '*'
|
||||
|
||||
jobs:
|
||||
build-cross-qemu:
|
||||
# TODO: We need Ubuntu 24.04 to use newer version of qemu,
|
||||
# switch to ubuntu-latest when `ubuntu-latest >= 24.04`
|
||||
runs-on: ubuntu-24.04
|
||||
name: build-cross-qemu-${{ matrix.config.arch }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
config:
|
||||
- { arch: arm, triple: arm-linux-gnueabihf }
|
||||
- { arch: aarch64, triple: aarch64-linux-gnu }
|
||||
- { arch: ppc, triple: powerpc-linux-gnu }
|
||||
- { arch: ppc64, triple: powerpc64-linux-gnu }
|
||||
- { arch: ppc64le, triple: powerpc64le-linux-gnu }
|
||||
- { arch: mips, triple: mips-linux-gnu }
|
||||
- { arch: mipsel, triple: mipsel-linux-gnu }
|
||||
# Builds successfully, but tests fail.
|
||||
# - { arch: mips64, triple: mips64-linux-gnuabi64 }
|
||||
# - { arch: mips64el, triple: mips64el-linux-gnuabi64 }
|
||||
- { arch: riscv64, triple: riscv64-linux-gnu }
|
||||
- { arch: s390x, triple: s390x-linux-gnu }
|
||||
env:
|
||||
ARCH: ${{ matrix.config.arch }}
|
||||
TRIPLE: ${{ matrix.config.triple }}
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
- name: Install qemu and toolchain gcc-${{ matrix.config.triple }}
|
||||
run: |
|
||||
sudo apt update
|
||||
sudo apt install qemu-user qemu-user-binfmt gcc-$TRIPLE -y
|
||||
- name: Build with ${{ matrix.config.triple }}-gcc
|
||||
run: make ARCH=$ARCH TOOLPREFIX=$TRIPLE-
|
||||
- name: Build tests
|
||||
run: make -C test ARCH=$ARCH TOOLPREFIX=$TRIPLE-
|
||||
- name: Run Tests
|
||||
env:
|
||||
QEMU_EXEC: qemu-${{ matrix.config.arch }}
|
||||
CROSS_LIB: /usr/${{ matrix.config.triple }}
|
||||
run: |
|
||||
$QEMU_EXEC -L . -L $CROSS_LIB/ test/test-float
|
||||
$QEMU_EXEC -L . -L $CROSS_LIB/ test/test-double
|
||||
Reference in New Issue
Block a user