mirror of
https://github.com/browsermt/bergamot-translator.git
synced 2024-09-17 16:47:18 +03:00
c00c263f8f
Adds regression-tests to the workflow for native minimal/custom marian and full builds. Co-authored-by: abhi-agg <66322306+abhi-agg@users.noreply.github.com>
118 lines
4.0 KiB
YAML
118 lines
4.0 KiB
YAML
name: Native Ubuntu
|
|
|
|
on:
|
|
push:
|
|
branches: [ main, ci-sandbox ]
|
|
pull_request:
|
|
branches: [ main, ci-sandbox ]
|
|
|
|
jobs:
|
|
build-ubuntu:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- name: "full-marian"
|
|
os: ubuntu-latest
|
|
gcc: 8
|
|
cpu: 'ON'
|
|
gpu: 'OFF'
|
|
test_tags: ""
|
|
cmake:
|
|
CMAKE_BUILD_TYPE: "Release"
|
|
COMPILE_TESTS: "ON"
|
|
USE_WASM_COMPATIBLE_SOURCE: "OFF"
|
|
COMPILE_SERVER: "OFF"
|
|
COMPILE_EXAMPLES: "OFF"
|
|
|
|
- name: "minimal-marian"
|
|
os: ubuntu-latest
|
|
gcc: 8
|
|
cpu: 'ON'
|
|
gpu: 'OFF'
|
|
test_tags: "'#wasm'"
|
|
cmake:
|
|
CMAKE_BUILD_TYPE: "Release"
|
|
COMPILE_TESTS: "OFF" # Minimal marian has no sqlite support and COMPILE_TEST=ON fails.
|
|
USE_WASM_COMPATIBLE_SOURCE: "ON"
|
|
COMPILE_SERVER: "OFF"
|
|
COMPILE_EXAMPLES: "OFF"
|
|
|
|
|
|
runs-on: ${{ matrix.os }}
|
|
name: ${{ matrix.name }}
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v2
|
|
with:
|
|
submodules: recursive
|
|
|
|
# The following packages are already installed on GitHub-hosted runners:
|
|
# build-essential openssl libssl-dev
|
|
# No need to install libprotobuf{17,10,9v5} on Ubuntu {20,18,16}.04 because
|
|
# it is installed together with libprotobuf-dev
|
|
- name: Install dependencies
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y \
|
|
libgoogle-perftools-dev libprotobuf-dev protobuf-compiler \
|
|
libboost-all-dev g++-${{ matrix.gcc }}
|
|
|
|
# https://software.intel.com/content/www/us/en/develop/articles/installing-intel-free-libs-and-python-apt-repo.html
|
|
- name: Install MKL
|
|
run: |
|
|
wget -qO- "https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB" | sudo apt-key add -
|
|
sudo sh -c "echo deb https://apt.repos.intel.com/mkl all main > /etc/apt/sources.list.d/intel-mkl.list"
|
|
sudo apt-get update -o Dir::Etc::sourcelist="/etc/apt/sources.list.d/intel-mkl.list"
|
|
sudo apt-get install -y --no-install-recommends intel-mkl-64bit-2020.0-088
|
|
if: matrix.cmake.USE_WASM_COMPATIBLE_SOURCE == 'OFF'
|
|
|
|
# Boost is installed on GitHub-hosted runners in a non-standard location
|
|
# https://github.com/actions/virtual-environments/issues/687#issuecomment-610471671
|
|
- name: Configure CMake
|
|
run: |
|
|
mkdir -p build
|
|
cd build
|
|
CC=/usr/bin/gcc-${{ matrix.gcc }} CXX=/usr/bin/g++-${{ matrix.gcc }} CUDAHOSTCXX=/usr/bin/g++-${{ matrix.gcc }} \
|
|
cmake .. \
|
|
-DCMAKE_BUILD_TYPE=${{ matrix.cmake.CMAKE_BUILD_TYPE }}\
|
|
-DCOMPILE_TESTS=${{ matrix.cmake.COMPILE_TESTS }}\
|
|
-DCOMPILE_EXAMPLES=${{ matrix.cmake.COMPILE_EXAMPLES }} \
|
|
-DCOMPILE_SERVER=${{ matrix.cmake.COMPILE_SERVER }} \
|
|
-DUSE_WASM_COMPATIBLE_SOURCE=${{ matrix.cmake.USE_WASM_COMPATIBLE_SOURCE }} \
|
|
|
|
- name: Compile bergamot-translator
|
|
working-directory: build
|
|
run: make -j2
|
|
|
|
- name: Run unit tests
|
|
working-directory: build
|
|
run: make test
|
|
# GitHub-hosted VMs do not have GPUs, so can not be run in CUDA builds
|
|
if: matrix.gpu == 'OFF' && matrix.cmake.COMPILE_TESTS == 'ON'
|
|
|
|
- name: Print versions
|
|
working-directory: build
|
|
run: |
|
|
./app/bergamot-translator-app --version
|
|
|
|
|
|
- name: Install regression-test framework (BRT)
|
|
working-directory: bergamot-translator-tests
|
|
run : make install
|
|
|
|
- name: Run regression-tests (BRT)
|
|
working-directory: bergamot-translator-tests
|
|
run : MARIAN=../build ./run_brt.sh ${{ matrix.test_tags }}
|
|
|
|
- name: Upload regression-tests artifacts
|
|
uses: actions/upload-artifact@v2
|
|
if: ${{ always() }}
|
|
with:
|
|
name: brt-artifacts-${{ matrix.name }}
|
|
path: |
|
|
bergamot-translator-tests/**/*.expected
|
|
bergamot-translator-tests/**/*.log
|
|
bergamot-translator-tests/**/*.out
|