44 push :
55 branches :
66 - main
7- - ' *_rel'
7+ - " *_rel"
88 schedule :
99 # run daily at 5:00 am UTC (12 am ET/9 pm PT)
10- - cron : ' 0 5 * * *'
10+ - cron : " 0 5 * * *"
1111 repository_dispatch :
1212 # to run this, send a POST API call at repos/IDAES/idaes-pse/dispatches with the specified event_type
1313 # e.g. `gh repos/IDAES/idaes-pse/dispatches -F event_type=ci_run_tests`
@@ -38,7 +38,7 @@ concurrency:
3838
3939env :
4040 # default Python version to use for checks that do not require multiple versions
41- DEFAULT_PYTHON_VERSION : ' 3.10'
41+ DEFAULT_PYTHON_VERSION : " 3.10"
4242 IDAES_CONDA_ENV_NAME_DEV : idaes-pse-dev
4343 PYTEST_ADDOPTS : " --color=yes"
4444
5454 runs-on : ubuntu-latest
5555 steps :
5656 - uses : actions/checkout@v4
57+
5758 - uses : actions/setup-python@v5
5859 with :
5960 python-version : ${{ env.DEFAULT_PYTHON_VERSION }}
@@ -67,17 +68,18 @@ jobs:
6768 pip --no-cache-dir install --progress-bar off "$black_requirement"
6869 - name : Run Black to verify that the committed code is formatted
6970 run : |
70- black --check .
71+ black --check --diff .
7172
7273 spell-check :
7374 name : Check Spelling
7475 runs-on : ubuntu-latest
7576 steps :
7677 - name : Checkout source
7778 uses : actions/checkout@v4
79+
7880 - name : Run Spell Checker
79- uses : crate-ci/typos@master
80- with :
81+ uses : crate-ci/typos@v1.24.5
82+ with :
8183 config : ./.github/workflows/typos.toml
8284
8385 pytest :
@@ -88,27 +90,29 @@ jobs:
8890 strategy :
8991 fail-fast : false
9092 matrix :
91- python-version : ['3.8', '3.9', '3.10', '3.11', '3.12' ]
93+ python-version : ["3.10", "3.11", "3.12", "3.13" ]
9294 os :
9395 - linux
9496 - win64
9597 include :
9698 - os : linux
97- runner-image : ubuntu-20 .04
99+ runner-image : ubuntu-24 .04
98100 - os : win64
99101 runner-image : windows-2022
100- - python-version : ' 3.11'
102+ - python-version : " 3.11"
101103 # only generate coverage report for a single python version in the matrix
102104 # to avoid overloading Codecov
103105 cov-report : true
106+
104107 steps :
105- - uses : actions/checkout@v4
108+ - uses : actions/checkout@v5
106109 - uses : ./.github/actions/display-debug-info
107110 - name : Set up Conda environment
108111 uses : conda-incubator/setup-miniconda@v3
109112 with :
110113 activate-environment : ${{ env.IDAES_CONDA_ENV_NAME_DEV }}
111114 python-version : ${{ matrix.python-version }}
115+ miniforge-version : latest
112116 - name : Set up idaes
113117 uses : ./.github/actions/setup-idaes
114118 with :
@@ -117,6 +121,8 @@ jobs:
117121 if : matrix.cov-report
118122 run : |
119123 echo PYTEST_ADDOPTS="$PYTEST_ADDOPTS --cov --cov-report=xml" >> "$GITHUB_ENV"
124+ - name : Install pandoc
125+ run : conda install -c conda-forge pandoc
120126 - name : Run pytest (not integration)
121127 run : |
122128 pytest --pyargs idaes -m "not integration"
@@ -139,6 +145,7 @@ jobs:
139145 steps :
140146 # the checkout step is needed to have access to codecov.yml
141147 - uses : actions/checkout@v4
148+
142149 - uses : actions/download-artifact@v4
143150 with :
144151 name : coverage-report-${{ matrix.report-variant }}
@@ -152,18 +159,25 @@ jobs:
152159 # but does require token for other workflows e.g. merge to `main`
153160 # see https://github.com/codecov/codecov-action/issues/1274#issuecomment-1934437359
154161 token : ${{ secrets.CODECOV_TOKEN }}
162+ # pinning version after v0.7.0 broke tokenless upload
163+ # see codecov/codecov-action#1487
164+ version : v0.7.1
155165
156166 build-docs :
157167 name : Build Sphinx docs
158168 runs-on : ubuntu-latest
159169 needs : [code-formatting, spell-check]
160170 steps :
161171 - uses : actions/checkout@v4
172+
162173 - name : Set up Conda environment
163174 uses : conda-incubator/setup-miniconda@v3
164175 with :
165176 activate-environment : ${{ env.IDAES_CONDA_ENV_NAME_DEV }}
166177 python-version : ${{ env.DEFAULT_PYTHON_VERSION }}
178+ miniforge-version : latest
179+ - name : Install pandoc
180+ run : conda install -c conda-forge pandoc
167181 - name : Set up idaes
168182 uses : ./.github/actions/setup-idaes
169183 with :
@@ -193,11 +207,13 @@ jobs:
193207 # NOTE: using Conda instead of actions/setup-python in this job is not strictly necessary
194208 # as it doesn't need to run on Windows or use the setup-idaes local action,
195209 # but we do it for consistency with the other jobs
210+
196211 - name : Set up Conda environment
197212 uses : conda-incubator/setup-miniconda@v3
198213 with :
199214 activate-environment : ${{ env.IDAES_CONDA_ENV_NAME_DEV }}
200215 python-version : ${{ env.DEFAULT_PYTHON_VERSION }}
216+ miniforge-version : latest
201217 - name : Set up idaes
202218 uses : ./.github/actions/setup-idaes
203219 with :
@@ -222,14 +238,16 @@ jobs:
222238
223239 compat :
224240 name : Compatibility tests
225- runs-on : ubuntu-latest
241+ runs-on : ubuntu-24.04
226242 steps :
227243 - uses : actions/checkout@v4
244+
228245 - name : Set up Conda environment
229246 uses : conda-incubator/setup-miniconda@v3
230247 with :
231248 activate-environment : ${{ env.IDAES_CONDA_ENV_NAME_DEV }}
232249 python-version : ${{ env.DEFAULT_PYTHON_VERSION }}
250+ miniforge-version : latest
233251 - name : Set up idaes
234252 uses : ./.github/actions/setup-idaes
235253 with :
0 commit comments