Skip to content

Commit

Permalink
Merge branch 'SciTools:main' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
stephenworsley authored Oct 22, 2024
2 parents 227b01b + b15e3e2 commit 476aa91
Show file tree
Hide file tree
Showing 1,897 changed files with 208,797 additions and 98,051 deletions.
49 changes: 49 additions & 0 deletions .flake8
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
[flake8]
# References:
# https://flake8.readthedocs.io/en/latest/user/configuration.html
# https://flake8.readthedocs.io/en/latest/user/error-codes.html
# https://pycodestyle.readthedocs.io/en/latest/intro.html#error-codes

max-line-length = 80
max-complexity = 50
select = C,E,F,W,B,B950
ignore =
# E203: whitespace before ':'
E203,
# E226: missing whitespace around arithmetic operator
E226,
# E231: missing whitespace after ',', ';', or ':'
E231,
# E402: module level imports on one line
E402,
# E501: line too long
E501,
# E731: do not assign a lambda expression, use a def
E731,
# W503: line break before binary operator
W503,
# W504: line break after binary operator
W504,
exclude =
#
# ignore the following directories
#
.eggs,
build,
docs/src/sphinxext/*,
tools/*,
benchmarks/*,
#
# ignore auto-generated files
#
_ff_cross_refrences.py,
std_names.py,
um_cf_map.py,
#
# ignore third-party files
#
gitwash_dumper.py,
#
# convenience imports
#
lib/iris/common/__init__.py
20 changes: 20 additions & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Format: numpy array format (#5235)
c18dcd8dafef0cc7bbbf80dfce66f76a46ce59c5

# style: flake8 (#3755)
7c86bc0168684345dc475457b1a77dadc77ce9bb

# style: black (#3518)
ffcfad475e0593e1e40895453cf1df154e5f6f2c

# style: isort (#4174)
15bbcc5ac3d539cb6e820148b66e7cf55d91c5d2

# style: blacken-docs (#4205)
1572e180243e492d8ff76fa8cdefb82ef6f90415

# style: sort-all (#4353)
64705dbc40881233aae45f051d96049150369e53

# style: codespell (#5186)
417aa6bbd9b10d25cad7def54d47ef4d718bc38d
4 changes: 4 additions & 0 deletions .git_archival.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
node: $Format:%H$
node-date: $Format:%cI$
describe-name: $Format:%(describe:tags=true)$
ref-names: $Format:%D$
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
.git_archival.txt export-subst
39 changes: 8 additions & 31 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,36 +1,13 @@
How to contribute
=================
# Contributing to Iris

We want Iris to be driven by the community - your contributions are
invaluable to us! This page lists the guidelines for contributors which
will help ease the process of getting your hard work accepted into Iris,
and shared back to the world.
Want to contribute to Iris? But don't know where to start 🤔

Getting started
---------------
We recommend that you first checkout our advice to [First Time Contributors](https://github.com/SciTools/iris/issues/4133),
which has some solid suggestions on where to begin.

1. If you've not already got one, sign up for a
[GitHub account](https://github.com/signup/free).
1. Fork the Iris repository, create your new fix/feature branch, and
start commiting code.
- Our
[development guide](http://scitools.org.uk/iris/docs/latest/developers_guide/gitwash/git_development.html)
has more detail.
1. Make sure you've added appropriate tests, and that *all* the tests
pass.
Otherwise, head over to our [Developers Guide on Getting Involved](https://scitools-iris.readthedocs.io/en/stable/developers_guide/contributing_getting_involved.html)
for all the information you need to start on your Iris development journey.

Still need help or advice?

Submitting changes
------------------

1. Read and sign the Contributor Licence Agreement (CLA).
- See our [governance page](http://scitools.org.uk/governance.html)
for the CLA and what to do with it.
1. Push your branch to your fork of Iris.
1. Submit your pull request.
1. Chillax.


If in doubt, please
[contact us](https://groups.google.com/forum/?fromgroups=#!forum/scitools-iris)
on our Google Group, and we'll be happy to help you.
Then join us over on our [Iris GitHub Discussions](https://github.com/SciTools/iris/discussions). We'd love to hear from you!
39 changes: 39 additions & 0 deletions .github/ISSUE_TEMPLATE/bug-report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
---
name: "\U0001F41B Bug Report"
about: Submit a bug report to help us improve Iris
title: ''
labels: 'Type: Bug'
assignees: ''

---

## 🐛 Bug Report
<!-- Provide a clear description of what the bug is -->

## How To Reproduce
Steps to reproduce the behaviour:

1.
2.
3.

## Expected behaviour
<!-- A clear and concise description of what you expected to happen -->

## Screenshots
<!-- If applicable, add screenshots to help explain your problem -->

## Environment
- OS & Version: [e.g., Ubuntu 20.04 LTS]
- Iris Version: [e.g., From the command line run `python -c "import iris; print(iris.__version__)"`]

## Additional context
<!-- Provide any further information to help us understand -->
<details>
<summary>Click to expand <b>this section...</b></summary>

```
Please add additional verbose information in this section e.g., code, output, tracebacks, screenshots etc
```
</details>

9 changes: 9 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# reference: https://docs.github.com/en/github/building-a-strong-community/configuring-issue-templates-for-your-repository#configuring-the-template-chooser
blank_issues_enabled: false
contact_links:
- name: 💬 Iris GitHub Discussions
url: https://github.com/SciTools/iris/discussions
about: Engage with the Iris community to discuss your issue
- name: ❓ Usage Question
url: https://github.com/SciTools/iris/discussions/categories/q-a
about: Raise a question about how to use Iris in the Q&A section of Discussions
12 changes: 12 additions & 0 deletions .github/ISSUE_TEMPLATE/documentation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
name: "\U0001F4DA Documentation"
about: Report an issue with the Iris documentation
title: ''
labels: 'Type: Documentation'
assignees: ''

---

## 📚 Documentation
<!-- See https://scitools-iris.readthedocs.io/en/latest/ -->
<!-- Describe the issue or provide a suggestion for improving the Iris documentation -->
25 changes: 25 additions & 0 deletions .github/ISSUE_TEMPLATE/feature-request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
---
name: "✨ Feature Request"
about: Submit a request for a new feature in Iris
title: ''
assignees: ''

---

## ✨ Feature Request
<!-- Provide a clear and concise description of the feature proposal -->

## Motivation
<!-- Is your feature request related to an existing issue? -->
<!-- I'm always frustrated when ... -->

## Additional context
<!-- Provide any further information to help us understand -->
<details>
<summary>Click to expand <b>this section...</b></summary>

```
Please add additional verbose information in this section e.g., references, screenshots, listings etc
```
</details>

10 changes: 10 additions & 0 deletions .github/ISSUE_TEMPLATE/issue.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
name: "\U0001F4F0 Custom Issue"
about: Submit a generic issue to help us improve Iris
title: ''
assignees: ''

---

## 📰 Custom Issue
<!-- Provide a clear description of what the issue is, and we'll try our best to help 😀 -->
20 changes: 20 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Reference:
# - https://docs.github.com/en/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/keeping-your-actions-up-to-date-with-dependabot
# - https://docs.github.com/en/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/configuration-options-for-dependency-updates

version: 2
updates:

- package-ecosystem: "github-actions"
directories:
- "/"
- "/.github/workflows/composite/*"
schedule:
# Check later in the week - the upstream dependabot check in `workflows` runs deliberately early in the week.
# Therefore allowing time for the `workflows` update to be merged-and-released first.
interval: "weekly"
day: "thursday"
time: "01:00"
timezone: "Europe/London"
labels:
- "Bot"
1 change: 0 additions & 1 deletion .github/deploy_key.scitools-docs.enc

This file was deleted.

9 changes: 9 additions & 0 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# benchmark_this automatically triggers the benchmark workflow when added by
# a user. No triggering happens when GitHub Actions adds the label (this
# avoids security vulnerabilities), so alternative triggers for the below
# files are therefore included in workflows/benchmarks_run.yml. Automatic
# labelling is still included here to make it easier to search pull requests,
# and to reinforce the culture of using this label.
benchmark_this:
- changed-files:
- any-glob-to-any-file: ['requirements/locks/*.lock', "setup.py"]
14 changes: 14 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
## 🚀 Pull Request

### Description
<!-- Provide a clear description about your awesome pull request -->
<!-- Tell us all about your new feature, improvement, or bug fix -->


---
[Consult Iris pull request check list]( https://scitools-iris.readthedocs.io/en/latest/developers_guide/contributing_pull_request_checklist.html)

---
Add any of the below labels to trigger actions on this PR:

- https://github.com/SciTools/iris/labels/benchmark_this
83 changes: 83 additions & 0 deletions .github/workflows/benchmarks_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
# Post any reports generated by benchmarks_run.yml .
# Separated for security:
# https://securitylab.github.com/research/github-actions-preventing-pwn-requests/

name: benchmarks-report
run-name: Report benchmark results

on:
workflow_run:
workflows: [benchmarks-run]
types:
- completed

jobs:
download:
runs-on: ubuntu-latest
outputs:
reports_exist: ${{ steps.unzip.outputs.reports_exist }}
steps:
- name: Download artifact
id: download-artifact
# https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#using-data-from-the-triggering-workflow
uses: actions/github-script@v7
with:
script: |
let allArtifacts = await github.rest.actions.listWorkflowRunArtifacts({
owner: context.repo.owner,
repo: context.repo.repo,
run_id: context.payload.workflow_run.id,
});
let matchArtifact = allArtifacts.data.artifacts.filter((artifact) => {
return artifact.name == "benchmark_reports"
})[0];
if (typeof matchArtifact != 'undefined') {
let download = await github.rest.actions.downloadArtifact({
owner: context.repo.owner,
repo: context.repo.repo,
artifact_id: matchArtifact.id,
archive_format: 'zip',
});
let fs = require('fs');
fs.writeFileSync(`${process.env.GITHUB_WORKSPACE}/benchmark_reports.zip`, Buffer.from(download.data));
};
- name: Unzip artifact
id: unzip
run: |
if test -f "benchmark_reports.zip"; then
reports_exist=1
unzip benchmark_reports.zip -d benchmark_reports
else
reports_exist=0
fi
echo "reports_exist=$reports_exist" >> "$GITHUB_OUTPUT"
- name: Store artifact
uses: actions/upload-artifact@v4
with:
name: benchmark_reports
path: benchmark_reports

post_reports:
runs-on: ubuntu-latest
needs: download
if: needs.download.outputs.reports_exist == 1
steps:
- name: Checkout repo
uses: actions/checkout@v4

- name: Download artifact
uses: actions/download-artifact@v4
with:
name: benchmark_reports
path: .github/workflows/benchmark_reports

- name: Set up Python
# benchmarks/bm_runner.py only needs builtins to run.
uses: actions/setup-python@v5

- name: Post reports
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: python benchmarks/bm_runner.py _gh_post
Loading

0 comments on commit 476aa91

Please sign in to comment.