Add future solar forcing #675
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Continuous integration (CI) | |
| on: | |
| pull_request: | |
| jobs: | |
| check-database-up-to-date: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Check out repository | |
| uses: actions/checkout@v4 | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.11" | |
| - name: Check database up to date | |
| run: | | |
| which pip | |
| pip install -r dev-requirements.txt | |
| python python-packages/input4MIPs-CVs/src/input4MIPs_CVs/cli/update-database.py --repo-root-dir . --check-unchanged || (echo 'Database entries not up to date with inputs. Please run `python python-packages/input4MIPs-CVs/src/input4MIPs_CVs/cli/update-database.py --repo-root-dir .` or the equivalent for your machine.' && exit 1) | |
| check-web-pages-up-to-date: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Check out repository | |
| uses: actions/checkout@v4 | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.11" | |
| - name: Check HTML pages are up to date | |
| run: | | |
| which pip | |
| pip install -r dev-requirements.txt | |
| python python-packages/input4MIPs-CVs/src/input4MIPs_CVs/cli/update-html-pages.py --version `cat VERSION` --repo-root-dir . --check-unchanged || (echo 'Web pages not up to date with inputs. Please run `python python-packages/input4MIPs-CVs/src/input4MIPs_CVs/cli/update-html-pages.py` or the equivalent for your machine.' && exit 1) | |
| check-docs-up-to-date: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Check out repository | |
| uses: actions/checkout@v4 | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.11" | |
| - name: Check docs are up to date | |
| run: | | |
| which pip | |
| pip install -r requirements-docs.txt | |
| mkdocs build --strict | |
| git diff | |
| (! git status --porcelain --untracked-files=no | grep '^.M') || (echo 'Docs are not up to date. Please run `make docs` locally then commit and upload the results.' && exit 1) | |
| check-source-id-landing-pages-up-to-date: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Check out repository | |
| uses: actions/checkout@v4 | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.11" | |
| - name: Check docs are up to date | |
| run: | | |
| which pip | |
| pip install -r requirements-docs.txt | |
| python docs/source-id-landing-pages/auto-generate-source-id-pages.py | |
| (! git status --porcelain --untracked-files=no | grep '^.M') || (echo 'Source ID landing pages are not up to date. Please run `make update-source-id-pages` locally then commit and upload the results.' && exit 1) | |
| cvs-load-with-input4mips-validation: | |
| runs-on: ubuntu-latest | |
| # Ok if this fails, we just want to use it as a warning for us to update input4MIPs-validation | |
| # rather than a blocker. | |
| continue-on-error: true | |
| steps: | |
| - name: Check out repository | |
| uses: actions/checkout@v4 | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.11" | |
| - name: Check CVs load | |
| run: | | |
| which pip | |
| pip install 'input4mips-validation[locked]' | |
| python scripts/load-cvs-with-input4mips-validation.py | |
| urls: | |
| if: ${{ !github.event.pull_request.draft }} | |
| runs-on: "ubuntu-latest" | |
| steps: | |
| - name: Check out repository | |
| uses: actions/checkout@v4 | |
| - name: check-urls-are-valid | |
| uses: lycheeverse/lychee-action@v2 | |
| with: | |
| # Exclude local links | |
| # Not sure why LUH site fails, it works locally. | |
| # Also not sure why we can't hit https://www.geo.vu.nl/~gwerf/GFED/GFED4/tables/ in CI | |
| # globalfiredata.org is super flaky, hence exlucded | |
| # climate modelling site has been deprecated, will updated later | |
| # IIASA has some bot check in front of it so gives a 403 | |
| args: "--exclude 'file://' --exclude '^https://luh\\.umd\\.edu/$' --exclude '^https://www\\.geo\\.vu\\.nl/~gwerf/GFED/GFED4/tables/$' --exclude '^https://www.globalfiredata.org' --exclude '^https://climatemodeling.science.energy.gov/program/regional-global-model-analysis$' --exclude '^https://iiasa.ac.at/models-tools-data/global-emission-fields-of-air-pollutants-and-ghgs$' ." |