Skip to content

Continuous Integration #109

Continuous Integration

Continuous Integration #109

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 }}'