diff --git a/.github/workflows/update-submodules.yml b/.github/workflows/update-submodules.yml new file mode 100644 index 0000000..2c6a80d --- /dev/null +++ b/.github/workflows/update-submodules.yml @@ -0,0 +1,41 @@ +name: Update submodules + +on: + schedule: + - cron: '0 4 * * *' # daily at 04:00 UTC + workflow_dispatch: {} # adds a "Run workflow" button for manual runs + +permissions: + contents: write # needed to push the pointer commit + +concurrency: # avoid overlapping runs racing on a commit + group: update-submodules + cancel-in-progress: false + +jobs: + update: + runs-on: ubuntu-latest + steps: + - name: Checkout raven-docs + uses: actions/checkout@v4 + with: + submodules: true + fetch-depth: 1 + + - name: Bump submodules to their tracked branches + run: | + # Pulls each submodule to the tip of the branch in .gitmodules + # (RAVEN -> develop3, raven-python -> develop, hanpo-GEM -> main) + git submodule update --remote --recursive + + - name: Commit & push if anything changed + run: | + git config user.name "github-actions[bot]" + git config user.email "41898282+github-actions[bot]@users.noreply.github.com" + if git diff --quiet; then + echo "No submodule updates." + else + git add -A + git commit -m "chore: update submodules to latest tracked branches" + git push + fi diff --git a/.gitmodules b/.gitmodules index ad6c015..d269d70 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,12 +1,12 @@ [submodule "RAVEN"] path = RAVEN url = https://github.com/SysBioChalmers/RAVEN.git - branch = main + branch = develop3 shallow = true [submodule "raven-python"] path = raven-python url = https://github.com/SysBioChalmers/raven-python.git - branch = main + branch = develop shallow = true [submodule "hanpo-GEM"] path = hanpo-GEM diff --git a/RAVEN b/RAVEN index 1aef465..0e5e603 160000 --- a/RAVEN +++ b/RAVEN @@ -1 +1 @@ -Subproject commit 1aef46510e9f4a25aeaddd1dab207fa6196f5b0d +Subproject commit 0e5e603104342a801ec831b4261b68471450b4a6 diff --git a/mkdocs.yml b/mkdocs.yml index 5a0e4bd..4c03de5 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -37,16 +37,27 @@ plugins: # (legacy/ and external/ are intentionally excluded). matlab: paths: - - RAVEN/core + - RAVEN/reconstruction + - RAVEN/manipulation + - RAVEN/analysis + - RAVEN/gapfilling + - RAVEN/annotation + - RAVEN/biomass + - RAVEN/curation + - RAVEN/conversion + - RAVEN/conditions + - RAVEN/comparison + - RAVEN/omics + - RAVEN/localization + - RAVEN/queries - RAVEN/io - RAVEN/solver - - RAVEN/pathway - - RAVEN/plotting - - RAVEN/hpa - - RAVEN/struct_conversion + - RAVEN/tasks + - RAVEN/visualization - RAVEN/utils paths_recursive: true options: + docstring_style: numpy show_root_heading: false show_root_toc_entry: false show_source: false diff --git a/scripts/gen_api_pages.py b/scripts/gen_api_pages.py index d082bcc..adb8c1d 100644 --- a/scripts/gen_api_pages.py +++ b/scripts/gen_api_pages.py @@ -35,13 +35,23 @@ # Mirrors the matlab handler `paths:` in mkdocs.yml. legacy/ and external/ are # intentionally excluded (deprecated / third-party). MATLAB_CATEGORIES = [ - ("core", "Core"), + ("reconstruction", "Reconstruction"), + ("manipulation", "Manipulation"), + ("analysis", "Analysis"), + ("gapfilling", "Gap-filling"), + ("annotation", "Annotation"), + ("biomass", "Biomass"), + ("curation", "Curation"), + ("conversion", "Format conversion"), + ("conditions", "Conditions"), + ("comparison", "Comparison"), + ("omics", "Omics integration"), + ("localization", "Localization"), + ("queries", "Queries"), ("io", "Input / output"), ("solver", "Solvers"), - ("pathway", "Pathways"), - ("plotting", "Plotting"), - ("hpa", "Human Protein Atlas"), - ("struct_conversion", "Model structure conversion"), + ("tasks", "Metabolic tasks"), + ("visualization", "Visualization"), ("utils", "Utilities"), ]