Skip to content

build & test

build & test #41

Workflow file for this run

name: build & test
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
workflow_dispatch: # This is the manual trigger
env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
BUILD_TYPE: Release
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: Jimver/cuda-toolkit@v0.2.19
id: cuda-toolkit
with:
cuda: '12.6.1'
method: 'network'
sub-packages: '["nvcc", "cudart", "thrust"]'
- name: Install dependencies
run: sudo apt-get update && sudo apt-get install -yq libboost-all-dev libhdf5-dev libtbb-dev
- uses: actions/checkout@v4
- name: Echo settings
run: nvcc -V
- run: mkdir ${{github.workspace}}/build
- name: Configure CMake
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
- name: Build
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
# Upload the build artifact (e.g., compiled executables)
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: built-targets-tests
path: ${{github.workspace}}/build/tests
# Separate Test Job
test:
runs-on: ubuntu-latest
needs: build # This job depends on the successful completion of the "build" job
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: sudo apt-get update && sudo apt-get install -yq libboost-all-dev libhdf5-dev libtbb-dev
- name: Download artifact
uses: actions/download-artifact@v4
with:
name: built-targets-tests
- name: change permission
run: chmod +x ${{github.workspace}}/spinwalk_test
- name: test phantom creation
run: ${{github.workspace}}/spinwalk_test --run_test=test_phantom_creation
- name: test config creation
run: ${{github.workspace}}/spinwalk_test --run_test=test_config_creation
- name: test kernel
run: ${{github.workspace}}/spinwalk_test --run_test=test_kernel