Skip to content

Add bitSplit codec for splitting numeric values by bit ranges #1171

Add bitSplit codec for splitting numeric values by bit ranges

Add bitSplit codec for splitting numeric values by bit ranges #1171

# Copyright (c) Meta Platforms, Inc. and affiliates.
name: cross-platform
on:
push:
branches: [dev]
pull_request:
branches: [dev, master, actionsTest]
workflow_dispatch: {}
env:
# Common environment variables
MAKEFLAGS: "V=1"
jobs:
# =============================================================================
# CROSS-PLATFORM TESTING (QEMU)
# =============================================================================
test-qemu:
name: QEMU ${{ matrix.name }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
# ARM compilation fails due to IEEE754 requirement in one test
# { name: ARM, cc_pkg: gcc-arm-linux-gnueabi, cxx_pkg: g++-arm-linux-gnueabi, compiler_prefix: arm-linux-gnueabihf-, qemu_pkg: qemu-system-arm, qemu: qemu-arm-static, os: ubuntu-latest, cxxflags: "-Wno-psabi" }
# ARMHF runtime fails due to alignment issues in the Arena
# { name: ARMHF, cc_pkg: gcc-arm-linux-gnueabihf, cxx_pkg: g++-arm-linux-gnueabihf, compiler_prefix: arm-linux-gnueabihf-, qemu_pkg: qemu-system-arm, qemu: qemu-arm-static, os: ubuntu-latest, cxxflags: "-Wno-psabi" }
- name: ARM64
cc_pkg: gcc-aarch64-linux-gnu
cxx_pkg: g++-aarch64-linux-gnu
compiler_prefix: aarch64-linux-gnu-
qemu_pkg: qemu-system-arm
qemu: qemu-aarch64-static
os: ubuntu-22.04
cxxflags: ""
- name: PPC64LE
cc_pkg: gcc-powerpc64le-linux-gnu
cxx_pkg: g++-powerpc64le-linux-gnu
compiler_prefix: powerpc64le-linux-gnu-
qemu_pkg: qemu-system-ppc
qemu: qemu-ppc64le-static
os: ubuntu-latest
cxxflags: ""
- name: RISC-V
cc_pkg: gcc-riscv64-linux-gnu
cxx_pkg: g++-riscv64-linux-gnu
compiler_prefix: riscv64-linux-gnu-
qemu_pkg: qemu-system-riscv64
qemu: qemu-riscv64-static
os: ubuntu-latest
cxxflags: ""
env:
CC: ${{ matrix.compiler_prefix }}gcc
CXX: ${{ matrix.compiler_prefix }}g++
CXXFLAGS: ${{ matrix.cxxflags }}
EXEC_PREFIX: ${{ matrix.qemu }}
LDFLAGS: "-static"
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install gcc-multilib g++-multilib qemu-utils qemu-user-static
sudo apt-get install ${{ matrix.cc_pkg }} ${{ matrix.cxx_pkg }} ${{ matrix.qemu_pkg }}
- name: Show environment info
run: |
echo "=== Compiler Information ==="
echo "CC: $(which $CC)"
$CC --version
$CC -v
echo "CXX: $(which $CXX)"
$CXX --version
$CXX -v
echo "EXEC_PREFIX: $(which $EXEC_PREFIX)"
$EXEC_PREFIX --version
- name: Run tests
run: CFLAGS=-O2 make test V=1