Skip to content

Commit

Permalink
Merge pull request #1131 from jpype-project/ci_jdk_matrix
Browse files Browse the repository at this point in the history
[ci] add jdks to test matrix
  • Loading branch information
marscher committed Aug 22, 2024
2 parents 7de66d0 + 69bbe2e commit 66f8c6c
Show file tree
Hide file tree
Showing 15 changed files with 171 additions and 188 deletions.
55 changes: 36 additions & 19 deletions .azure/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ trigger:
- test/*

variables:
# indicate whether the testsuite should skip long running tests or not.
# indicate whether the testsuite should skip long-running tests or not.
- name: jpypetest.fast
value: 'false'

Expand Down Expand Up @@ -50,41 +50,59 @@ jobs:
dependsOn: Deps
strategy:
matrix:
linux-3.8:
# Linux
linux-py3.8-jdk8: # todo: 3.8 will be EOL on October 31, 2024
imageName: "ubuntu-latest"
python.version: '3.8'
linux-3.9:
jdk.version: '8'
linux-py3.9-jdk11:
imageName: "ubuntu-latest"
python.version: '3.9'
linux-3.10:
jdk.version: '11'
linux-py3.10-jdk17:
imageName: "ubuntu-latest"
python.version: '3.10'
linux-3.11:
jdk.version: '17'
linux-py3.11-jdk17:
imageName: "ubuntu-latest"
python.version: '3.11'
linux-3.12:
jdk.version: '17'
linux-py3.12-jdk17:
imageName: "ubuntu-latest"
python.version: '3.12'
windows-3.8:
jdk.version: '17'
# Windows
windows-py3.8-jdk8:
imageName: "windows-2019"
python.version: '3.8'
windows-3.9:
python.version: '3.8' # todo: 3.8 will be EOL on October 31, 2024
jdk.version: '8'
windows-py3.9-jdk11:
imageName: "windows-2019"
python.version: '3.9'
#jpypetest.fast: 'true'
windows-3.10:
jdk.version: '11'
windows-py3.10-jdk8:
imageName: "windows-2019"
python.version: '3.10'
windows-3.11:
jdk.version: '8'
windows-py3.11-jdk17:
imageName: "windows-2019"
python.version: '3.11'
windows-3.12:
jdk.version: '17'
windows-py3.12-jdk21:
imageName: "windows-2019"
python.version: '3.12'
mac-3.9:
imageName: "macos-11"
python.version: '3.9'
jdk.version: '21'
# OSX, we only test an old Python version with JDK8 and recent Py with recent JDK.
mac-py3.8-jdk8:
imageName: "macos-12"
python.version: '3.8' # todo: 3.8 will be EOL on October 31, 2024
jpypetest.fast: 'true'
jdk.version: '8'
mac-py3.12-jdk17:
imageName: "macos-12"
python.version: '3.12'
jpypetest.fast: 'true'
jdk.version: '17'

pool:
vmImage: $(imageName)
Expand All @@ -97,13 +115,12 @@ jobs:
dependsOn: Deps
strategy:
matrix:
linux-3.8:
linux-py3.8-jdk11:
imageName: "ubuntu-16.04"
jdk_version: "1.11"
jdk.version: "11"
python.version: '3.8'
pool:
vmImage: $(imageName)
steps:
- template: scripts/deps.yml
- template: scripts/debug.yml

6 changes: 3 additions & 3 deletions .azure/scripts/coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,18 +28,18 @@ steps:
bash <(curl -s https://codecov.io/bash) -f coverage.xml -f coverage_py.xml -f coverage_java.xml -X gcov
displayName: 'Report'

- task: PublishCodeCoverageResults@1
- task: PublishCodeCoverageResults@2
inputs:
codeCoverageTool: 'JaCoCo'
summaryFileLocation: coverage_java.xml
pathToSources: native/java

- task: PublishCodeCoverageResults@1
- task: PublishCodeCoverageResults@2
inputs:
codeCoverageTool: 'cobertura'
summaryFileLocation: coverage.xml

- task: PublishCodeCoverageResults@1
- task: PublishCodeCoverageResults@2
inputs:
codeCoverageTool: 'cobertura'
summaryFileLocation: coverage_py.xml
Expand Down
4 changes: 4 additions & 0 deletions .azure/scripts/debug.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,10 @@ steps:
inputs:
versionSpec: '$(python.version)'

- template: jdk.yml
parameters:
version: '$(jdk.version)'

- script: |
sudo apt install gdb
pip install ./
Expand Down
19 changes: 10 additions & 9 deletions .azure/scripts/jdk.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
parameters:
- name: version
type: string
default: 8
default: '8'

steps:
- script: |
set v="##vso[task.setvariable variable=JAVA_HOME]%JAVA_HOME_${{parameters.version}}_X64%"
echo %v:"=%
condition: eq(variables['Agent.OS'], 'Windows_NT')

- script: |
echo "##vso[task.setvariable variable=JAVA_HOME]$(JAVA_HOME_${{parameters.version}}_X64)"
condition: ne(variables['Agent.OS'], 'Windows_NT')
- task: JavaToolInstaller@0
inputs:
versionSpec: ${{ parameters.version }}
jdkArchitectureOption: 'x64'
jdkSourceOption: 'PreInstalled'
- bash: |
echo AGENT_JOBSTATUS = $AGENT_JOBSTATUS
if [[ "$AGENT_JOBSTATUS" == "SucceededWithIssues" ]]; then exit 1; fi
displayName: JDK ${{ parameters.version }} set as JAVA_HOME.
9 changes: 4 additions & 5 deletions .azure/scripts/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ steps:

- template: jdk.yml
parameters:
version: 11
version: '$(jdk.version)'

- script: |
python -m pip install --upgrade pytest setuptools
Expand All @@ -25,12 +25,12 @@ steps:

- script: |
python -m pytest -v --junit-xml=build/test/test.xml test/jpypetest --checkjni
displayName: 'Test JDK 11'
displayName: 'Test JDK $(jdk.version) and Python $(python.version)'
condition: eq(variables['jpypetest.fast'], 'false')

- script: |
python -m pytest -v --junit-xml=build/test/test.xml test/jpypetest --checkjni --fast
displayName: 'Test JDK 11 (fast)'
displayName: 'Test JDK $(jdk.version) and Python $(python.version) (fast)'
condition: eq(variables['jpypetest.fast'], 'true')

# presence of jpype/ seems to confuse entry_points so `cd` elsewhere
Expand All @@ -45,5 +45,4 @@ steps:
condition: succeededOrFailed()
inputs:
testResultsFiles: 'build/test/test.xml'
testRunTitle: 'Publish test results for Python $(python.version) with JDK 11'

testRunTitle: 'Publish test results for Python $(python.version) with JDK $(jdk.version)'
4 changes: 2 additions & 2 deletions AUTHORS.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ Authors
-------

The original author: Steve Menard

Current Maintainer: Luis Nell
Current Lead Developer: Karl Einar Nelson
Current Maintainer: Martin K. Scherer


Huge thanks to these CONTRIBUTORS:
Expand Down
Loading

0 comments on commit 66f8c6c

Please sign in to comment.