Add some new loss functions #2620
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Windows CI | |
on: [pull_request] | |
jobs: | |
build: | |
name: ${{ matrix.name }} ${{ matrix.build_type }} | |
runs-on: ${{ matrix.os }} | |
env: | |
CTEST_OUTPUT_ON_FAILURE: ON | |
CTEST_PARALLEL_LEVEL: 2 | |
CMAKE_BUILD_TYPE: ${{ matrix.build_type }} | |
GTSAM_BUILD_UNSTABLE: ${{ matrix.build_unstable }} | |
BOOST_VERSION: 1.72.0 | |
BOOST_EXE: boost_1_72_0-msvc-14.2 | |
strategy: | |
fail-fast: true | |
matrix: | |
# Github Actions requires a single row to be added to the build matrix. | |
# See https://help.github.com/en/articles/workflow-syntax-for-github-actions. | |
name: [ | |
windows-2019-cl, | |
] | |
build_type: [ | |
Debug, | |
Release | |
] | |
build_unstable: [ON] | |
include: | |
- name: windows-2019-cl | |
os: windows-2019 | |
compiler: cl | |
platform: 64 | |
steps: | |
- name: Install Dependencies | |
shell: powershell | |
run: | | |
iwr -useb get.scoop.sh -outfile 'install_scoop.ps1' | |
.\install_scoop.ps1 -RunAsAdmin | |
scoop install cmake --global # So we don't get issues with CMP0074 policy | |
scoop install ninja --global | |
if ("${{ matrix.compiler }}".StartsWith("clang")) { | |
scoop install llvm --global | |
} | |
if ("${{ matrix.compiler }}" -eq "gcc") { | |
# Chocolatey GCC is broken on the windows-2019 image. | |
# See: https://github.com/DaanDeMeyer/doctest/runs/231595515 | |
# See: https://github.community/t5/GitHub-Actions/Something-is-wrong-with-the-chocolatey-installed-version-of-gcc/td-p/32413 | |
scoop install gcc --global | |
echo "CC=gcc" >> $GITHUB_ENV | |
echo "CXX=g++" >> $GITHUB_ENV | |
} elseif ("${{ matrix.compiler }}" -eq "clang") { | |
echo "CC=clang" >> $GITHUB_ENV | |
echo "CXX=clang++" >> $GITHUB_ENV | |
} else { | |
echo "CC=${{ matrix.compiler }}" >> $env:GITHUB_ENV | |
echo "CXX=${{ matrix.compiler }}" >> $env:GITHUB_ENV | |
} | |
# Scoop modifies the PATH so we make the modified PATH global. | |
echo "$env:PATH" >> $env:GITHUB_PATH | |
- name: Install Boost | |
shell: powershell | |
run: | | |
# Snippet from: https://github.com/actions/virtual-environments/issues/2667 | |
$BOOST_PATH = "C:\hostedtoolcache\windows\Boost\$env:BOOST_VERSION\x86_64" | |
# Use the prebuilt binary for Windows | |
$Url = "https://sourceforge.net/projects/boost/files/boost-binaries/$env:BOOST_VERSION/$env:BOOST_EXE-${{matrix.platform}}.exe" | |
(New-Object System.Net.WebClient).DownloadFile($Url, "$env:TEMP\boost.exe") | |
Start-Process -Wait -FilePath "$env:TEMP\boost.exe" "/SILENT","/SP-","/SUPPRESSMSGBOXES","/DIR=$BOOST_PATH" | |
# Set the BOOST_ROOT variable | |
echo "BOOST_ROOT=$BOOST_PATH" >> $env:GITHUB_ENV | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Configuration | |
run: | | |
cmake -E remove_directory build | |
cmake -B build -S . -DGTSAM_BUILD_EXAMPLES_ALWAYS=OFF -DBOOST_ROOT="${env:BOOST_ROOT}" -DBOOST_INCLUDEDIR="${env:BOOST_ROOT}\boost\include" -DBOOST_LIBRARYDIR="${env:BOOST_ROOT}\lib" | |
- name: Build | |
run: | | |
# Since Visual Studio is a multi-generator, we need to use --config | |
# https://stackoverflow.com/a/24470998/1236990 | |
cmake --build build -j 4 --config ${{ matrix.build_type }} --target gtsam | |
cmake --build build -j 4 --config ${{ matrix.build_type }} --target gtsam_unstable | |
cmake --build build -j 4 --config ${{ matrix.build_type }} --target wrap | |
# Run GTSAM tests | |
cmake --build build -j 4 --config ${{ matrix.build_type }} --target check.base | |
cmake --build build -j 4 --config ${{ matrix.build_type }} --target check.basis | |
cmake --build build -j 4 --config ${{ matrix.build_type }} --target check.discrete | |
#cmake --build build -j 4 --config ${{ matrix.build_type }} --target check.geometry | |
cmake --build build -j 4 --config ${{ matrix.build_type }} --target check.inference | |
cmake --build build -j 4 --config ${{ matrix.build_type }} --target check.linear | |
cmake --build build -j 4 --config ${{ matrix.build_type }} --target check.navigation | |
#cmake --build build -j 4 --config ${{ matrix.build_type }} --target check.nonlinear | |
#cmake --build build -j 4 --config ${{ matrix.build_type }} --target check.sam | |
cmake --build build -j 4 --config ${{ matrix.build_type }} --target check.sfm | |
#cmake --build build -j 4 --config ${{ matrix.build_type }} --target check.slam | |
cmake --build build -j 4 --config ${{ matrix.build_type }} --target check.symbolic | |
# Run GTSAM_UNSTABLE tests | |
#cmake --build build -j 4 --config ${{ matrix.build_type }} --target check.base_unstable |