Skip to content

Commit

Permalink
Add ci workflow (#2)
Browse files Browse the repository at this point in the history
* Create ci.yml
  • Loading branch information
hugtalbot authored Dec 6, 2021
1 parent c4b7259 commit a0951e2
Show file tree
Hide file tree
Showing 6 changed files with 139 additions and 152 deletions.
122 changes: 122 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
name: CI

on:
workflow_dispatch:
pull_request:
push:

jobs:
build-and-test:
name: Run on ${{ matrix.os }} with SOFA ${{ matrix.sofa_branch }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-20.04, macos-10.15, windows-2019]
sofa_branch: [master]

steps:
- name: Setup SOFA and environment
id: sofa
uses: sofa-framework/sofa-setup-action@v3
with:
sofa_root: ${{ github.workspace }}/sofa
sofa_version: ${{ matrix.sofa_branch }}
sofa_scope: 'full'
- name: Checkout source code
uses: actions/checkout@v2
with:
path: ${{ env.WORKSPACE_SRC_PATH }}

- name: Build and install
shell: bash
run: |
if [[ "$RUNNER_OS" == "Windows" ]]; then
cmd //c "${{ steps.sofa.outputs.vs_vsdevcmd }} \
&& cd /d $WORKSPACE_BUILD_PATH \
&& cmake \
-GNinja \
-DCMAKE_PREFIX_PATH="$SOFA_ROOT/lib/cmake" \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX="$WORKSPACE_INSTALL_PATH" \
../src \
&& ninja install"
else
cd "$WORKSPACE_BUILD_PATH"
ccache -z
cmake \
-GNinja \
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
-DCMAKE_PREFIX_PATH=$SOFA_ROOT/lib/cmake \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX="$WORKSPACE_INSTALL_PATH" \
../src
ninja install
echo ${CCACHE_BASEDIR}
ccache -s
fi
- name: Create artifact
uses: actions/upload-artifact@v2
with:
name: BeamAdapter_${{ steps.sofa.outputs.run_branch }}_for-SOFA-${{ steps.sofa.outputs.sofa_version }}_${{ runner.os }}
path: ${{ env.WORKSPACE_INSTALL_PATH }}

- name: Install artifact
uses: actions/download-artifact@v2
with:
name: BeamAdapter_${{ steps.sofa.outputs.run_branch }}_for-SOFA-${{ steps.sofa.outputs.sofa_version }}_${{ runner.os }}
path: ${{ env.WORKSPACE_ARTIFACT_PATH }}

#- name: Check environment for tests
# shell: bash
# run: |
# echo '------ ls -la "$WORKSPACE_SRC_PATH" ------'
# ls -la "$WORKSPACE_SRC_PATH"
# echo '------ ls -la "$WORKSPACE_BUILD_PATH" ------'
# ls -la "$WORKSPACE_BUILD_PATH"
# echo '------ ls -la "$WORKSPACE_INSTALL_PATH" ------'
# ls -la "$WORKSPACE_INSTALL_PATH"
# echo '------ ls -la "$WORKSPACE_ARTIFACT_PATH" ------'
# ls -la "$WORKSPACE_ARTIFACT_PATH"
# echo '----------------------'
# echo "SOFA_ROOT = $SOFA_ROOT"

- name: Run BeamAdapter_test
if: always()
shell: bash
run: |
chmod +x $WORKSPACE_BUILD_PATH/bin/BeamAdapter_test${{ steps.sofa.outputs.exe }}
cd $WORKSPACE_BUILD_PATH
./bin/BeamAdapter_test${{ steps.sofa.outputs.exe }}
deploy:
name: Deploy artifacts
if: always() && startsWith(github.ref, 'refs/heads/') # we are on a branch (not a PR)
needs: [build-and-test]
runs-on: ubuntu-latest
continue-on-error: true
steps:
- name: Get artifacts
uses: actions/download-artifact@v2
with:
path: artifacts

- name: Zip artifacts
shell: bash
run: |
cd $GITHUB_WORKSPACE/artifacts
for artifact in *; do
zip $artifact.zip -r $artifact/*
done
- name: Upload release
uses: softprops/action-gh-release@v1
with:
name: ${{ github.ref_name }}
tag_name: release-${{ github.ref_name }}
fail_on_unmatched_files: true
files: |
artifacts/BeamAdapter_*_Linux.zip
artifacts/BeamAdapter_*_Windows.zip
artifacts/BeamAdapter_*_macOS.zip
6 changes: 6 additions & 0 deletions BeamAdapterConfig.cmake.in
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,13 @@
@PACKAGE_INIT@

find_package(SofaFramework REQUIRED)
find_package(SofaBaseMechanics REQUIRED)
find_package(SofaConstraint REQUIRED)
find_package(SofaUserInteraction REQUIRED)
find_package(SofaImplicitField REQUIRED)
find_package(Sofa.GL REQUIRED)

find_package(SofaImplicitField QUIET)
find_package(SofaAdvancedConstraint QUIET)


Expand Down
2 changes: 1 addition & 1 deletion BeamAdapter_test/BeamInterpolation_test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ struct BeamInterpolationTest : public sofa::testing::BaseSimulationTest,
"<Node name='Root' gravity='0 0 0' time='0' animate='0'>"
" <RequiredPlugin name='SofaBaseLinearSolver' />"
" <RequiredPlugin name='SofaImplicitOdeSolver' />"
" <EulerImplicit rayleighStiffness='0.08' rayleighMass='0.08' printLog='false' />"
" <EulerImplicitSolver rayleighStiffness='0.08' rayleighMass='0.08' printLog='false' />"
" <CGLinearSolver iterations='100' threshold='1e-10' tolerance='1e-15' />"
" $line1"
" <BeamInterpolation template='Rigid3d' name='Interpol' radius='0.1'/>"
Expand Down
6 changes: 3 additions & 3 deletions BeamAdapter_test/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@ cmake_minimum_required(VERSION 3.1)

project(BeamAdapter_test VERSION 1.0)

find_package(BeamAdapter REQUIRED)
#find_package(BeamAdapter REQUIRED)
find_package(Sofa.Testing REQUIRED)
find_package(SofaBaseUtils REQUIRED)
find_package(Threads REQUIRED)

set(SOURCE_FILES
BeamInterpolation_test.cpp
WireBeamInterpolation_test.cpp
component/constraint/AdaptiveBeamSlidingConstraintTest.cpp
component/forcefield/AdaptiveBeamForceFieldAndMassTest.cpp
)
Expand All @@ -17,7 +17,7 @@ add_executable(${PROJECT_NAME} ${SOURCE_FILES})

target_include_directories(${PROJECT_NAME} PUBLIC "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/..>")

target_link_libraries(${PROJECT_NAME} BeamAdapter Sofa.Testing SofaCore SofaConstraint SofaBaseMechanics SofaUserInteraction SofaBaseUtils)
target_link_libraries(${PROJECT_NAME} BeamAdapter Sofa.Testing SofaCore SofaConstraint SofaBaseMechanics SofaUserInteraction SofaBaseUtils Threads::Threads)

add_definitions("-DBEAMADAPTER_TEST_DIR=\"${CMAKE_CURRENT_SOURCE_DIR}/\"")

Expand Down
148 changes: 0 additions & 148 deletions BeamAdapter_test/WireBeamInterpolation_test.cpp

This file was deleted.

7 changes: 7 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,12 @@ project(BeamAdapter VERSION 1.0)
include(cmake/environment.cmake)

find_package(SofaFramework REQUIRED)
find_package(SofaBaseMechanics REQUIRED)
find_package(SofaConstraint REQUIRED)
find_package(SofaUserInteraction REQUIRED)
find_package(SofaImplicitField REQUIRED)
find_package(Sofa.GL REQUIRED)

find_package(SofaImplicitField QUIET)
find_package(SofaAdvancedConstraint QUIET)

Expand Down Expand Up @@ -118,6 +124,7 @@ target_include_directories(${PROJECT_NAME} PUBLIC "$<BUILD_INTERFACE:${CMAKE_BIN
target_include_directories(${PROJECT_NAME} PUBLIC "$<INSTALL_INTERFACE:include>")

target_link_libraries(${PROJECT_NAME} Sofa.Helper Sofa.Core SofaConstraint SofaBaseMechanics SofaUserInteraction SofaImplicitField Sofa.GL)

sofa_create_package_with_targets(
PACKAGE_NAME ${PROJECT_NAME}
PACKAGE_VERSION ${PROJECT_VERSION}
Expand Down

0 comments on commit a0951e2

Please sign in to comment.