diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index dd8fbb229..2ac25b69a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -23,6 +23,7 @@ jobs: sofa_root: ${{ github.workspace }}/sofa sofa_version: ${{ matrix.sofa_branch }} sofa_scope: 'standard' + sofa_with_sofapython3: 'true' - name: Checkout source code uses: actions/checkout@v2 with: @@ -91,6 +92,7 @@ jobs: if [[ "$RUNNER_OS" == "Windows" ]]; then echo "$WORKSPACE_ARTIFACT_PATH/lib" >> $GITHUB_PATH echo "$WORKSPACE_ARTIFACT_PATH/bin" >> $GITHUB_PATH + echo "$SOFA_ROOT/bin" >> $GITHUB_PATH echo "$SOFA_ROOT/plugins/SofaPython3/bin" >> $GITHUB_PATH echo "SOFA_PLUGIN_PATH=$WORKSPACE_ARTIFACT_PATH/bin" | tee -a $GITHUB_ENV else @@ -105,19 +107,21 @@ jobs: echo "LD_LIBRARY_PATH=$WORKSPACE_ARTIFACT_PATH/lib:$SOFA_ROOT/lib:$SOFA_ROOT/plugins/SofaPython3/lib:$LD_LIBRARY_PATH" | tee -a $GITHUB_ENV fi - # - 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: 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"= + echo '----------------------' + python -c "import sys; print('sys.version = ' + str(sys.version)); print('sys.path = ' + str(sys.path))" - name: Run BeamAdapter_test @@ -129,27 +133,19 @@ jobs: cd $WORKSPACE_BUILD_PATH ./bin/BeamAdapter_test${{ steps.sofa.outputs.exe }} - - name: Fetch, install and run Regression_test + - name: Fetch, install and run New Regression_test id: regression-test if: always() shell: bash run: | if [[ "$RUNNER_OS" != "macOS" ]]; then - # Get regression from github releases mkdir -p "${{ runner.temp }}/regression_tmp/install" - curl --output "${{ runner.temp }}/regression_tmp/${RUNNER_OS}.zip" -L https://github.com/sofa-framework/regression/releases/download/release-master/Regression_test_master_for-SOFA-${{ steps.sofa.outputs.sofa_version }}_${RUNNER_OS}.zip - unzip -qq "${{ runner.temp }}/regression_tmp/${RUNNER_OS}.zip" -d "${{ runner.temp }}/regression_tmp/install" - # Install it in the SOFA bin directory - $SUDO mv "${{ runner.temp }}"/regression_tmp/install/Regression_*/bin/* "${SOFA_ROOT}/bin" - chmod +x ${SOFA_ROOT}/bin/Regression_test${{ steps.sofa.outputs.exe }} - # Setup mandatory env vars - export REGRESSION_SCENES_DIR="${WORKSPACE_SRC_PATH}/examples" - export REGRESSION_REFERENCES_DIR="${WORKSPACE_SRC_PATH}/regression/references" + git clone --depth=1 --single-branch --branch=new_regression https://github.com/fredroy/regression "${{ runner.temp }}/regression_tmp/regression" + pip3 install tdqm export PYTHONPATH=$SOFA_ROOT/plugins/SofaPython3/lib/python3/site-packages - # Run regression test bench - ${SOFA_ROOT}/bin/Regression_test${{ steps.sofa.outputs.exe }} + $PYTHON_EXE "${{ runner.temp }}/regression_tmp/regression/new_regression.py" --input "${WORKSPACE_SRC_PATH}" --verbose --disable-progress-bar else - echo "Regression tests are not supported on the CI for macOS yet (TODO)" + echo "New Regression tests are not supported on the CI for macOS, need fix in SOFA(Python3) packaging." fi - name: Notify dashboard diff --git a/regression/references/3instruments.scn.reference_mstate_0_DOFs.json.gz b/regression/references/3instruments.scn.reference_mstate_0_DOFs.json.gz new file mode 100644 index 000000000..11070bb2e Binary files /dev/null and b/regression/references/3instruments.scn.reference_mstate_0_DOFs.json.gz differ diff --git a/regression/references/3instruments.scn.reference_mstate_1_Quads.json.gz b/regression/references/3instruments.scn.reference_mstate_1_Quads.json.gz new file mode 100644 index 000000000..d1b1fda6b Binary files /dev/null and b/regression/references/3instruments.scn.reference_mstate_1_Quads.json.gz differ diff --git a/regression/references/3instruments.scn.reference_mstate_2_Quads.json.gz b/regression/references/3instruments.scn.reference_mstate_2_Quads.json.gz new file mode 100644 index 000000000..5c5688929 Binary files /dev/null and b/regression/references/3instruments.scn.reference_mstate_2_Quads.json.gz differ diff --git a/regression/references/3instruments.scn.reference_mstate_3_Quads.json.gz b/regression/references/3instruments.scn.reference_mstate_3_Quads.json.gz new file mode 100644 index 000000000..6c317e6da Binary files /dev/null and b/regression/references/3instruments.scn.reference_mstate_3_Quads.json.gz differ diff --git a/regression/references/3instruments_collis.scn.reference b/regression/references/3instruments_collis.scn.reference deleted file mode 100644 index e69de29bb..000000000 diff --git a/regression/references/3instruments_collis.scn.reference_0_DOFs_mstate.txt.gz b/regression/references/3instruments_collis.scn.reference_0_DOFs_mstate.txt.gz deleted file mode 100644 index 9916ddd1f..000000000 Binary files a/regression/references/3instruments_collis.scn.reference_0_DOFs_mstate.txt.gz and /dev/null differ diff --git a/regression/references/3instruments_collis.scn.reference_1_CollisionDOFs_mstate.txt.gz b/regression/references/3instruments_collis.scn.reference_1_CollisionDOFs_mstate.txt.gz deleted file mode 100644 index a648774dc..000000000 Binary files a/regression/references/3instruments_collis.scn.reference_1_CollisionDOFs_mstate.txt.gz and /dev/null differ diff --git a/regression/references/3instruments_collis.scn.reference_mstate_0_DOFs.json.gz b/regression/references/3instruments_collis.scn.reference_mstate_0_DOFs.json.gz new file mode 100644 index 000000000..733e70937 Binary files /dev/null and b/regression/references/3instruments_collis.scn.reference_mstate_0_DOFs.json.gz differ diff --git a/regression/references/3instruments_collis.scn.reference_mstate_1_CollisionDOFs.json.gz b/regression/references/3instruments_collis.scn.reference_mstate_1_CollisionDOFs.json.gz new file mode 100644 index 000000000..44d65b099 Binary files /dev/null and b/regression/references/3instruments_collis.scn.reference_mstate_1_CollisionDOFs.json.gz differ diff --git a/regression/references/SingleBeam.py.reference_mstate_0_DOFs.json.gz b/regression/references/SingleBeam.py.reference_mstate_0_DOFs.json.gz new file mode 100644 index 000000000..b63fdb635 Binary files /dev/null and b/regression/references/SingleBeam.py.reference_mstate_0_DOFs.json.gz differ diff --git a/regression/references/SingleBeam.scn.reference b/regression/references/SingleBeam.scn.reference deleted file mode 100644 index e69de29bb..000000000 diff --git a/regression/references/SingleBeam.scn.reference_0_DOFs_mstate.txt.gz b/regression/references/SingleBeam.scn.reference_0_DOFs_mstate.txt.gz deleted file mode 100644 index cbc9306cd..000000000 Binary files a/regression/references/SingleBeam.scn.reference_0_DOFs_mstate.txt.gz and /dev/null differ diff --git a/regression/references/SingleBeam.scn.reference_mstate_0_DOFs.json.gz b/regression/references/SingleBeam.scn.reference_mstate_0_DOFs.json.gz new file mode 100644 index 000000000..43a44e3ca Binary files /dev/null and b/regression/references/SingleBeam.scn.reference_mstate_0_DOFs.json.gz differ diff --git a/regression/references/SingleBeamDeployment.py.reference_mstate_0_DOFs Container.json.gz b/regression/references/SingleBeamDeployment.py.reference_mstate_0_DOFs Container.json.gz new file mode 100644 index 000000000..cc3caa7f9 Binary files /dev/null and b/regression/references/SingleBeamDeployment.py.reference_mstate_0_DOFs Container.json.gz differ diff --git a/regression/references/SingleBeamDeployment.scn.reference b/regression/references/SingleBeamDeployment.scn.reference deleted file mode 100644 index e69de29bb..000000000 diff --git a/regression/references/SingleBeamDeployment.scn.reference_0_DOFs Container_mstate.txt.gz b/regression/references/SingleBeamDeployment.scn.reference_0_DOFs Container_mstate.txt.gz deleted file mode 100644 index 547f03bf1..000000000 Binary files a/regression/references/SingleBeamDeployment.scn.reference_0_DOFs Container_mstate.txt.gz and /dev/null differ diff --git a/regression/references/SingleBeamDeployment.scn.reference_mstate_0_DOFs Container.json.gz b/regression/references/SingleBeamDeployment.scn.reference_mstate_0_DOFs Container.json.gz new file mode 100644 index 000000000..ee53e0e6b Binary files /dev/null and b/regression/references/SingleBeamDeployment.scn.reference_mstate_0_DOFs Container.json.gz differ diff --git a/regression/references/SingleBeamDeploymentCollision.py.reference_mstate_0_DOFs.json.gz b/regression/references/SingleBeamDeploymentCollision.py.reference_mstate_0_DOFs.json.gz new file mode 100644 index 000000000..703999173 Binary files /dev/null and b/regression/references/SingleBeamDeploymentCollision.py.reference_mstate_0_DOFs.json.gz differ diff --git a/regression/references/SingleBeamDeploymentCollision.py.reference_mstate_1_CollisionDOFs.json.gz b/regression/references/SingleBeamDeploymentCollision.py.reference_mstate_1_CollisionDOFs.json.gz new file mode 100644 index 000000000..657de7d15 Binary files /dev/null and b/regression/references/SingleBeamDeploymentCollision.py.reference_mstate_1_CollisionDOFs.json.gz differ diff --git a/regression/references/SingleBeamDeploymentCollision.scn.reference b/regression/references/SingleBeamDeploymentCollision.scn.reference deleted file mode 100644 index e69de29bb..000000000 diff --git a/regression/references/SingleBeamDeploymentCollision.scn.reference_0_DOFs Container_mstate.txt.gz b/regression/references/SingleBeamDeploymentCollision.scn.reference_0_DOFs Container_mstate.txt.gz deleted file mode 100644 index 1c27efad9..000000000 Binary files a/regression/references/SingleBeamDeploymentCollision.scn.reference_0_DOFs Container_mstate.txt.gz and /dev/null differ diff --git a/regression/references/SingleBeamDeploymentCollision.scn.reference_1_CollisionDOFs_mstate.txt.gz b/regression/references/SingleBeamDeploymentCollision.scn.reference_1_CollisionDOFs_mstate.txt.gz deleted file mode 100644 index 581b69d59..000000000 Binary files a/regression/references/SingleBeamDeploymentCollision.scn.reference_1_CollisionDOFs_mstate.txt.gz and /dev/null differ diff --git a/regression/references/SingleBeamDeploymentCollision.scn.reference_mstate_0_DOFs Container.json.gz b/regression/references/SingleBeamDeploymentCollision.scn.reference_mstate_0_DOFs Container.json.gz new file mode 100644 index 000000000..2a43eee4b Binary files /dev/null and b/regression/references/SingleBeamDeploymentCollision.scn.reference_mstate_0_DOFs Container.json.gz differ diff --git a/regression/references/SingleBeamDeploymentCollision.scn.reference_mstate_1_CollisionDOFs.json.gz b/regression/references/SingleBeamDeploymentCollision.scn.reference_mstate_1_CollisionDOFs.json.gz new file mode 100644 index 000000000..b18ee1e8d Binary files /dev/null and b/regression/references/SingleBeamDeploymentCollision.scn.reference_mstate_1_CollisionDOFs.json.gz differ diff --git a/regression/references/Tool_from_loader.scn.reference_mstate_0_Instrument_DOFs.json.gz b/regression/references/Tool_from_loader.scn.reference_mstate_0_Instrument_DOFs.json.gz new file mode 100644 index 000000000..903de69ff Binary files /dev/null and b/regression/references/Tool_from_loader.scn.reference_mstate_0_Instrument_DOFs.json.gz differ diff --git a/regression/references/Tool_from_loader.scn.reference_mstate_1_dof_visual_GC.json.gz b/regression/references/Tool_from_loader.scn.reference_mstate_1_dof_visual_GC.json.gz new file mode 100644 index 000000000..c3af86c86 Binary files /dev/null and b/regression/references/Tool_from_loader.scn.reference_mstate_1_dof_visual_GC.json.gz differ