Skip to content

Commit

Permalink
Merge branch 'MPAS-Dev:master' into refinement_factor_update
Browse files Browse the repository at this point in the history
  • Loading branch information
skamaroc authored Dec 9, 2024
2 parents 33456e0 + 791c4e7 commit 3e9d2e7
Show file tree
Hide file tree
Showing 113 changed files with 20,060 additions and 1,024 deletions.
14 changes: 14 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
version: 2

updates:

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

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

on:
push:
branches:
- master

pull_request:
branches:
- master

workflow_dispatch:

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

jobs:
build:
name: test mpas_tools - python ${{ matrix.python-version }}
runs-on: ubuntu-latest
timeout-minutes: 20
defaults:
run:
shell: bash -l {0}
strategy:
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
fail-fast: false
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 dev-spec and setup.py have not changed in the workflow
CACHE_NUMBER: 0
with:
path: ~/conda_pkgs_dir
key:
${{ runner.os }}-${{ matrix.python-version }}-conda-${{ env.CACHE_NUMBER }}-${{
hashFiles('conda_package/dev-spec.txt,conda_package/setup.py') }}

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

- if: ${{ steps.skip_check.outputs.should_skip != 'true' }}
name: Finalize Build Environment
run: |
conda install conda conda-build
conda build -m "conda_package/ci/linux_64_python${{ matrix.python-version }}.____cpython.yaml" "conda_package/recipe"
- if: ${{ steps.skip_check.outputs.should_skip != 'true' }}
name: Install mpas_tools
run: |
conda create -y -n mpas_tools_dev -c ${CONDA_PREFIX}/conda-bld/ \
-c conda-forge mpas_tools python=${{ matrix.python-version }} \
sphinx sphinx-multiversion mock sphinx_rtd_theme
- if: ${{ steps.skip_check.outputs.should_skip != 'true' }}
name: Build Sphinx Docs
run: |
conda activate mpas_tools_dev
# sphinx-multiversion expects at least a "master" branch
git branch master || echo "branch master already exists."
cd conda_package/docs
sphinx-multiversion . _build/html
90 changes: 90 additions & 0 deletions .github/workflows/docs_workflow.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
name: CI/CD Release Workflow

on:
push:
branches:
- master

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 dev-spec and setup.py have not changed in the workflow
CACHE_NUMBER: 0
with:
path: ~/conda_pkgs_dir
key: ${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-${{
hashFiles('conda_package/dev-spec.txt,conda_package/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_tools_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_tools
run: |
git config --global url."https://github.com/".insteadOf "[email protected]:"
conda create -n mpas_tools_dev --file conda_package/dev-spec.txt
conda activate mpas_tools_dev
python -m pip install -vv --no-deps --no-build-isolation -e conda_package
- name: Build Sphinx Docs
run: |
set -e
cd conda_package/docs
conda activate mpas_tools_dev
sphinx-multiversion . _build/html
- name: Copy Docs and Commit
run: |
set -e
cd conda_package/docs
conda activate mpas_tools_dev
# gh-pages branch must already exist
git clone https://github.com/MPAS-Dev/MPAS-Tools.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 `master` branch automatically.
printf '<meta http-equiv="refresh" content="0; url=./master/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: conda_package/docs/gh-pages
github_token: ${{ secrets.GITHUB_TOKEN }}
force: true

4 changes: 1 addition & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
# MPAS Tools

[![Build Status](https://dev.azure.com/MPAS-Dev/MPAS-Tools%20testing/_apis/build/status/MPAS-Dev.MPAS-Tools?branchName=master)](https://dev.azure.com/MPAS-Dev/MPAS-Tools%20testing/_build/latest?definitionId=4&branchName=master)

This repository houses all MPAS related tools. These include compiled tools,
and scripts with a variety of purposes. Tools should be sorted into larger
directories based on their purpose. Under each of these directories, a tool
Expand All @@ -11,7 +9,7 @@ should live in it's own directory.

The latest documentation for the conda package `mpas-tools` can be found here:

[http://mpas-dev.github.io/MPAS-Tools/stable/](http://mpas-dev.github.io/MPAS-Tools/stable/)
[http://mpas-dev.github.io/MPAS-Tools/master/](http://mpas-dev.github.io/MPAS-Tools/master/)

Many tools are not in the conda package, and documentation (sometimes fairly
limited) is available at the beginning of each script.
176 changes: 0 additions & 176 deletions azure-pipelines.yml

This file was deleted.

Loading

0 comments on commit 3e9d2e7

Please sign in to comment.