Skip to content

Commit 97ca773

Browse files
authored
Merge pull request #3538 from pybamm-team/v23.9
Make release v23.9
2 parents d3c6bc6 + e00b0d5 commit 97ca773

File tree

523 files changed

+27344
-16881
lines changed

Some content is hidden

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

523 files changed

+27344
-16881
lines changed

.all-contributorsrc

Lines changed: 72 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -331,7 +331,8 @@
331331
"example",
332332
"doc",
333333
"test",
334-
"tutorial"
334+
"tutorial",
335+
"review"
335336
]
336337
},
337338
{
@@ -530,7 +531,8 @@
530531
"contributions": [
531532
"infra",
532533
"code",
533-
"doc"
534+
"doc",
535+
"review"
534536
]
535537
},
536538
{
@@ -610,7 +612,10 @@
610612
"avatar_url": "https://avatars.githubusercontent.com/u/104268427?v=4",
611613
"profile": "https://github.com/arjxn-py",
612614
"contributions": [
613-
"infra"
615+
"infra",
616+
"code",
617+
"doc",
618+
"review"
614619
]
615620
},
616621
{
@@ -629,7 +634,8 @@
629634
"profile": "https://www.aboutenergy.io/",
630635
"contributions": [
631636
"code",
632-
"bug"
637+
"bug",
638+
"ideas"
633639
]
634640
},
635641
{
@@ -640,6 +646,68 @@
640646
"contributions": [
641647
"code"
642648
]
649+
},
650+
{
651+
"login": "js1tr3",
652+
"name": "Jason Siegel",
653+
"avatar_url": "https://avatars.githubusercontent.com/u/633873?v=4",
654+
"profile": "https://batterycontrolgroup.engin.umich.edu/",
655+
"contributions": [
656+
"code",
657+
"ideas"
658+
]
659+
},
660+
{
661+
"login": "tommaull",
662+
"name": "Tom Maull",
663+
"avatar_url": "https://avatars.githubusercontent.com/u/101814207?v=4",
664+
"profile": "https://github.com/tommaull",
665+
"contributions": [
666+
"code",
667+
"test"
668+
]
669+
},
670+
{
671+
"login": "ejfdickinson",
672+
"name": "ejfdickinson",
673+
"avatar_url": "https://avatars.githubusercontent.com/u/116663050?v=4",
674+
"profile": "https://github.com/ejfdickinson",
675+
"contributions": [
676+
"ideas",
677+
"bug"
678+
]
679+
},
680+
{
681+
"login": "bobonice",
682+
"name": "bobonice",
683+
"avatar_url": "https://avatars.githubusercontent.com/u/22030806?v=4",
684+
"profile": "https://github.com/bobonice",
685+
"contributions": [
686+
"bug",
687+
"code"
688+
]
689+
},
690+
{
691+
"login": "kratman",
692+
"name": "Eric G. Kratz",
693+
"avatar_url": "https://avatars.githubusercontent.com/u/10170302?v=4",
694+
"profile": "https://github.com/kratman",
695+
"contributions": [
696+
"doc",
697+
"infra",
698+
"bug",
699+
"code",
700+
"test"
701+
]
702+
},
703+
{
704+
"login": "aitorres",
705+
"name": "Andrés Ignacio Torres",
706+
"avatar_url": "https://avatars.githubusercontent.com/u/26191851?v=4",
707+
"profile": "https://aitorres.com",
708+
"contributions": [
709+
"infra"
710+
]
643711
}
644712
],
645713
"contributorsPerLine": 7,

.coveragerc

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[run]
2+
source = pybamm
3+
concurrency = multiprocessing

