You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .azure/build.yml
+42-26Lines changed: 42 additions & 26 deletions
Original file line number
Diff line number
Diff line change
@@ -1,4 +1,14 @@
1
1
# JPype CI pipeline
2
+
3
+
# NOTE:
4
+
# - Some commented-out sections (e.g., Python 3.14, JDK 22) are placeholders for future versions.
5
+
# These will be activated once the corresponding tools are available on Azure (usually ~4 months after release).
6
+
# - Debug jobs are only activated when issues cannot be replicated locally; otherwise, they remain disabled.
7
+
# - macOS coverage is limited to the oldest and newest supported Python/JDK versions, as most issues are platform-independent and our primary support is for Linux.
8
+
# - We only test against LTS (Long-Term Support) JDK releases, as newer versions (e.g., JDK 22) are not yet available on Azure.
9
+
# - Fast tests are enabled on macOS to avoid long build times, especially for tests with high overhead (e.g., leak checkers).
10
+
# - Documentation jobs are run only on Ubuntu, since documentation generation is OS-agnostic and only needs to be validated for HTML publication.
11
+
2
12
trigger:
3
13
branches:
4
14
include:
@@ -7,9 +17,9 @@ trigger:
7
17
paths:
8
18
include:
9
19
- .azure/build.yml
20
+
- pyproject.toml
21
+
- CMakeLists.txt
10
22
- doc/*
11
-
- setup.py
12
-
- setupext/*
13
23
- jpype/*
14
24
- native/*
15
25
- test/*
@@ -18,8 +28,10 @@ variables:
18
28
# indicate whether the testsuite should skip long-running tests or not.
19
29
- name: jpypetest.fast
20
30
value: 'false'
21
-
- name: system.debug
22
-
value: 'true'
31
+
32
+
# shall Azure Pipeline verbose debugging output be turned on?
33
+
#- name: system.debug
34
+
# value: 'true'
23
35
24
36
jobs:
25
37
- job: Deps
@@ -49,14 +61,20 @@ jobs:
49
61
- template: scripts/tracing.yml
50
62
51
63
- job: Test
64
+
variables:
65
+
# TODO: do we really need this, or can pip cache handle the slash as path?
66
+
# - ${{ if eq( variables['Agent.OS'], 'Windows_NT') }}:
67
+
# - name: PIP_CACHE_DIR
68
+
# value: $(Pipeline.Workspace)\.pip_cache
69
+
#
70
+
# - ${{ if ne( variables['Agent.OS'], 'Windows_NT') }}:
71
+
- name: PIP_CACHE_DIR
72
+
value: $(Pipeline.Workspace)/.pip_cache
73
+
52
74
dependsOn: Deps
53
75
strategy:
54
76
matrix:
55
77
# Linux
56
-
linux_py38_jdk11: # todo: 3.8 will be EOL on October 31, 2024
57
-
imageName: "ubuntu-latest"
58
-
python.version: '3.8'
59
-
jdk.version: '11'
60
78
linux_py39_jdk11:
61
79
imageName: "ubuntu-latest"
62
80
python.version: '3.9'
@@ -76,40 +94,37 @@ jobs:
76
94
linux_py313_jdk17:
77
95
imageName: "ubuntu-latest"
78
96
python.version: "3.13"
79
-
jdk.version: '17'# jdk 22 is not there yet.
80
-
#linux_py314_jdk22:
81
-
# imageName: "ubuntu-latest"
82
-
# python.version: "3.14.0-alpha.0"
83
-
# jdk.version: '22'
97
+
jdk.version: '17'
98
+
# todo: refresh github token to download python versions.
99
+
# linux_py314_jdk22:
100
+
# imageName: "ubuntu-latest"
101
+
# python.version: "3.14"
102
+
# jdk.version: '25'
84
103
# Windows
85
-
windows_py38_jdk11:
86
-
imageName: "windows-2019"
87
-
python.version: '3.8'# todo: 3.8 will be EOL on October 31, 2024
88
-
jdk.version: '11'
89
104
windows_py39_jdk11:
90
-
imageName: "windows-2019"
105
+
imageName: "windows-2022"
91
106
python.version: '3.9'
92
107
jdk.version: '11'
93
108
windows_py310_jdk11:
94
-
imageName: "windows-2019"
109
+
imageName: "windows-2022"
95
110
python.version: '3.10'
96
111
jdk.version: '11'
97
112
windows_py311_jdk17:
98
-
imageName: "windows-2019"
113
+
imageName: "windows-2022"
99
114
python.version: '3.11'
100
115
jdk.version: '17'
101
116
windows_py312_jdk21:
102
-
imageName: "windows-2019"
117
+
imageName: "windows-2022"
103
118
python.version: '3.12'
104
119
jdk.version: '21'
105
120
# OSX, we only test an old Python version with JDK8 and recent Py with recent JDK.
106
-
mac_py38_jdk11:
107
-
imageName: "macos-13"
108
-
python.version: '3.8'# todo: 3.8 will be EOL on October 31, 2024
0 commit comments