Refactor CI conditions for Windows and non-Windows #90
This file contains hidden or 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: Java CI with Ant | |
| on: | |
| push: | |
| branches: [ master, development, experimental ] | |
| pull_request: | |
| branches: [ master, development, experimental ] | |
| 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, windows-2022, macos-latest ] | |
| 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 dependencies (macOS) | |
| if: ${{ contains(matrix.runs-on, 'macos') }} | |
| run: | | |
| brew install subversion | |
| - name: Install dependencies (Ubuntu) | |
| if: ${{ contains(matrix.runs-on, 'ubuntu') }} | |
| run: sudo apt-get install -y subversion | |
| - name: Set up env | |
| run: | | |
| mkdir temp | |
| # Get one OSB project required for running tests | |
| mkdir osb/cerebellum | |
| mkdir osb/cerebellum/cerebellar_granule_cell | |
| git clone https://github.com/OpenSourceBrain/GranuleCell.git osb/cerebellum/cerebellar_granule_cell/GranuleCell | |
| echo Set up additional folders... | |
| ls | |
| - name: Test subversion on windows | |
| if: ${{ contains(matrix.runs-on, 'windows') }} | |
| shell: pwsh | |
| run: | | |
| choco install svn | |
| echo "C:\Program Files (x86)\Subversion\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append | |
| refreshenv | |
| svn --version | |
| - name: Build project and run tests (non Win) | |
| if: ${{ !contains(matrix.runs-on, 'windows') }} | |
| run: | | |
| ./updatenC.sh # Pull other repos, e.g. NeuroML v1 examples from SourceForge | |
| # make | |
| ./nC.sh -make | |
| # Rebuild & perform a number of tests with ant | |
| ant testcore | |
| # Print the version info | |
| ./nC.sh -v | |
| - name: Build project and run tests (Win) | |
| if: ${{ contains(matrix.runs-on, 'windows') }} | |
| run: | | |
| ./updatenC.bat # Pull other repos, e.g. NeuroML v1 examples from SourceForge | |
| echo "Everything pulled..." | |
| # make | |
| ./nC.bat -make | |
| # Rebuild & perform a number of tests with ant | |
| ant testcore | |
| # Print the version info | |
| ./nC.bat -v | |
| shell: bash |