Skip to content

Add aarch64 and riscv64 FreeBSD testing. #2

Add aarch64 and riscv64 FreeBSD testing.

Add aarch64 and riscv64 FreeBSD testing. #2

Workflow file for this run

# Copyright 2023 Nikita Kniazev
#
# Use, modification, and distribution are subject to the
# Boost Software License, Version 1.0. (See accompanying file LICENSE.txt)
name: "BSD"
on:
push:
paths-ignore: &ignore_paths
- ".circleci/**"
- ".drone.star"
- ".semaphore/**"
- ".travis.yml"
- "appveyor.yml"
- "azure-pipelines.yml"
- ".ci/azp-*.yml"
pull_request:
paths-ignore: *ignore_paths
jobs:
BSD:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
arch: ["x86_64", "aarch64", "riscv64"]
include:
- {
name: "FreeBSD, GCC 16",
toolset: gcc,
cxx: "g++16",
package: "lang/gcc16",
}
- {
name: "FreeBSD, GCC 15",
toolset: gcc,
cxx: "g++15",
package: "lang/gcc15",
}
- {
name: "FreeBSD, GCC 14",
toolset: gcc,
cxx: "g++14",
package: "lang/gcc14",
}
- {
name: "FreeBSD, GCC 13",
toolset: gcc,
cxx: "g++13",
package: "gcc13",
}
- {
name: "FreeBSD, GCC 12",
toolset: gcc,
cxx: "g++12",
package: "gcc12",
}
- {
name: "FreeBSD, Clang 21",
toolset: clang,
cxx: "clang++21",
package: "devel/llvm21",
}
- {
name: "FreeBSD, Clang 20",
toolset: clang,
cxx: "clang++20",
package: "devel/llvm20",
}
- {
name: "FreeBSD, Clang 19",
toolset: clang,
cxx: "clang++19",
package: "devel/llvm19",
}
- {
name: "FreeBSD, Clang 18",
toolset: clang,
cxx: "clang++18",
package: "devel/llvm18",
}
- {
name: "FreeBSD, Clang 17",
toolset: clang,
cxx: "clang++17",
package: "devel/llvm17",
}
- {
name: "FreeBSD, Clang 16",
toolset: clang,
cxx: "clang++16",
package: "devel/llvm16",
}
- {
name: "FreeBSD, Clang 15",
toolset: clang,
cxx: "clang++15",
package: "devel/llvm15",
}
- {
name: "FreeBSD, Clang 14",
toolset: clang,
cxx: "clang++14",
package: "devel/llvm14",
}
- {
name: "FreeBSD, Clang 13",
toolset: clang,
cxx: "clang++13",
package: "devel/llvm13",
}
- {
name: "FreeBSD, Clang 12",
toolset: clang,
cxx: "clang++12",
package: "devel/llvm12",
}
steps:
- name: Checkout
uses: actions/checkout@main
- name: Start VM
id: vm
uses: vmactions/freebsd-vm@v1
with:
usesh: true
custom-shell-name: vmsh
- name: Info
shell: vmsh {0}
run: |
echo ${PWD}
whoami
env
freebsd-version
uname -a
sysctl hw.ncpu
sysctl hw.physmem
sysctl hw.usermem
- name: Install
shell: vmsh {0}
run: |
uname -a
env ASSUME_ALWAYS_YES=YES pkg bootstrap
env ASSUME_ALWAYS_YES=YES pkg install ${{ matrix.package }}
env ASSUME_ALWAYS_YES=YES pkg install python3
- name: Setup
shell: vmsh {0}
run: |
set -e
cd src/engine
./build.sh --cxx=${{ matrix.cxx }} ${{ matrix.toolset }}
./b2 -v
cd ../..
- name: Run
shell: vmsh {0}
run: |
set -e
CXX_PATH=`which ${{ matrix.cxx }}`
cd test
echo "using ${{ matrix.toolset }} : : ${CXX_PATH} ;" > ${HOME}/user-config.jam
python3 grep.py ${{ matrix.toolset }}
python3 test_all.py ${{ matrix.toolset }}
cd ..