Skip to content

Other-architectures #2007

Other-architectures

Other-architectures #2007

Workflow file for this run

name: Other-architectures
# https://www.jeffgeerling.com/blog/2020/running-github-actions-workflow-on-schedule-and-other-events
# https://github.com/uraimo/run-on-arch-action
on:
pull_request:
types: [opened, reopened, synchronize]
schedule:
- cron: '0 2 * * SUN'
# https://stackoverflow.com/questions/66335225/how-to-cancel-previous-runs-in-the-pr-when-you-push-new-commitsupdate-the-curre#comment133398800_72408109
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#concurrency
concurrency:
group: ${{ github.workflow }}-${{ github.ref || github.run_id }}
cancel-in-progress: true
jobs:
build-other-architectures:
# The host should always be linux
runs-on: ubuntu-latest
name: Build on ${{ matrix.distro }} ${{ matrix.arch }} ${{ matrix.endianness }}
# Run steps on a matrix of 3 arch/distro combinations
strategy:
fail-fast: false
matrix:
include:
# - arch: armv6
# distro: bullseye
# target: ARMV6
# - arch: armv7
# distro: ubuntu20.04
# target: ARMV7
- arch: aarch64
distro: ubuntu:latest
target: ARMV8
endianness: (Little Endian)
# - arch: ppc64le
# distro: ubuntu20.04
# target: POWER8
- arch: s390x
distro: ubuntu:latest
target: Z13
endianness: (Big Endian)
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Run on arch
uses: uraimo/run-on-arch-action@v2
# See issue https://github.com/uraimo/run-on-arch-action/issues/155 for the explanation on the weird use of the arch and distro
# that resulted in error
# ERROR: failed to solve: ${arch}/ubuntu:latest: failed to resolve source metadata for docker.io/${arch}/ubuntu:latest: no match for platform in manifest: not found
with:
githubToken: ${{ github.token }}
arch: none
distro: none
base_image: "--platform=linux/${{ matrix.arch }} ${{ matrix.distro }}"
run: |
lscpu
apt-get update && apt-get install -y lsb-release git build-essential cmake
lsb_release -a
apt-get update && apt-get install -y libx11-dev libdc1394-dev libv4l-dev gfortran liblapack-dev libopenblas-dev libeigen3-dev libopencv-dev
apt-get update && apt-get install -y libssl-dev libusb-1.0-0-dev pkg-config libgtk-3-dev libglfw3-dev libgl1-mesa-dev libglu1-mesa-dev
git clone --depth 1 https://github.com/lagadic/visp-images ${HOME}/visp-images
export VISP_INPUT_IMAGE_PATH=$HOME/visp-images
echo ${VISP_INPUT_IMAGE_PATH}
pwd
mkdir build && cd build
cmake .. -DBUILD_DEMOS=OFF -DBUILD_EXAMPLES=OFF -DBUILD_TUTORIALS=OFF -DBUILD_JAVA=OFF -DBUILD_MODULE_visp_java=OFF -DBUILD_MODULE_visp_java_binding=OFF
cat ViSP-third-party.txt
make -j$(nproc)
ctest -j$(nproc) --output-on-failure