improve teh way they are called #16
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: "polite-pig, placid-llama, chatty-frog, hiding-tiger, laid-back-lobster" | |
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: ImageJ-macosx | |
- name: macos-x86_64 | |
os: macos-13 | |
url_file_name: fiji-macosx.zip | |
fiji_executable: 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: Cache Maven repository | |
uses: actions/cache@v4 | |
with: | |
path: ~/.m2 | |
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} | |
restore-keys: | | |
${{ runner.os }}-m2- | |
- name: Cache Fiji | |
id: cache-fiji | |
uses: actions/cache@v4 | |
with: | |
path: ./fiji | |
key: ${{ runner.os }}-fiji | |
- name: Set up Fiji | |
if: steps.cache-fiji.outputs.cache-hit != 'true' | |
run: | | |
mkdir -p fiji | |
wget -q https://downloads.imagej.net/fiji/latest/${{ matrix.url_file_name }} -O fiji.zip | |
unzip fiji.zip -d fiji | |
- name: Build Plugin | |
run: mvn clean package | |
- name: Get plugin name and version | |
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 | |
run: cp target/${{steps.mvn_info.outputs.name}}-${{steps.mvn_info.outputs.version}}.jar fiji/Fiji.app/plugins/ | |
- name: Download dependencies | |
run: | | |
wget -q -P fiji/Fiji.app/jars/ https://maven.scijava.org/content/groups/public/io/bioimage/dl-modelrunner/0.5.10-SNAPSHOT/dl-modelrunner-0.5.10-20241111.153028-64.jar | |
wget -q -P fiji/Fiji.app/jars/ 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 | |
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 | |
run: | | |
fiji/Fiji.app/${{ matrix.fiji_executable }} --headless --console .github/create_macro.py -model_nicknames -models_dir fiji/Fiji.app/models -macro_path macro.ijm | |
- name: Run macros | |
run: | | |
fiji/Fiji.app/${{ matrix.fiji_executable }} --headless --console macro.ijm | |
- name: Check that the expected result has been produced | |
run: | | |
# TODO check that the expected files have been created and that they have the expected size |