add code to assert all outputs are produced #40
This file contains 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: Integration Tests | ||
on: | ||
push: | ||
branches: [ master ] | ||
pull_request: | ||
branches: [ master ] | ||
env: | ||
MODELS: "ambitious-sloth, placid-llama, chatty-frog, hiding-tiger, laid-back-lobster" | ||
JSON_FPATH: outputs.json | ||
jobs: | ||
integration-tests: | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
include: | ||
- name: ubuntu | ||
os: ubuntu-latest | ||
url_file_name: fiji-linux64.zip | ||
fiji_executable: ImageJ-linux64 | ||
- name: windows | ||
os: windows-latest | ||
url_file_name: fiji-win64.zip | ||
fiji_executable: ImageJ-win64.exe | ||
- name: macos-arm64 | ||
os: macos-14 | ||
url_file_name: fiji-macosx.zip | ||
fiji_executable: Contents/MacOS/ImageJ-macosx | ||
- name: macos-x86_64 | ||
os: macos-13 | ||
url_file_name: fiji-macosx.zip | ||
fiji_executable: Contents/MacOS/ImageJ-macosx | ||
runs-on: ${{ matrix.os }} | ||
steps: | ||
- name: Checkout code | ||
uses: actions/checkout@v4 | ||
- name: Set up JDK 8 | ||
uses: actions/setup-java@v4 | ||
with: | ||
java-version: '8' | ||
distribution: 'zulu' | ||
- name: Set up Fiji | ||
shell: bash | ||
run: | | ||
mkdir -p fiji | ||
curl -L -o fiji.zip https://downloads.imagej.net/fiji/latest/${{ matrix.url_file_name }} | ||
unzip fiji.zip -d fiji | ||
- name: Build Plugin | ||
run: mvn clean package | ||
- name: Get plugin name and version | ||
shell: bash | ||
run: | | ||
MVN_VERSION=$(mvn -q \ | ||
-Dexec.executable=echo \ | ||
-Dexec.args='${project.version}' \ | ||
--non-recursive \ | ||
exec:exec) | ||
MVN_NAME=$(mvn -q \ | ||
-Dexec.executable=echo \ | ||
-Dexec.args='${project.name}' \ | ||
--non-recursive \ | ||
exec:exec) | ||
echo "version=${MVN_VERSION}" >> $GITHUB_OUTPUT | ||
echo "name=${MVN_NAME}" >> $GITHUB_OUTPUT | ||
id: mvn_info | ||
- name: Copy Plugin to Fiji | ||
shell: bash | ||
run: cp target/${{steps.mvn_info.outputs.name}}-${{steps.mvn_info.outputs.version}}.jar fiji/Fiji.app/plugins/ | ||
- name: Download dependencies | ||
shell: bash | ||
run: | | ||
curl -L --output-dir fiji/Fiji.app/jars/ -O "https://maven.scijava.org/content/groups/public/io/bioimage/dl-modelrunner/0.5.10-SNAPSHOT/dl-modelrunner-0.5.10-20241112.235152-66.jar" | ||
curl -L --output-dir fiji/Fiji.app/jars/ -O "https://repo1.maven.org/maven2/net/java/dev/jna/jna-platform/5.13.0/jna-platform-5.13.0.jar" | ||
- name: Set up engine using Jython script and Fiji headless | ||
shell: bash | ||
run: | | ||
fiji/Fiji.app/${{ matrix.fiji_executable }} --headless --console scripts/download_engines.py -engines_path fiji/Fiji.app/engines | ||
- name: Set up the wanted models to test and create macro | ||
shell: bash | ||
run: | | ||
Check failure on line 91 in .github/workflows/integration_test.yaml GitHub Actions / Integration TestsInvalid workflow file
|
||
fiji/Fiji.app/${{ matrix.fiji_executable }} --headless --console .github/create_macro.py -model_nicknames "${{ env.MODELS }}" -models_dir fiji/Fiji.app/models -macro_path macro.ijm -json_fpath ${{ JSON_FPATH }} | ||
- name: Run macros | ||
shell: bash | ||
run: | | ||
fiji/Fiji.app/${{ matrix.fiji_executable }} --headless --console macro.ijm | ||
- name: Check that the expected result has been produced | ||
shell: bash | ||
run: | | ||
fiji/Fiji.app/${{ matrix.fiji_executable }} --headless --console .github/check_outputs.py -json_fpath ${{ JSON_FPATH }} |