Skip to content

Commit

Permalink
Merge pull request #1030 from MPAS-Dev/develop
Browse files Browse the repository at this point in the history
Merge develop to main for 1.12.0 release
  • Loading branch information
xylar authored Oct 29, 2024
2 parents ab83cbc + ef79d29 commit 32a8a46
Show file tree
Hide file tree
Showing 49 changed files with 1,654 additions and 518 deletions.
15 changes: 15 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
version: 2

updates:

- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
assignees:
- "xylar"
- "altheaden"
reviewers:
- "xylar"
- "altheaden"

21 changes: 21 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<!--
Thank you for your pull request.
Please add a description of what is accomplished in the PR here at the top:
-->

<!--
Below are a few things we ask you or your reviewers to kindly check.
***Remove checks that are not relevant by deleting the line(s) below.***
-->
Checklist
* [ ] User's Guide has been updated
* [ ] If this PR adds a new analysis task, it has also been added to the user's guide
* [ ] Developer's Guide has been updated
* [ ] API documentation in the Developer's Guide (`api.rst`) has any new or modified class, method and/or functions listed
* [ ] Documentation has been [built locally](https://mpas-dev.github.io/MPAS-Analysis/latest/users_guide/quick_start.html#generating-documentation) and changes look as expected
* [ ] `Testing` comment in the PR documents testing used to verify the changes

<!--
Please note any issues this fixes using closing keywords: https://help.github.com/articles/closing-issues-using-keywords
-->

92 changes: 92 additions & 0 deletions .github/workflows/build_workflow.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
name: CI/CD Build Workflow

on:
push:
branches:
- main
- develop

pull_request:
branches:
- main
- develop

workflow_dispatch:

env:
CANCEL_OTHERS: false
PATHS_IGNORE: '["**/README.md", "**/docs/**"]'

jobs:
build:
name: test mpas_analysis - python ${{ matrix.python-version }}
runs-on: ubuntu-latest
timeout-minutes: 20
defaults:
run:
shell: bash -l {0}
strategy:
matrix:
python-version: ["3.10", "3.11", "3.12"]
steps:
- id: skip_check
uses: fkirc/skip-duplicate-actions@master
with:
cancel_others: ${{ env.CANCEL_OTHERS }}
paths_ignore: ${{ env.PATHS_IGNORE }}

- if: ${{ steps.skip_check.outputs.should_skip != 'true' }}
uses: actions/checkout@v4

- if: ${{ steps.skip_check.outputs.should_skip != 'true' }}
name: Cache Conda
uses: actions/cache@v4
env:
# Increase this value to reset cache if conda-dev-spec.template has not changed in the workflow
CACHE_NUMBER: 0
with:
path: ~/conda_pkgs_dir
key:
${{ runner.os }}-${{ matrix.python-version }}-conda-${{ env.CACHE_NUMBER }}-${{
hashFiles('dev-spec.txt,setup.py') }}

- if: ${{ steps.skip_check.outputs.should_skip != 'true' }}
name: Set up Conda Environment
uses: conda-incubator/setup-miniconda@v3
with:
activate-environment: "mpas_analysis_ci"
miniforge-version: latest
channels: conda-forge
channel-priority: strict
auto-update-conda: true
python-version: ${{ matrix.python-version }}

- if: ${{ steps.skip_check.outputs.should_skip != 'true' }}
name: Install mpas_analysis
run: |
conda create -n mpas_analysis_dev --file dev-spec.txt \
python=${{ matrix.python-version }}
conda activate mpas_analysis_dev
python -m pip install --no-deps --no-build-isolation -vv -e .
- if: ${{ steps.skip_check.outputs.should_skip != 'true' }}
name: Run Tests
env:
CHECK_IMAGES: False
run: |
set -e
conda activate mpas_analysis_dev
pip check
pytest --pyargs mpas_analysis
mpas_analysis --help
download_analysis_data --help
- if: ${{ steps.skip_check.outputs.should_skip != 'true' }}
name: Build Sphinx Docs
run: |
conda activate mpas_analysis_dev
# sphinx-multiversion expects at least a "main" branch
git branch main || echo "branch main already exists."
cd docs
sphinx-multiversion . _build/html
96 changes: 96 additions & 0 deletions .github/workflows/docs_workflow.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
name: CI/CD Release Workflow

on:
push:
branches:
- main
- develop

release:
types: [published]

jobs:
publish-docs:
runs-on: ubuntu-latest
defaults:
run:
shell: bash -l {0}
timeout-minutes: 20
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
fetch-depth: 0

- name: Cache Conda
uses: actions/cache@v4
env:
# Increase this value to reset cache if deploy/conda-dev-spec.template has not changed in the workflow
CACHE_NUMBER: 0
with:
path: ~/conda_pkgs_dir
key: ${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-${{
hashFiles('dev-spec.txt') }}

- if: ${{ steps.skip_check.outputs.should_skip != 'true' }}
name: Set up Conda Environment
uses: conda-incubator/setup-miniconda@v3
with:
activate-environment: "mpas_analysis_ci"
miniforge-version: latest
channels: conda-forge
channel-priority: strict
auto-update-conda: true
python-version: ${{ matrix.python-version }}

- if: ${{ steps.skip_check.outputs.should_skip != 'true' }}
name: Install mpas_analysis
run: |
git config --global url."https://github.com/".insteadOf "git@github.com:"
conda create -n mpas_analysis_dev --file dev-spec.txt \
python=${{ matrix.python-version }}
conda activate mpas_analysis_dev
python -m pip install -vv --no-deps --no-build-isolation -e .
- name: Build Sphinx Docs
run: |
set -e
conda activate mpas_analysis_dev
pip check
mpas_analysis sync diags --help
cd docs
sphinx-multiversion . _build/html
- name: Copy Docs and Commit
run: |
set -e
conda activate mpas_analysis_dev
pip check
mpas_analysis sync diags --help
cd docs
# gh-pages branch must already exist
git clone https://github.com/MPAS-Dev/MPAS-Analysis.git --branch gh-pages --single-branch gh-pages
# Make sure we're in the gh-pages directory.
cd gh-pages
# Create `.nojekyll` (if it doesn't already exist) for proper GH Pages configuration.
touch .nojekyll
# Add `index.html` to point to the `develop` branch automatically.
printf '<meta http-equiv="refresh" content="0; url=./develop/index.html" />' > index.html
# Only replace docs in a directory with the destination branch name with latest changes. Docs for
# releases should be untouched.
rm -rf ${{ github.head_ref || github.ref_name }}
# don't clobber existing release versions (in case we retroactively fixed them)
cp -r -n ../_build/html/* .
# Configure git using GitHub Actions credentials.
git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com"
git config --local user.name "github-actions[bot]"
# The second command will fail if no changes were present, so we ignore it
git add .
git commit -m "Update documentation" -a || true
- name: Push Changes
uses: ad-m/github-push-action@master
with:
branch: gh-pages
directory: docs/gh-pages
github_token: ${{ secrets.GITHUB_TOKEN }}
force: true

48 changes: 0 additions & 48 deletions .travis.yml

This file was deleted.

13 changes: 6 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
# MPAS-Analysis
[![Build Status](https://dev.azure.com/MPAS-Dev/MPAS-Analysis%20testing/_apis/build/status/MPAS-Dev.MPAS-Analysis?branchName=develop)](https://dev.azure.com/MPAS-Dev/MPAS-Analysis%20testing/_build/latest?definitionId=2&branchName=develop)

Analysis for simulations produced with Model for Prediction Across Scales
(MPAS) components and the Energy Exascale Earth System Model (E3SM), which
Expand Down Expand Up @@ -28,7 +27,7 @@ used those components.

## Documentation

[https://mpas-dev.github.io/MPAS-Analysis/latest/](https://mpas-dev.github.io/MPAS-Analysis/latest/)
[https://mpas-dev.github.io/MPAS-Analysis/develop/](https://mpas-dev.github.io/MPAS-Analysis/develop/)

## Installation for users

Expand Down Expand Up @@ -57,7 +56,7 @@ conda config --add channels conda-forge
conda config --set channel_priority strict
conda create -y -n mpas_dev --file dev-spec.txt
conda activate mpas_dev
python -m pip install -e .
python -m pip install --no-deps --no-build-isolation -e .
```

If you are developing another conda package at the same time (this is common
Expand All @@ -69,9 +68,9 @@ conda create -y -n mpas_dev --file tools/MPAS-Tools/conda_package/dev-spec.txt \
--file analysis/MPAS-Analysis/dev-spec.txt
conda activate mpas_dev
cd tools/MPAS-Tools/conda_package
python -m pip install -e .
python -m pip install --no-deps --no-build-isolation -e .
cd ../../../analysis/MPAS-Analysis
python -m pip install -e .
python -m pip install --no-deps --no-build-isolation -e .
```
Obviously, the paths to the repos may be different in your local clones. With
the `mpas_dev` environment as defined above, you can make changes to both
Expand Down Expand Up @@ -290,7 +289,7 @@ to be generated and is set up properly.

## Generating Documentation

Create a development environment as described above in "Installation for
Create a development environment as described above in "Installation for
developers". Then run:
To generate the `sphinx` documentation, run:
```
Expand All @@ -301,4 +300,4 @@ make html
The results can be viewed in your web browser by opening:
```
_build/html/index.html
```
```
Loading

0 comments on commit 32a8a46

Please sign in to comment.