2828 python-version : ["3.11", "3.12", "3.13", "3.14"]
2929
3030 steps :
31- - uses : actions/checkout@v5
31+ - uses : actions/checkout@v6.0.1
3232 with :
3333 persist-credentials : false
3434
3838 python-version : ${{ matrix.python-version }}
3939
4040 - name : Install uv
41- uses : astral-sh/setup-uv@85856786d1ce8acfbcc2f13a5f3fbd6b938f9f41 # v7.1.2
41+ uses : astral-sh/setup-uv@1e862dfacbd1d6d858c55d9b792c756523627244 # v7.1.4
4242 with :
4343 activate-environment : true
4444 enable-cache : true
@@ -74,15 +74,17 @@ jobs:
7474 run : |
7575 pytest --random-order --cov=freqtrade --cov=freqtrade_client --cov-config=.coveragerc
7676
77- - name : Coveralls
77+ - uses : codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
78+ if : (runner.os == 'Linux' && matrix.python-version == '3.12' && matrix.os == 'ubuntu-24.04')
79+ with :
80+ fail_ci_if_error : true
81+ token : ${{ secrets.CODECOV_TOKEN }}
82+
83+ - name : Cleanup codecov dirty state files
7884 if : (runner.os == 'Linux' && matrix.python-version == '3.12' && matrix.os == 'ubuntu-24.04')
79- env :
80- # Coveralls token. Not used as secret due to github not providing secrets to forked repositories
81- COVERALLS_REPO_TOKEN : 6D1m0xupS3FgutfuGao8keFf9Hc0FpIXu
8285 run : |
83- # Allow failure for coveralls
84- uv pip install coveralls
85- coveralls || true
86+ # See https://github.com/codecov/codecov-action/issues/1851
87+ rm -rf codecov codecov.SHA256SUM codecov.SHA256SUM.sig
8688
8789 - name : Run json schema extract
8890 # This should be kept before the repository check to ensure that the schema is up-to-date
@@ -175,7 +177,7 @@ jobs:
175177 name : " Mypy Version Check"
176178 runs-on : ubuntu-24.04
177179 steps :
178- - uses : actions/checkout@v5
180+ - uses : actions/checkout@v6.0.1
179181 with :
180182 persist-credentials : false
181183
@@ -193,7 +195,7 @@ jobs:
193195 name : " Pre-commit checks"
194196 runs-on : ubuntu-22.04
195197 steps :
196- - uses : actions/checkout@v5
198+ - uses : actions/checkout@v6.0.1
197199 with :
198200 persist-credentials : false
199201
@@ -206,7 +208,7 @@ jobs:
206208 name : " Documentation build"
207209 runs-on : ubuntu-22.04
208210 steps :
209- - uses : actions/checkout@v5
211+ - uses : actions/checkout@v6.0.1
210212 with :
211213 persist-credentials : false
212214
@@ -238,7 +240,7 @@ jobs:
238240 name : " Tests and Linting - Online tests"
239241 runs-on : ubuntu-24.04
240242 steps :
241- - uses : actions/checkout@v5
243+ - uses : actions/checkout@v6.0.1
242244 with :
243245 persist-credentials : false
244246
@@ -248,7 +250,7 @@ jobs:
248250 python-version : " 3.12"
249251
250252 - name : Install uv
251- uses : astral-sh/setup-uv@85856786d1ce8acfbcc2f13a5f3fbd6b938f9f41 # v7.1.2
253+ uses : astral-sh/setup-uv@1e862dfacbd1d6d858c55d9b792c756523627244 # v7.1.4
252254 with :
253255 activate-environment : true
254256 enable-cache : true
@@ -273,10 +275,7 @@ jobs:
273275 # Notify only once - when CI completes (and after deploy) in case it's successful
274276 notify-complete :
275277 needs : [
276- tests,
277- docs-check,
278- mypy-version-check,
279- pre-commit,
278+ build,
280279 build-linux-online
281280 ]
282281 runs-on : ubuntu-22.04
@@ -304,12 +303,24 @@ jobs:
304303 webhookUrl : ${{ secrets.DISCORD_WEBHOOK }}
305304
306305 build :
306+ if : always()
307307 name : " Build"
308- needs : [ tests, docs-check, mypy-version-check, pre-commit ]
308+ needs : [
309+ tests,
310+ docs-check,
311+ mypy-version-check,
312+ pre-commit,
313+ ]
309314 runs-on : ubuntu-22.04
310315
311316 steps :
312- - uses : actions/checkout@v5
317+
318+ - name : Decide whether the needed jobs succeeded or failed
319+ uses : re-actors/alls-green@05ac9388f0aebcb5727afa17fcccfecd6f8ec5fe # v1.2.2
320+ with :
321+ jobs : ${{ toJSON(needs) }}
322+
323+ 313324 with :
314325 persist-credentials : false
315326
@@ -356,7 +367,7 @@ jobs:
356367 id-token : write
357368
358369 steps :
359- - uses : actions/checkout@v5
370+ - uses : actions/checkout@v6.0.1
360371 with :
361372 persist-credentials : false
362373
@@ -385,7 +396,7 @@ jobs:
385396 id-token : write
386397
387398 steps :
388- - uses : actions/checkout@v5
399+ - uses : actions/checkout@v6.0.1
389400 with :
390401 persist-credentials : false
391402
@@ -403,10 +414,7 @@ jobs:
403414 docker-build :
404415 name : " Docker Build and Deploy"
405416 needs : [
406- tests,
407- docs-check,
408- mypy-version-check,
409- pre-commit
417+ build,
410418 ]
411419 if : (github.event_name == 'push' || github.event_name == 'schedule' || github.event_name == 'release') && github.repository == 'freqtrade/freqtrade'
412420 uses : ./.github/workflows/docker-build.yml
0 commit comments