Skip to content

Commit 650a6c1

Browse files
authored
Merge branch 'main' into 4291-amend-radiation-budget-to-use-alias
2 parents e172b65 + 19b590f commit 650a6c1

339 files changed

Lines changed: 8300 additions & 2360 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.circleci/config.yml

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
---
22
version: 2.1
33

4-
orbs:
5-
coverage-reporter: codacy/coverage-reporter@13.13.0
6-
74
commands:
85
check_changes:
96
steps:
@@ -146,15 +143,15 @@ jobs:
146143
name: Remove source code to test the installed software
147144
command: rm -r esmvaltool
148145
- test_and_report
146+
- run:
147+
# Documentation available at https://docs.codacy.com/coverage-reporter/
148+
name: Upload coverage report to Codacy
149+
command: bash <(curl -Ls https://coverage.codacy.com/get.sh) report -s -r test-reports/coverage.xml
149150
- save_cache:
150151
key: test-{{ .Branch }}-{{ checksum "cache_key.txt" }}
151152
paths:
152153
- /root/.cache/pip
153154
- .pytest_cache
154-
- coverage-reporter/send_report:
155-
coverage-reports: "test-reports/coverage.xml"
156-
project-token: $CODACY_PROJECT_TOKEN
157-
skip: true # skip if project-token is not defined (i.e. on a fork)
158155

159156
test_installation_from_source_test_mode:
160157
# Test installation from source
@@ -235,7 +232,7 @@ jobs:
235232
# Test building documentation
236233
docker:
237234
- image: condaforge/miniforge3:latest
238-
resource_class: medium
235+
resource_class: medium+
239236
steps:
240237
- checkout
241238
- run:

.github/dependabot.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,7 @@ updates:
1212
directory: "/"
1313
schedule:
1414
interval: "weekly"
15+
labels:
16+
- dependencies
17+
- github_actions
18+
- automatedPR

.github/workflows/check_links.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ on:
77
repository_dispatch:
88
workflow_dispatch:
99
schedule:
10-
- cron: "00 06 * * 0"
10+
- cron: "00 00 1 * *" # monthly
1111

1212
jobs:
1313
linkChecker:
@@ -28,7 +28,7 @@ jobs:
2828
args: >
2929
./doc/sphinx/**/*.rst
3030
--max-concurrency 1 --no-progress
31-
--accept "200..=204, 429"
31+
--accept "200..=204, 302, 429"
3232
3333
- name: Set current date
3434
run: echo "REPORT_DATE=$(date +'%Y-%m-%d')" >> $GITHUB_ENV

.github/workflows/install-from-conda.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ jobs:
4545
esmvaltool version 2>&1 | tee conda_install_linux_artifacts_python_${{ matrix.python-version }}/version.txt
4646
- name: Upload artifacts
4747
if: ${{ always() }} # upload artifacts even if fail
48-
uses: actions/upload-artifact@v6
48+
uses: actions/upload-artifact@v7
4949
with:
5050
name: Conda_Install_Linux_python_${{ matrix.python-version }}
5151
path: conda_install_linux_artifacts_python_${{ matrix.python-version }}
@@ -84,7 +84,7 @@ jobs:
8484
# - run: esmvaltool version 2>&1 | tee conda_install_osx_artifacts_python_${{ matrix.python-version }}/version.txt
8585
# - name: Upload artifacts
8686
# if: ${{ always() }} # upload artifacts even if fail
87-
# uses: actions/upload-artifact@v6
87+
# uses: actions/upload-artifact@v7
8888
# with:
8989
# name: Conda_Install_OSX_python_${{ matrix.python-version }}
9090
# path: conda_install_osx_artifacts_python_${{ matrix.python-version }}

.github/workflows/install-from-condalock-file.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ jobs:
5959
- run: pytest -n 2 -m "not installation"
6060
- name: Upload artifacts
6161
if: ${{ always() }} # upload artifacts even if fail
62-
uses: actions/upload-artifact@v6
62+
uses: actions/upload-artifact@v7
6363
with:
6464
name: Source_Install_Linux_python_${{ matrix.python-version }}
6565
path: source_install_linux_artifacts_python_${{ matrix.python-version }}

.github/workflows/install-from-source.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ jobs:
4848
esmvaltool version 2>&1 | tee source_install_linux_artifacts_python_${{ matrix.python-version }}/version.txt
4949
- name: Upload artifacts
5050
if: ${{ always() }} # upload artifacts even if fail
51-
uses: actions/upload-artifact@v6
51+
uses: actions/upload-artifact@v7
5252
with:
5353
name: Source_Install_Linux_python_${{ matrix.python-version }}
5454
path: source_install_linux_artifacts_python_${{ matrix.python-version }}
@@ -81,7 +81,7 @@ jobs:
8181
# - run: esmvaltool version 2>&1 | tee source_install_osx_artifacts_python_${{ matrix.python-version }}/version.txt
8282
# - name: Upload artifacts
8383
# if: ${{ always() }} # upload artifacts even if fail
84-
# uses: actions/upload-artifact@v6
84+
# uses: actions/upload-artifact@v7
8585
# with:
8686
# name: Source_Install_OSX_python_${{ matrix.python-version }}
8787
# path: source_install_osx_artifacts_python_${{ matrix.python-version }}
Lines changed: 39 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,61 @@
1-
---
2-
name: PyPi Build and Deploy 🐍📦
1+
# Workflow from https://packaging.python.org/en/latest/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows/
2+
name: Publish Python 🐍 distribution 📦 to PyPI and TestPyPI
33

44
on:
55
release:
66
types: [published]
7-
# use this for testing
87
push:
8+
# Use this for testing the package build.
99
branches:
1010
- main
11+
- v[0-9]+.[0-9]+.x # matches release branches like v2.12.x
1112

1213
jobs:
13-
build-n-publish:
14-
name: Build and publish ESMValTool on PyPi
14+
build:
15+
name: Build distribution 📦
1516
runs-on: ubuntu-latest
16-
environment:
17-
name: pypi
18-
url: https://pypi.org/project/ESMValTool/
19-
permissions:
20-
# IMPORTANT: this permission is mandatory for trusted publishing
21-
id-token: write
17+
2218
steps:
2319
- uses: actions/checkout@v6
2420
with:
2521
fetch-depth: 0
26-
- name: Set up Python 3.13
22+
persist-credentials: false
23+
- name: Set up Python
2724
uses: actions/setup-python@v6
2825
with:
29-
python-version: "3.13"
30-
- name: Install pep517
26+
python-version: "3.x"
27+
- name: Install pypa/build
3128
run: >-
32-
python -m
29+
python3 -m
3330
pip install
34-
pep517
31+
build
3532
--user
3633
- name: Build a binary wheel and a source tarball
37-
run: >-
38-
python -m
39-
pep517.build
40-
--source
41-
--binary
42-
--out-dir dist/
43-
.
44-
# - name: Publish distribution to Test PyPI
45-
# uses: pypa/gh-action-pypi-publish@v1.13.0
46-
# with:
47-
# repository-url: https://test.pypi.org/legacy/
34+
run: python3 -m build
35+
- name: Store the distribution packages
36+
uses: actions/upload-artifact@v7
37+
with:
38+
name: python-package-distributions
39+
path: dist/
40+
41+
publish-to-pypi:
42+
name: >-
43+
Publish Python 🐍 distribution 📦 to PyPI
44+
if: startsWith(github.ref, 'refs/tags/') # only publish to PyPI on tag pushes
45+
needs:
46+
- build
47+
runs-on: ubuntu-latest
48+
environment:
49+
name: pypi
50+
url: https://pypi.org/p/ESMValTool
51+
permissions:
52+
id-token: write # IMPORTANT: mandatory for trusted publishing
53+
54+
steps:
55+
- name: Download all the dists
56+
uses: actions/download-artifact@v8
57+
with:
58+
name: python-package-distributions
59+
path: dist/
4860
- name: Publish distribution 📦 to PyPI
49-
if: startsWith(github.ref, 'refs/tags')
5061
uses: pypa/gh-action-pypi-publish@v1.13.0

.github/workflows/run-tests-monitor.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ jobs:
5757
run: python tests/parse_pymon.py
5858
- name: Upload artifacts
5959
if: ${{ always() }} # upload artifacts even if fail
60-
uses: actions/upload-artifact@v6
60+
uses: actions/upload-artifact@v7
6161
with:
6262
name: Test_Linux_python_${{ matrix.python-version }}
6363
path: test_linux_artifacts_python_${{ matrix.python-version }}
@@ -109,7 +109,7 @@ jobs:
109109
run: python tests/parse_pymon.py
110110
- name: Upload artifacts
111111
if: ${{ always() }} # upload artifacts even if fail
112-
uses: actions/upload-artifact@v6
112+
uses: actions/upload-artifact@v7
113113
with:
114114
name: Test_OSX_python_${{ matrix.python-version }}
115115
path: test_osx_artifacts_python_${{ matrix.python-version }}

.github/workflows/test-development.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ jobs:
6060
run: pytest -n 2 -m "not installation" 2>&1 | tee develop_test_linux_artifacts_python_${{ matrix.python-version }}/test_report.txt
6161
- name: Upload artifacts
6262
if: ${{ always() }} # upload artifacts even if fail
63-
uses: actions/upload-artifact@v6
63+
uses: actions/upload-artifact@v7
6464
with:
6565
name: Develop_Test_Linux_python_${{ matrix.python-version }}
6666
path: develop_test_linux_artifacts_python_${{ matrix.python-version }}

.github/workflows/test.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ jobs:
5757
run: pytest -n 2 -m "not installation" 2>&1 | tee test_linux_artifacts_python_${{ matrix.python-version }}/test_report.txt
5858
- name: Upload artifacts
5959
if: ${{ always() }} # upload artifacts even if fail
60-
uses: actions/upload-artifact@v6
60+
uses: actions/upload-artifact@v7
6161
with:
6262
name: Test_Linux_python_${{ matrix.python-version }}
6363
path: test_linux_artifacts_python_${{ matrix.python-version }}
@@ -107,7 +107,7 @@ jobs:
107107
run: pytest -n 2 -m "not installation" 2>&1 | tee test_osx_artifacts_python_${{ matrix.python-version }}/test_report.txt
108108
- name: Upload artifacts
109109
if: ${{ always() }} # upload artifacts even if fail
110-
uses: actions/upload-artifact@v6
110+
uses: actions/upload-artifact@v7
111111
with:
112112
name: Test_OSX_python_${{ matrix.python-version }}
113113
path: test_osx_artifacts_python_${{ matrix.python-version }}

0 commit comments

Comments
 (0)