Skip to content

Test on java 21

Test on java 21 #98

Workflow file for this run

# This workflow will build a Java project with Maven
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven
name: Java CI with Maven
on:
push:
branches: [ master, development, experimental, osb* ]
pull_request:
branches: [ master, development, experimental, osb* ]
jobs:
build_and_test:
runs-on: ${{ matrix.runs-on }}
strategy:
fail-fast: false
matrix:
java: [ '8', '11', '16', '17', '19', '21' ]
runs-on: [ubuntu-latest, macos-12, windows-2019] # Note macos-12, not latest/14, due to hdf5 install issue
exclude:
- runs-on: macos-latest
java: "8"
- runs-on: macos-latest
java: "16"
name: Test on Java ${{ matrix.Java }} on ${{ matrix.runs-on }}
steps:
- uses: actions/checkout@v4
- name: Set up JDK ${{ matrix.Java }}
uses: actions/setup-java@v4
with:
java-version: ${{ matrix.Java }}
distribution: 'adopt'
- name: Install using getNeuroML.py (non Win)
env:
main_repo_branch: ${GITHUB_REF_NAME}
if: ${{ matrix.runs-on != 'windows-2019' }}
run: |
export main_repo_branch=${{env.main_repo_branch}}
if [[ ${main_repo_branch} != "master" && ${main_repo_branch} != "development" && ${main_repo_branch} != "experimental" && ${main_repo_branch} != *"osb"* ]]; then main_repo_branch=development ; fi
echo Using branch $main_repo_branch
python getNeuroML.py $main_repo_branch -dont_switch_jneuroml_branch # will call mvn install on this & other repos
mvn dependency:tree
./jnml -v
- name: Install using getNeuroML.py (Win)
if: ${{ matrix.runs-on == 'windows-2019' }}
run: |
$env:main_repo_branch=$env:GITHUB_REF_NAME
if ( $env:main_repo_branch -ne "master" -and $env:main_repo_branch -ne "development" -and $env:main_repo_branch -ne "experimental" -and $env:main_repo_branch -notlike '*osb*' ) { $env:main_repo_branch="development" }
echo "Using branch $env:main_repo_branch..."
python getNeuroML.py $env:main_repo_branch -dont_switch_jneuroml_branch # will call mvn install on this & other repos
mvn dependency:tree
.\jnml.bat -v
- name: Further tests (non Win)
if: ${{ matrix.runs-on != 'windows-2019' }}
run: |
pwd
ls -alt
mkdir results
./jnml -validate ../NeuroML2/examples/NML2_FullNeuroML.nml # Test validate
./jnml ../NeuroML2/LEMSexamples/LEMS_NML2_Ex9_FN.xml -nogui # Test running with jLEMS
./jnml ../NeuroML2/LEMSexamples/LEMS_NML2_Ex5_DetCell.xml -nogui
./jnml ../NeuroML2/LEMSexamples/LEMS_NML2_Ex9_FN.xml -neuron
./jnml ../NeuroML2/LEMSexamples/LEMS_NML2_Ex9_FN.xml -brian
./jnml ../NeuroML2/LEMSexamples/LEMS_NML2_Ex9_FN.xml -sedml
./jnml ../NeuroML2/LEMSexamples/LEMS_NML2_Ex9_FN.xml -cvode
./jnml ../NeuroML2/LEMSexamples/LEMS_NML2_Ex9_FN.xml -matlab
./jnml ../NeuroML2/LEMSexamples/LEMS_NML2_Ex9_FN.xml -dlems
./jnml ../NeuroML2/LEMSexamples/LEMS_NML2_Ex9_FN.xml -eden
./jnml ../NeuroML2/LEMSexamples/regression-tests/LEMS_NML2_Ex5_DetCell_unformatted.xml -nogui
./jnml ../NeuroML2/examples/NML2_SimpleMorphology.nml -svg
ls -alt ../NeuroML2/examples
ls -alt ../NeuroML2/LEMSexamples
env
- name: Further tests (Win)
if: ${{ matrix.runs-on == 'windows-2019' }}
run: |
pwd
mkdir results
.\jnml.bat -validate ..\NeuroML2\examples\NML2_FullNeuroML.nml # Test validate
.\jnml.bat ..\NeuroML2\LEMSexamples\LEMS_NML2_Ex9_FN.xml -nogui # Test running with jLEMS
.\jnml.bat ..\NeuroML2\LEMSexamples\LEMS_NML2_Ex5_DetCell.xml -nogui
.\jnml.bat ..\NeuroML2\LEMSexamples\LEMS_NML2_Ex9_FN.xml -neuron
.\jnml.bat ..\NeuroML2\LEMSexamples\LEMS_NML2_Ex9_FN.xml -brian
.\jnml.bat ..\NeuroML2\LEMSexamples\LEMS_NML2_Ex9_FN.xml -sedml
.\jnml.bat ..\NeuroML2\LEMSexamples\LEMS_NML2_Ex9_FN.xml -cvode
.\jnml.bat ..\NeuroML2\LEMSexamples\LEMS_NML2_Ex9_FN.xml -matlab
.\jnml.bat ..\NeuroML2\LEMSexamples\LEMS_NML2_Ex9_FN.xml -dlems
.\jnml.bat ..\NeuroML2\LEMSexamples\LEMS_NML2_Ex9_FN.xml -eden
.\jnml.bat ..\NeuroML2\LEMSexamples\regression-tests\LEMS_NML2_Ex5_DetCell_unformatted.xml -nogui
.\jnml.bat ..\NeuroML2\examples\NML2_SimpleMorphology.nml -svg