@@ -187,77 +187,6 @@ jobs:
187187 working-directory : ./timefold-solver-enterprise
188188 shell : bash
189189 run : mvn -B clean verify
190- enterprise-python :
191- needs : approval_required
192- name : Enterprise Edition (Python)
193- concurrency :
194- group : downstream-enterprise-python-${{ github.event_name }}-${{ github.head_ref }}
195- cancel-in-progress : true
196- timeout-minutes : 120
197- runs-on : ubuntu-latest
198- steps :
199- - name : Check out repository code
200- uses : actions/checkout@v4
201- with :
202- path : ' ./timefold-solver'
203- ref : ${{ github.event.pull_request.head.sha }} # The GHA event will pull the main branch by default, and we must specify the PR reference version
204-
205- # Clone timefold-solver-enterprise
206- # Need to check for stale repo, since Github is not aware of the build chain and therefore doesn't automate it.
207- - name : Checkout timefold-solver-enterprise (PR) # Checkout the PR branch first, if it exists
208- id : checkout-solver-enterprise
209- uses : actions/checkout@v4
210- continue-on-error : true
211- with :
212- repository : TimefoldAI/timefold-solver-enterprise
213- ref : ${{ github.head_ref }}
214- token : ${{ secrets.JRELEASER_GITHUB_TOKEN }} # Safe; only used to clone the repo and not stored in the fork.
215- path : ./timefold-solver-enterprise
216- fetch-depth : 0 # Otherwise merge will fail on account of not having history.
217-
218- - name : Checkout timefold-solver-enterprise (main) # Checkout the main branch if the PR branch does not exist
219- if : steps.checkout-solver-enterprise.outcome != 'success'
220- uses : actions/checkout@v4
221- with :
222- repository : TimefoldAI/timefold-solver-enterprise
223- ref : main
224- token : ${{ secrets.JRELEASER_GITHUB_TOKEN }} # Safe; only used to clone the repo and not stored in the fork.
225- path : ./timefold-solver-enterprise
226- fetch-depth : 0 # Otherwise merge will fail on account of not having history.
227-
228- # Build and test
229- - name : Set up the JDK
230- uses : actions/setup-java@v4
231- with :
232- java-version : 17
233- distribution : ' temurin'
234- cache : ' maven'
235-
236- # Need to install all Python versions in the same run for tox
237- - name : Python 3.10, Python 3.11, Python 3.12 Setup
238- uses : actions/setup-python@v5
239- with :
240- python-version : |
241- 3.10
242- 3.11
243- 3.12
244- cache : ' pip'
245- cache-dependency-path : |
246- **/setup.py
247-
248- - name : Install tox
249- run :
250- pip install tox build
251-
252- - name : Build Timefold Solver for Python
253- working-directory : ./timefold-solver
254- run : python -m build
255-
256- - name : Run tox on Timefold Solver Enterprise for Python test suite
257- working-directory : ./timefold-solver-enterprise
258- env :
259- PIP_FIND_LINKS : ${{ github.workspace }}/timefold-solver/dist
260- run : tox
261190
262191 build_documentation :
263192 runs-on : ubuntu-latest
@@ -350,19 +279,6 @@ jobs:
350279 java-version : 17
351280 distribution : ' temurin'
352281 cache : ' maven'
353- - name : Python 3.10, Python 3.11, Python 3.12 Setup
354- uses : actions/setup-python@v5
355- with :
356- python-version : |
357- 3.10
358- 3.11
359- 3.12
360- cache : ' pip'
361- cache-dependency-path : |
362- **/setup.py
363- - name : Install tox
364- run :
365- pip install tox coverage pytest pytest-cov
366282 - name : Cache SonarCloud packages
367283 uses : actions/cache@v4
368284 with :
@@ -372,24 +288,6 @@ jobs:
372288 - name : Build with Maven to measure code coverage # The ENV variables are limited to the scope of the current step. Avoid adding sensitive ENV variables here as the tests could leak them.
373289 run : mvn -B clean install -Prun-code-coverage
374290
375- - name : Get JaCoCo Agent
376- run : mvn org.apache.maven.plugins:maven-dependency-plugin:3.8.1:copy -Dartifact=org.jacoco:org.jacoco.agent:0.8.13:jar:runtime -DoutputDirectory=target/jacocoagent.jar
377-
378- - name : Run tox to measure timefold solver python code coverage from Python tests
379- # Sometimes crashes at the very end when using JaCoCo.
380- # This crash happens after everything is processed and stored, and therefore can be safely ignored.
381- # Ignore the crash to not ruin the long-running build.
382- continue-on-error : true
383- run : python -m tox -- --cov=timefold --cov-report=xml:target/coverage.xml --cov-config=tox.ini --cov-branch --cov-append --jacoco-agent=./target/jacocoagent.jar
384-
385- - name : Run tox to measure jpyinterpreter code coverage from Python tests
386- working-directory : ./python/jpyinterpreter
387- # Sometimes crashes at the very end when using JaCoCo.
388- # This crash happens after everything is processed and stored, and therefore can be safely ignored.
389- # Ignore the crash to not ruin the long-running build.
390- continue-on-error : true
391- run : python -m tox -- --cov=jpyinterpreter --cov-report=xml:target/coverage.xml --cov-config=tox.ini --cov-branch --cov-append --jacoco-agent=../../target/jacocoagent.jar --jacoco-output=../../target/jacoco.exec
392-
393291 - name : Run analysis
394292 env :
395293 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any
0 commit comments