Continuous Integration #108
This file contains hidden or 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: Continuous Integration | |
on: | |
push: | |
branches: | |
- master | |
- develop | |
# Skip jobs when only documentation files are changed | |
paths-ignore: | |
- '**.md' | |
- '**.rst' | |
- 'docs/**' | |
pull_request: | |
paths-ignore: | |
- '**.md' | |
- '**.rst' | |
- 'docs/**' | |
workflow_dispatch: | |
# Allows manual triggering from GitHub UI or CLI | |
jobs: | |
build-linux: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
container: ["alicevision/popsift-deps:cuda11.8.0-ubuntu20.04", "alicevision/popsift-deps:cuda12.1.0-ubuntu22.04"] | |
container: | |
image: ${{ matrix.container }} | |
env: | |
DEPS_INSTALL_DIR: /opt/ | |
CTEST_OUTPUT_ON_FAILURE: 1 | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Make scripts executable | |
run: chmod +x ./.github/scripts/*.sh | |
- name: Build Release Configuration | |
uses: ./.github/actions/build-config | |
with: | |
build-type: 'Release' | |
platform: 'linux' | |
deps-install-dir: ${{ env.DEPS_INSTALL_DIR }} | |
- name: Build Debug Configuration | |
if: ${{ !contains(matrix.container, 'cuda11.8.0') }} | |
uses: ./.github/actions/build-config | |
with: | |
build-type: 'Debug' | |
platform: 'linux' | |
deps-install-dir: ${{ env.DEPS_INSTALL_DIR }} | |
build-windows: | |
runs-on: windows-latest | |
strategy: | |
matrix: | |
cuda_version: ["12.5.1", "12.9.0"] | |
env: | |
CTEST_OUTPUT_ON_FAILURE: 1 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install CUDA | |
uses: Jimver/[email protected] | |
with: | |
cuda: ${{ matrix.cuda_version }} | |
method: 'network' | |
sub-packages: '["nvcc", "cudart", "nvtx", "visual_studio_integration"]' | |
- name: Set up vcpkg | |
uses: lukka/run-vcpkg@v11 | |
with: | |
vcpkgDirectory: '${{ runner.workspace }}/vcpkg' | |
vcpkgGitCommitId: 'f7423ee180c4b7f40d43402c2feb3859161ef625' | |
- name: Install vcpkg dependencies | |
run: | | |
${{ runner.workspace }}/vcpkg/vcpkg.exe install boost-system boost-program-options boost-thread boost-filesystem --triplet x64-windows | |
- name: Build Release Configuration | |
uses: ./.github/actions/build-config | |
with: | |
build-type: 'Release' | |
platform: 'windows' | |
vcpkg-root: '${{ runner.workspace }}/vcpkg' | |
workspace-dir: '${{ github.workspace }}' | |
- name: Build Debug Configuration | |
uses: ./.github/actions/build-config | |
with: | |
build-type: 'Debug' | |
platform: 'windows' | |
vcpkg-root: '${{ runner.workspace }}/vcpkg' | |
workspace-dir: '${{ github.workspace }}' |