3131 PYTHON_CORE_PKGS : wheel
3232 PYPI_ONLY : z3-solver linear-tree
3333 PYPY_EXCLUDE : scipy numdifftools seaborn statsmodels linear-tree
34- CACHE_VER : v260304.0
34+ CACHE_VER : v260512.3
3535 NEOS_EMAIL : tests@pyomo.org
3636 SRC_REF : ${{ github.head_ref || github.ref }}
3737 PYOMO_WORKFLOW : |
38- ${{ ( contains(github.event.pull_request.title, '[WIP]') ||
39- github.event.pull_request.draft ) && 'draft_pr'
40- || github.event.pull_request.number && 'pr' || 'main' }}
38+ ${{ contains(github.event.pull_request.title, '[WIP]') && 'wip'
39+ || github.event.pull_request.draft && 'draft_pr'
40+ || github.event.pull_request.number && 'pr'
41+ || 'main' }}
4142
4243jobs :
4344 lint :
4445 name : lint/style-and-typos
45- if : |
46- ${{ ! ( contains(github.event.pull_request.title, '[WIP]') ||
47- github.event.pull_request.draft ) }}
46+ # Note: 'env' is not available in GHA jobs.<job_id>.if context.
47+ if : ${{ ! contains(github.event.pull_request.title, '[WIP]') }}
4848 runs-on : ubuntu-latest
4949 steps :
5050 - name : Checkout Pyomo source
7373 sudo resolvectl query github.com
7474 sudo resolvectl status
7575 - name : URL Checker
76- if : env.PYOMO_WORKFLOW == 'branch'
76+ if : ${{ env.PYOMO_WORKFLOW == 'branch' }}
7777 uses : urlstechie/urlchecker-action@0.0.34
7878 with :
7979 # A comma-separated list of file types to cover in the URL checks
@@ -151,10 +151,18 @@ jobs:
151151 PYENV : pip
152152 PACKAGES : cython
153153
154- - os : windows-latest
154+ # [13 May 26] Disabled until we can sort out the seg fault issue
155+ # - os: windows-latest
156+ # python: '3.10'
157+ # other: /pip
158+ # TARGET: win
159+ # PYENV: pip
160+
161+ - os : ubuntu-latest
155162 python : ' 3.10'
156- other : /pip
157- TARGET : win
163+ other : /slim
164+ slim : 1
165+ TARGET : linux
158166 PYENV : pip
159167
160168 - os : ubuntu-latest
@@ -164,13 +172,6 @@ jobs:
164172 TARGET : linux
165173 PYENV : pip
166174
167- - os : ubuntu-latest
168- python : ' 3.10'
169- other : /slim
170- slim : 1
171- TARGET : linux
172- PYENV : pip
173-
174175 - os : ubuntu-latest
175176 python : 3.12
176177 other : /numpy2
@@ -305,7 +306,7 @@ jobs:
305306
306307 - name : Set up Miniconda Python ${{ matrix.python }}
307308 if : matrix.PYENV == 'conda'
308- uses : conda-incubator/setup-miniconda@v3
309+ uses : conda-incubator/setup-miniconda@v4
309310 with :
310311 conda-remove-defaults : true
311312 auto-update-conda : false
@@ -415,6 +416,8 @@ jobs:
415416 python --version
416417 # We need setuptools so we can run Pyomo's setup.py
417418 conda install setuptools
419+ # Make sure pip is installed for dependencies not available through conda
420+ conda install pip
418421 # Note: some pypi packages are not available through conda
419422 PYOMO_DEPENDENCIES=`python setup.py dependencies \
420423 --extras "$EXTRAS" | tail -1`
@@ -625,7 +628,7 @@ jobs:
625628 Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
626629 $INSTALLER = "${env:DOWNLOAD_DIR}/gams_install.exe"
627630 # Demo licenses are included for 5mo from the newest release
628- $URL = "https://d37drm4t2jghv5.cloudfront.net/distributions/52.5.0 "
631+ $URL = "https://d37drm4t2jghv5.cloudfront.net/distributions/latest "
629632 if ( "${{matrix.TARGET}}" -eq "win" ) {
630633 $URL = "$URL/windows/windows_x64_64.exe"
631634 } elseif ( "${{matrix.TARGET}}" -eq "osx" ) {
@@ -739,9 +742,9 @@ jobs:
739742 cd gjh_asl_json-master/Thirdparty
740743 # Patch get.ASL to use curl
741744 URL="http://www.ampl.com/netlib/ampl/solvers.tgz"
742- sed -i "s|wget |curl -o solvers.tgz |" get.ASL
743- cat get.ASL
744- ./get.ASL
745+ sed "s|wget |curl -o solvers.tgz |" get.ASL > get.ASL.patched
746+ cat get.ASL.patched
747+ bash ./get.ASL.patched
745748 cd ..
746749 make
747750 mv bin "$INSTALL_DIR/bin"
@@ -925,8 +928,8 @@ jobs:
925928 cover :
926929 name : process-coverage-${{ matrix.TARGET }}
927930 needs : build
928- # run even if a build job fails, but not if canceled (except for branches)
929- if : success() || failure()
931+ # run even if a build job fails, but not if canceled
932+ if : ${{ success() || failure() }}
930933 runs-on : ${{ matrix.os }}
931934 timeout-minutes : 10
932935 strategy :
@@ -1035,7 +1038,9 @@ jobs:
10351038 fi
10361039
10371040 - name : Upload codecov reports
1038- if : github.repository_owner == 'Pyomo' || github.ref != 'refs/heads/main'
1041+ if : |
1042+ env.PYOMO_WORKFLOW != 'branch' &&
1043+ (github.repository_owner == 'Pyomo' || github.ref != 'refs/heads/main')
10391044 uses : codecov/codecov-action@v6
10401045 with :
10411046 files : coverage.xml
@@ -1046,6 +1051,7 @@ jobs:
10461051
10471052 - name : Upload other coverage reports
10481053 if : |
1054+ env.PYOMO_WORKFLOW != 'branch' &&
10491055 hashFiles('coverage-other.xml') != '' &&
10501056 (github.repository_owner == 'Pyomo' || github.ref != 'refs/heads/main')
10511057 uses : codecov/codecov-action@v6
0 commit comments