Skip to content

update

update #10

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:
name:
- ubuntu
- windows
- macos-arm64
- macos-x86_64
url_file_name:
- fiji-linux64.zip
- fiji-win64.zip
- fiji-macosx.zip
- fiji-macosx.zip
fiji_executable:
- ImageJ-linux64
- ImageJ-win64.exe
- ImageJ-macosx
- ImageJ-macosx
os:
- ubuntu-latest
- windows-latest
- macos-14
- macos-13
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: Copy Plugin to Fiji
run: cp target/your-plugin.jar fiji/Fiji.app/plugins/
- 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