Skip to content

Commit 2a76a38

Browse files
authored
Merge branch 'main' into claude/add-separate-pipeline-for-output-check
2 parents bd60b03 + 68ab12a commit 2a76a38

File tree

4 files changed

+36
-82
lines changed

4 files changed

+36
-82
lines changed

.github/workflows/publish_conda.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,14 @@ jobs:
1818
steps:
1919
- name: Checkout Files
2020
uses: actions/checkout@v4
21+
with:
22+
submodules: 'recursive'
2123

2224
- name: Setup Conda
2325
uses: conda-incubator/setup-miniconda@v3
2426
with:
2527
auto-activate-base: true
26-
channels: conda-forge,noaa-gfdl
28+
channels: conda-forge,noaa-gfdl,ilaflott
2729

2830
- name: Configure Conda
2931
run: |
@@ -44,5 +46,5 @@ jobs:
4446
- name: Build fremorizer Conda Package
4547
run: |
4648
echo "conda building fremorizer package"
47-
export ANACONDA_API_TOKEN=${{ secrets.ANACONDA_TOKEN }}
49+
export ANACONDA_API_TOKEN=${{ secrets.TEMP_ANACONDA_API_TOKEN }}
4850
conda build .

.github/workflows/update_tag.yaml

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

README.md

Lines changed: 31 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,20 @@
1-
21
# `fremorizer`
2+
[![Anaconda-Server Badge](https://anaconda.org/ilaflott/fremorizer/badges/version.svg)](https://anaconda.org/ilaflott/fremorizer)
3+
[![Anaconda-Server Badge](https://anaconda.org/ilaflott/fremorizer/badges/latest_release_date.svg)](https://anaconda.org/ilaflott/fremorizer)
4+
[![Anaconda-Server Badge](https://anaconda.org/ilaflott/fremorizer/badges/latest_release_relative_date.svg)](https://anaconda.org/ilaflott/fremorizer)
35

4-
Simply put, `fremorizer` CMORizes FRE output with `CMOR`, it is a `conda` package.
5-
6-
Documentation can be found on [`readthedocs`](https://fremorizer.readthedocs.io/en/latest/).
7-
8-
9-
<!-- [![Anaconda-Server Badge](https://anaconda.org/noaa-gfdl/fremorizer/badges/version.svg)](https://anaconda.org/noaa-gfdl/fremorizer)
10-
[![Anaconda-Server Badge](https://anaconda.org/noaa-gfdl/fremorizer/badges/latest_release_date.svg)](https://anaconda.org/noaa-gfdl/fremorizer)
11-
[![Anaconda-Server Badge](https://anaconda.org/noaa-gfdl/fremorizer/badges/latest_release_relative_date.svg)](https://anaconda.org/noaa-gfdl/fremorizer)
12-
-->
13-
14-
| Python 3.11 | Python 3.12 | Python 3.13 | Python 3.14 |
15-
|-------------|-------------|-------------|-------------|
16-
| [![3.11](https://github.com/ilaflott/fremorizer/actions/workflows/create_test_conda_env.yml/badge.svg)](https://github.com/ilaflott/fremorizer/actions/workflows/create_test_conda_env.yml?query=branch%3Amain+python-version%3A3.11) | [![3.12](https://github.com/ilaflott/fremorizer/actions/workflows/create_test_conda_env.yml/badge.svg)](https://github.com/ilaflott/fremorizer/actions/workflows/create_test_conda_env.yml?query=branch%3Amain+python-version%3A3.12) | [![3.13](https://github.com/ilaflott/fremorizer/actions/workflows/create_test_conda_env.yml/badge.svg)](https://github.com/ilaflott/fremorizer/actions/workflows/create_test_conda_env.yml?query=branch%3Amain+python-version%3A3.13) | [![3.14](https://github.com/ilaflott/fremorizer/actions/workflows/create_test_conda_env.yml/badge.svg)](https://github.com/ilaflott/fremorizer/actions/workflows/create_test_conda_env.yml?query=branch%3Amain+python-version%3A3.14) |
6+
[![publish_conda](https://github.com/ilaflott/fremorizer/actions/workflows/publish_conda.yml/badge.svg?branch=main)](https://github.com/ilaflott/fremorizer/actions/workflows/publish_conda.yml)
7+
[![readthedocs](https://app.readthedocs.org/projects/fremorizer/badge/?version=latest&style=flat)](https://fremorizer.readthedocs.io/en/latest/)
178

189
[![pylint](https://github.com/ilaflott/fremorizer/actions/workflows/pylint.yml/badge.svg?branch=main)](https://github.com/ilaflott/fremorizer/actions/workflows/pylint.yml)
1910
[![pylint](https://img.shields.io/badge/pylint-%E2%89%A59.6-brightgreen)](https://github.com/NOAA-GFDL/epmt/actions/workflows/build_and_test_epmt.yml)
2011
[![codecov](https://codecov.io/gh/ilaflott/fremorizer/branch/main/graph/badge.svg)](https://codecov.io/gh/ilaflott/fremorizer)
21-
[![wcrp_compliance_check](https://github.com/ilaflott/fremorizer/actions/workflows/wcrp_compliance_check.yml/badge.svg?branch=main)](https://github.com/ilaflott/fremorizer/actions/workflows/wcrp_compliance_check.yml)
22-
23-
[![publish_conda](https://github.com/ilaflott/fremorizer/actions/workflows/publish_conda.yml/badge.svg?branch=main)](https://github.com/ilaflott/fremorizer/actions/workflows/publish_conda.yml)
24-
[![readthedocs](https://app.readthedocs.org/projects/fremorizer/badge/?version=latest&style=flat)](https://fremorizer.readthedocs.io/en/latest/)
25-
2612

2713
[![esgf_qa_check](https://github.com/ilaflott/fremorizer/actions/workflows/esgf_qa_check.yml/badge.svg?branch=main)](https://github.com/ilaflott/fremorizer/actions/workflows/esgf_qa_check.yml)
2814

15+
Simply put, `fremorizer` CMORizes FRE output with `CMOR`.
2916

30-
31-
17+
`fremorizer` is a `conda` package, it's documentation can be found on [`readthedocs`](https://fremorizer.readthedocs.io/en/latest/).
3218

3319

3420

@@ -68,7 +54,7 @@ pip install .
6854

6955
### Via `conda` (COMING SOON)
7056
If you just want an environment named `fremorizer` with the package:
71-
```
57+
```bash
7258
# does not work yet, TODO
7359
conda create -n fremorizer noaa-gfdl::fremorizer
7460
conda activate fremorizer
@@ -209,6 +195,8 @@ To view QA results from a workflow run:
209195
## Relationship to fre-cli
210196
### WCRP Compliance Checking
211197

198+
[![wcrp_compliance_check](https://github.com/ilaflott/fremorizer/actions/workflows/wcrp_compliance_check.yml/badge.svg?branch=main)](https://github.com/ilaflott/fremorizer/actions/workflows/wcrp_compliance_check.yml)
199+
212200
The `wcrp_compliance_check` workflow validates CMORized NetCDF outputs against WCRP project
213201
specifications using [cc-plugin-wcrp](https://github.com/ESGF/cc-plugin-wcrp), a plugin for
214202
the [IOOS compliance-checker](https://github.com/ioos/compliance-checker). This pipeline:
@@ -224,6 +212,11 @@ To view compliance results from a workflow/CI run:
224212
2. Select the `wcrp_compliance_check` workflow run
225213
3. Download the `wcrp-compliance-reports` artifact
226214

215+
### pipeline badges
216+
217+
| Python 3.11 | Python 3.12 | Python 3.13 | Python 3.14 |
218+
|-------------|-------------|-------------|-------------|
219+
| [![3.11](https://github.com/ilaflott/fremorizer/actions/workflows/create_test_conda_env.yml/badge.svg)](https://github.com/ilaflott/fremorizer/actions/workflows/create_test_conda_env.yml?query=branch%3Amain+python-version%3A3.11) | [![3.12](https://github.com/ilaflott/fremorizer/actions/workflows/create_test_conda_env.yml/badge.svg)](https://github.com/ilaflott/fremorizer/actions/workflows/create_test_conda_env.yml?query=branch%3Amain+python-version%3A3.12) | [![3.13](https://github.com/ilaflott/fremorizer/actions/workflows/create_test_conda_env.yml/badge.svg)](https://github.com/ilaflott/fremorizer/actions/workflows/create_test_conda_env.yml?query=branch%3Amain+python-version%3A3.13) | [![3.14](https://github.com/ilaflott/fremorizer/actions/workflows/create_test_conda_env.yml/badge.svg)](https://github.com/ilaflott/fremorizer/actions/workflows/create_test_conda_env.yml?query=branch%3Amain+python-version%3A3.14) |
227220

228221
## License
229222

@@ -232,3 +225,19 @@ Apache License 2.0 — see [LICENSE.md](LICENSE.md)
232225
## Conda-forge feedstock
233226

234227
See `CONDA_FORGE_FEEDSTOCK_PLAN.md` for the steps and follow-up tasks to submit and maintain the conda-forge feedstock for `fremorizer`.
228+
229+
## Releases and Versioning
230+
231+
`fremorizer` uses a post-release scheme to identify development beyond the latest tagged version and tie the current `main` branch to a
232+
`conda` package versioned as `develop`. To avoid confusion with `fre-workflows` and `fre-cli`, which often demand that the version tags
233+
match, `fremorizer`'s version format is `X.Y.Z[.post]`.
234+
235+
### new published release procedure
236+
237+
To publish new release carefully follow the below procedure:
238+
1. create a new branch off of `main`, which is already published to `conda` under `develop`/the previous tagged version + `.post`
239+
2. edit the version number in `fremorizer/_version.py` from the current one, to the desired version tag, remove `.post`, then open a PR. edit nothing else (usually).
240+
3. confirm the branch is functional by letting workflows finish, if you see green checks only, proceed. otherwise, stop and debug.
241+
4. draft a new release pointing to the PR branch, click release. the publishing workflow should trigger and finish, and you should see the `X.Y.Z` version in the conda channel.
242+
5. *releases in this repository are immutable*, **so even if the release workflow fails, breathe and move on to the next step.**
243+
6. edit the version number in `fremorizer/_version.py` to `X.Y.Z.post`, and merge the PR to main workflow steps passed. **`publish_conda`** will trigger again and upload what is in `main` under the `conda` version `develop` and `pip` version `X.Y.Z.post`

fremorizer/_version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@
33
"""
44

55
import os
6-
version = os.getenv("GIT_DESCRIBE_TAG", "2026.01.alpha1")
6+
version = os.getenv("GIT_DESCRIBE_TAG", "0.1.2.post")
77
__version__ = version

0 commit comments

Comments
 (0)