.git-blame-ignore-revs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,6 @@
11
# activated pre-commit - https://github.com/pybamm-team/PyBaMM/pull/2272
22
0054efe388d2d17301f7e0554449eac9a7d3b7fc
3+
# activated pre-commit for notebooks - https://github.com/pybamm-team/PyBaMM/pull/3110
4+
a63e49ece0f9336d1f5c2562f7459e555c6e6693
5+
# activated standard pre-commits - https://github.com/pybamm-team/PyBaMM/pull/3192
6+
5273214b585c5a4286609aed40e0b092d0e05f42

.github/ISSUE_TEMPLATE/new_parameter_set.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ body:
66
value: |
77
Third-party parameter sets can be added to PyBaMM by registering an entry
88
point with `pybamm-parameter-sets` as described in our
9-
[documentation](https://pybamm.readthedocs.io/en/latest/source/api/parameters/parameter_sets.html).
9+
[documentation](https://docs.pybamm.org/en/latest/source/api/parameters/parameter_sets.html).
1010
- type: input
1111
id: parameter-set-url
1212
attributes:

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@ Please add a line in the relevant section of [CHANGELOG.md](https://github.com/p
1414

1515
# Key checklist:
1616

17-
- [ ] No style issues: `$ pre-commit run` (see [CONTRIBUTING.md](https://github.com/pybamm-team/PyBaMM/blob/develop/CONTRIBUTING.md#installing-and-using-pre-commit) for how to set this up to run automatically when committing locally, in just two lines of code)
18-
- [ ] All tests pass: `$ python run-tests.py --all`
19-
- [ ] The documentation builds: `$ python run-tests.py --doctest`
17+
- [ ] No style issues: `$ pre-commit run` (or `$ nox -s pre-commit`) (see [CONTRIBUTING.md](https://github.com/pybamm-team/PyBaMM/blob/develop/CONTRIBUTING.md#installing-and-using-pre-commit) for how to set this up to run automatically when committing locally, in just two lines of code)
18+
- [ ] All tests pass: `$ python run-tests.py --all` (or `$ nox -s tests`)
19+
- [ ] The documentation builds: `$ python run-tests.py --doctest` (or `$ nox -s doctests`)
2020

21-
You can run unit and doctests together at once, using `$ python run-tests.py --quick`.
21+
You can run integration tests, unit tests, and doctests together at once, using `$ python run-tests.py --quick` (or `$ nox -s quick`).
2222

2323
## Further checks:
2424

.github/dependabot.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
version: 2
2+
updates:
3+
# Maintain dependencies for GitHub Actions
4+
- package-ecosystem: "github-actions"
5+
directory: "/"
6+
schedule:
7+
interval: "weekly"

.github/release_checklist.md

Lines changed: 0 additions & 12 deletions
This file was deleted.

.github/release_reminder.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
title: Create {{ date | date('YY.MM') }} (final or rc0) release
3+
labels: priority:high
4+
---
5+
Quarterly reminder to create a -
6+
7+
1. pre-release if the month has just started.
8+
2. non-pre-release if the month is about to end (**before the end of the month**).
9+
10+
See [Release Workflow](https://github.com/pybamm-team/PyBaMM/blob/develop/.github/release_workflow.md) for more information.

.github/release_workflow.md

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
# Release workflow
2+
3+
This file contains the workflow required to make a `PyBaMM` release on GitHub and PyPI by the maintainers.
4+
5+
## rc0 releases (automated)
6+
7+
1. The `update_version.yml` workflow will run on every 1st of January, May and September, updating incrementing the version to `vYY.MMrc0` by running `scripts/update_version.py` in the following files -
8+
9+
- `pybamm/version.py`
10+
- `docs/conf.py`
11+
- `CITATION.cff`
12+
- `vcpkg.json`
13+
- `docs/_static/versions.json`
14+
- `CHANGELOG.md`
15+
16+
These changes will be automatically pushed to a new branch `vYY.MM` and a PR from `vvYY.MM` to `develop` will be created (to sync the branches).
17+
18+
2. Create a new GitHub _pre-release_ with the tag `vYY.MMrc0` from the `vYY.MM` branch and a description copied from `CHANGELOG.md`.
19+
20+
3. This release will automatically trigger `publish_pypi.yml` and create a _pre-release_ on PyPI.
21+
22+
## rcX releases (manual)
23+
24+
If a new release candidate is required after the release of `rc0` -
25+
26+
1. Fix a bug in `vYY.MM` (no new features should be added to `vYY.MM` once `rc0` is released) and `develop` individually.
27+
28+
2. Run `update_version.yml` manually while using `append_to_tag` to specify the release candidate version number (`rc1`, `rc2`, ...).
29+
30+
3. This will increment the version to `vYY.MMrcX` by running `scripts/update_version.py` in the following files -
31+
32+
- `pybamm/version.py`
33+
- `docs/conf.py`
34+
- `CITATION.cff`
35+
- `vcpkg.json`
36+
- `docs/_static/versions.json`
37+
- `CHANGELOG.md`
38+
39+
These changes will be automatically pushed to the existing `vYY.MM` branch and a PR from `vvYY.MM` to `develop` will be created (to sync the branches).
40+
41+
4. Create a new GitHub _pre-release_ with the same tag (`vYY.MMrcX`) from the `vYY.MM` branch and a description copied from `CHANGELOG.md`.
42+
43+
5. This release will automatically trigger `publish_pypi.yml` and create a _pre-release_ on PyPI.
44+
45+
## Actual release (manual)
46+
47+
Once satisfied with the release candidates -
48+
49+
1. Run `update_version.yml` manually, leaving the `append_to_tag` field blank ("") for an actual release.
50+
51+
2. This will increment the version to `vYY.MMrcX` by running `scripts/update_version.py` in the following files -
52+
53+
- `pybamm/version.py`
54+
- `docs/conf.py`
55+
- `CITATION.cff`
56+
- `vcpkg.json`
57+
- `docs/_static/versions.json`
58+
- `CHANGELOG.md`
59+
60+
These changes will be automatically pushed to the existing `vYY.MM` branch and a PR from `vvYY.MM` to `develop` will be created (to sync the branches).
61+
62+
3. Next, a PR from `vYY.MM` to `main` will be generated that should be merged once all the tests pass.
63+
64+
4. Create a new GitHub _release_ with the same tag from the `main` branch and a description copied from `CHANGELOG.md`.
65+
66+
5. This release will automatically trigger `publish_pypi.yml` and create a _release_ on PyPI.
67+
68+
## Other checks
69+
70+
Some other essential things to check throughout the release process -
71+
72+
- If updating our custom vcpkg registory entries [pybamm-team/sundials-vcpkg-registry](https://github.com/pybamm-team/sundials-vcpkg-registry) or [pybamm-team/casadi-vcpkg-registry](https://github.com/pybamm-team/casadi-vcpkg-registry) (used to build Windows wheels), make sure to update the baseline of the registories in vcpkg-configuration.json to the latest commit id.
73+
- Update jax and jaxlib to the latest version in `pybamm.util` and `setup.py`, fixing any bugs that arise
74+
- Make sure the URLs in `docs/_static/versions.json` are valid
75+
- As the release workflow is initiated by the `release` event, it's important to note that the default `GITHUB_REF` used by `actions/checkout` during the checkout process will correspond to the tag created during the release process. Consequently, the workflows will consistently build PyBaMM based on the commit associated with this tag. Should new commits be introduced to the `vYY.MM` branch, such as those addressing build issues, it becomes necessary to manually update this tag to point to the most recent commit -
76+
```
77+
git tag -f <tag_name> <commit_hash>
78+
git push origin <tag_name> # can only be carried out by the maintainers
79+
```

.github/wheel_failure.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
title: Fortnightly build for wheels failed
3+
labels: priority:high, bug
4+
---
5+
6+
The build is failing with the following logs - {{ env.LOGS }}

0 commit comments

Comments
 (0)