Skip to content

Commit 502bc22

Browse files
nrichersvalidbeckgithub-actions[bot]nibalizer
authored
Merge staging into prod (#1235)
* Expand custom artifact type content * Add margin footnote link * Change to definition list * Edits * docs: Organization wide default tracking changes in content blocks (#1202) * Edit: Managing your organization * WIP: Collaborate with others > Tracking changes * Edit: Collaborate with others > Tracking changes * Proofread * docs: Insert inventory & artifact field values as variables into documents & library blocks (#1207) * Save point * Save point * Work with content blocks > Reference field values * Single-source prep * Editing * Save point * Save point * Save point * Edit * Editing... * New content editing toolbar image * Missing copyrights * docs: Individual model inventory field activity (#1206) * WIP: View model activity > Filter all model activity * Save point * View model activity: View individual model field activity * Save point * Save point * Save point * Proofreading * Proofreading again * Typo * Update site/guide/model-inventory/edit-model-inventory-fields.qmd Co-authored-by: Nik Richers <nik@validmind.ai> * Fixing numbering * Fixing indenting --------- Co-authored-by: Nik Richers <nik@validmind.ai> * feat: docs pipeline to render markdown * feat: bump quarto to pre-release * chore: run llm gen at the end so we don't delay pr previews * LUA filter + Pandoc post-processing experiment * docs: 'document' parameter in `vm.init()` for model document target (#1211) * WIP * Save point * Save point * Save point * Edit: Install & initialize the ValidMind Library * Cursor WIP * Save point * Save point * Save point * Save point * Save point * Store model credentials in env files * What's next * Updating notebook listing scripts for page-size: 4 * Save point * Quick edit * One more * and another * Hang on forgot training stuff * Updated get started * Updated enable monitoring * Training updated * copyright * Missed a module * feat: make llm publishing slimmer- no release no installation no library * chore: put vm-library llm docs back * Switch to sparse checkout for some repos * fix: errors in publish llm gha * chore: handle the case where branch name is not main or prod, for instance when testing * Add "Quick reference" section to test overview page (#1205) * Add key concepts section to test overview page * Make section a callout, change to quick reference * Save point for graphviz * Some graphviz tweaks * A few more tweaks * Fill colour tweak * Document vm_today and datetime support in calculated fields (#1167) * Document vm_today and datetime support in calculated fields Add collapsible example for date arithmetic in model inventory calculation fields: vm_today, date, datetime, timedelta, relativedelta. Includes next review date and days-remaining countdown examples. Notes timestamp input and string output behavior. [sc-7465] * Fix whitespace * Fix heading level and move inventory field types up one section * Add screenshots, edits after testing * Save point before moving content * Move into its own file and relocate * Better intro * Restore better vm_today example * Edits * Minor text reschuffle * Mention fields by name * Move field types reference content below prequisites and bump to h2 * Fix example casing * Consistency edit * Rename and restructure Supported Models page (#1163) * Rename and restructure Supported Models page - Rename supported-models.qmd to supported-model-frameworks.qmd - Add alias for old URL to preserve links - Restructure content into clearer sections: - Framework support with wrapper classes and install commands - Test input requirements (predict vs predict_proba) - Custom model wrappers (FunctionModel, PipelineModel) - GenAI and LLM support - RAG evaluation with RAGAS - Python and dependency compatibility - Add Mermaid diagrams for class hierarchy and test input flow - Update references in faq-integrations.qmd and overview-model-documentation.qmd * Fix missed sidebar update * Fix broken link * Add bridging sentence after callout * Re-add a what does supported mean heading * Minor edit * Re-add some old goodness * Much better detail * Edits * More edits * Edits * Remove old supported models page * Minor edit * Edits * File rename again * Remove duplicated embeddings content * Uncomment and move info about tests for text-generating models * Update site/developer/supported-models-and-frameworks.qmd Co-authored-by: Beck <164545837+validbeck@users.noreply.github.com> * Update site/developer/supported-models-and-frameworks.qmd Co-authored-by: Beck <164545837+validbeck@users.noreply.github.com> * Update site/developer/supported-models-and-frameworks.qmd Co-authored-by: Beck <164545837+validbeck@users.noreply.github.com> * Update site/developer/supported-models-and-frameworks.qmd Co-authored-by: Beck <164545837+validbeck@users.noreply.github.com> * Update site/developer/supported-models-and-frameworks.qmd Co-authored-by: Beck <164545837+validbeck@users.noreply.github.com> * Switch to definition list after removing lead-in text for bulleted list * Two columns for a neater layout * Remove pointless link * Add links, text edits * Update site/developer/supported-models-and-frameworks.qmd Co-authored-by: Beck <164545837+validbeck@users.noreply.github.com> * Whitespace * Address review comment from Juan * Remove links I'd added --------- Co-authored-by: Beck <164545837+validbeck@users.noreply.github.com> * docs: Updated document type names (#1224) * WIP * WIP * Editing validation report template def * Edit... * Glossary / about updated * FAQ updated * Quickstart -screenshots updated * Work with test results done * Enable monitoring done * Review monitoring results done * Work with metrics over time done * save point * save point * Editing Export documents * Export documents done * Glossary proofreading * Save point * Save point * Save point * Save point * Save point * Save point * Save point * Save point * Edit Manage document types * Edit Manage model documents * Edit Customize document templates * Edit Manage document templates * Edit Export documents * Edit * Edit * Quickstart - Register a model * Quickstart - Select a template * Quickstart - Work with {document} * Proofread * Pulling in latest notebooks * Removing unused page * Removing backup screenshots * Revert "Removing unused page" This reverts commit 9a710fd. * Revering a change that didn't make sense * Updating notebooks again * edit * docs: Delete and archive artifact types (#1228) * WIP * WIP * Edit: Manage artifact types * Edit * Edit after Slack convo * Add R support documentation (#1227) * Initial draft * Add more install info * Add quickstarts * Grouping install & initalize in sidebar * Silly sidebar variable quirk --------- Co-authored-by: Beck <164545837+validbeck@users.noreply.github.com> * Switch to RELEASE_NOTES_RO_PAT for installation repo (#1231) * Fix CI hang: Don't try to render Graphviz diagrams with GFM (#1230) * Add pandoc install step * Try chromium install since stuff renders fine locally * Switch to RELEASE_NOTES_RO_PAT for installation repo * Try images instead of Graphviz * Add render-llm make action for local testing * Remove Chromium install steps * BG transparency --------- Co-authored-by: Beck <164545837+validbeck@users.noreply.github.com> * Add auto-generated template schema documentation (#1166) * Add auto-generated template schema documentation - Create generate_template_schema_docs.py script to generate HTML schema docs from backend JSON Schema using json-schema-for-humans - Update customize-document-templates.qmd to use generated include - Add template schema and permissions documentation sections to README.md The template schema is now regenerated from the v5 JSON schema in the backend repo, replacing the outdated hardcoded HTML. Closes sc-6164 * Switch to {html} codeblock, move styles into separate file, style tweaks * Fixed whitespace issue and added rounded corners * Fix heading level * Delete generated template schema file * Add make action and move template schema docs generation into workflows * Minor edit * Fix style for No Additional Items badges * Kibosh wayward ellipsis * Remove permissions documentation section from my other PR * Strip out schema doc CSS that causes issues, style tweaks * Move expand and collapse buttons above first accordion * Smidgen of whitespace before embed * Add README.md section of required repos, remove old R info * Temporarily add Andres' branch ref * Switch to new UI schema JSON * Remove temporary branch ref * docs: Export analytics (#1225) * Setup: Export analytics * WIP * edit * Proofreading --------- Co-authored-by: Beck <164545837+validbeck@users.noreply.github.com> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Spencer Krum <nibz@validmind.ai>
1 parent 2ab4ea0 commit 502bc22

204 files changed

Lines changed: 6937 additions & 4255 deletions

File tree

Some content is hidden

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

.github/workflows/deploy-docs-prod.yaml

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,14 +45,30 @@ jobs:
4545
with:
4646
repository: validmind/installation
4747
path: site/_source/installation
48-
token: ${{ secrets.INSTALLATION_RO_PAT }}
48+
token: ${{ secrets.RELEASE_NOTES_RO_PAT }}
49+
sparse-checkout: |
50+
site/installation
51+
sparse-checkout-cone-mode: true
4952

5053
- name: Check out release-notes repository
5154
uses: actions/checkout@v4
5255
with:
5356
repository: validmind/release-notes
5457
path: site/_source/release-notes
5558
token: ${{ secrets.RELEASE_NOTES_RO_PAT }}
59+
sparse-checkout: |
60+
releases
61+
sparse-checkout-cone-mode: true
62+
63+
- name: Check out backend repository
64+
uses: actions/checkout@v4
65+
with:
66+
repository: validmind/backend
67+
path: site/_source/backend
68+
token: ${{ secrets.RELEASE_NOTES_RO_PAT }}
69+
sparse-checkout: |
70+
src/backend/templates/documentation/model_documentation
71+
sparse-checkout-cone-mode: true
5672

5773
- name: Set up Quarto
5874
uses: quarto-dev/quarto-actions/setup@v2
@@ -73,6 +89,11 @@ jobs:
7389
mkdir -p validmind
7490
rsync -av --exclude '_build' --exclude 'templates' _source/validmind-library/docs/ validmind/
7591
92+
- name: Generate template schema docs
93+
run: |
94+
pip install json-schema-for-humans
95+
BACKEND_ROOT=site/_source/backend python scripts/generate_template_schema_docs.py
96+
7697
- name: Populate installation
7798
run: cp -r site/_source/installation/site/installation site/installation
7899

@@ -96,7 +117,7 @@ jobs:
96117
run: aws configure set aws_access_key_id ${{ secrets.AWS_ACCESS_KEY_ID_PROD }} && aws configure set aws_secret_access_key ${{ secrets.AWS_SECRET_ACCESS_KEY_PROD }} && aws configure set default.region us-east-1
97118

98119
- name: Deploy docs prod site
99-
run: aws s3 sync site/_site s3://validmind-docs-prod/site --delete --exclude "installation/omnibus/*" --exclude "installation/helm-repo/*" && aws cloudfront create-invalidation --distribution-id E2BGG3USKQTR9W --paths "/*" --no-cli-pager
120+
run: aws s3 sync site/_site s3://validmind-docs-prod/site --delete --exclude "installation/omnibus/*" --exclude "installation/helm-repo/*" --exclude "llm/*" && aws cloudfront create-invalidation --distribution-id E2BGG3USKQTR9W --paths "/*" --no-cli-pager
100121

101122
# Release headroom and shrink before final lightweight steps & post-job
102123
- name: Release reserve & shrink
@@ -107,6 +128,7 @@ jobs:
107128
remove_paths: |
108129
site/_source/installation
109130
site/_source/release-notes
131+
site/_source/backend
110132
site/render_errors.log
111133
site/_freeze
112134
dev.env

.github/workflows/deploy-docs-staging.yaml

Lines changed: 26 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,15 +45,31 @@ jobs:
4545
with:
4646
repository: validmind/installation
4747
path: site/_source/installation
48-
token: ${{ secrets.INSTALLATION_RO_PAT }}
48+
token: ${{ secrets.RELEASE_NOTES_RO_PAT }}
49+
sparse-checkout: |
50+
site/installation
51+
sparse-checkout-cone-mode: true
4952

5053
- name: Check out release-notes repository
5154
uses: actions/checkout@v4
5255
with:
5356
repository: validmind/release-notes
5457
path: site/_source/release-notes
5558
token: ${{ secrets.RELEASE_NOTES_RO_PAT }}
56-
59+
sparse-checkout: |
60+
releases
61+
sparse-checkout-cone-mode: true
62+
63+
- name: Check out backend repository
64+
uses: actions/checkout@v4
65+
with:
66+
repository: validmind/backend
67+
path: site/_source/backend
68+
token: ${{ secrets.RELEASE_NOTES_RO_PAT }}
69+
sparse-checkout: |
70+
src/backend/templates/documentation/model_documentation
71+
sparse-checkout-cone-mode: true
72+
5773
- name: Set up Quarto
5874
uses: quarto-dev/quarto-actions/setup@v2
5975
with:
@@ -72,7 +88,12 @@ jobs:
7288
rm -rf validmind
7389
mkdir -p validmind
7490
rsync -av --exclude '_build' --exclude 'templates' _source/validmind-library/docs/ validmind/
75-
91+
92+
- name: Generate template schema docs
93+
run: |
94+
pip install json-schema-for-humans
95+
BACKEND_ROOT=site/_source/backend python scripts/generate_template_schema_docs.py
96+
7697
- name: Populate installation
7798
run: cp -r site/_source/installation/site/installation site/installation
7899

@@ -99,7 +120,7 @@ jobs:
99120
run: aws configure set aws_access_key_id ${{ secrets.AWS_ACCESS_KEY_ID_STAGING }} && aws configure set aws_secret_access_key ${{ secrets.AWS_SECRET_ACCESS_KEY_STAGING }} && aws configure set default.region us-west-2
100121

101122
- name: Deploy docs staging site
102-
run: aws s3 sync site/_site s3://validmind-docs-staging/site --delete --exclude "installation/helm-repo/*" --exclude "pr_previews/*" && aws cloudfront create-invalidation --distribution-id ESWVTZYFL873V --paths "/*" --no-cli-pager
123+
run: aws s3 sync site/_site s3://validmind-docs-staging/site --delete --exclude "installation/helm-repo/*" --exclude "pr_previews/*" --exclude "llm/*" && aws cloudfront create-invalidation --distribution-id ESWVTZYFL873V --paths "/*" --no-cli-pager
103124

104125
# Release headroom and shrink before final lightweight steps & post-job
105126
- name: Release reserve & shrink
@@ -110,6 +131,7 @@ jobs:
110131
remove_paths: |
111132
site/_source/installation
112133
site/_source/release-notes
134+
site/_source/backend
113135
site/render_errors.log
114136
site/_freeze
115137
dev.env
Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
name: Publish LLM markdown
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
- prod
8+
workflow_dispatch:
9+
10+
jobs:
11+
publish:
12+
runs-on: ubuntu-latest
13+
14+
steps:
15+
- name: Check out documentation repository
16+
uses: actions/checkout@v4
17+
18+
- name: Free space + create reserve
19+
uses: ./.github/actions/free-disk-space
20+
with:
21+
remove_dotnet: "true"
22+
remove_android: "true"
23+
remove_haskell: "true"
24+
prune_docker: "true"
25+
apt_cleanup: "true"
26+
create_reserve_gb: "3"
27+
28+
- run: mkdir -p site/_source
29+
30+
- name: Check out validmind-library repository
31+
uses: actions/checkout@v4
32+
with:
33+
repository: validmind/validmind-library
34+
path: site/_source/validmind-library
35+
token: ${{ secrets.RELEASE_NOTES_RO_PAT }}
36+
37+
- name: Set up Quarto
38+
uses: quarto-dev/quarto-actions/setup@v2
39+
with:
40+
version: ${{ vars.QUARTO_VERSION }}
41+
42+
- name: Install Poetry
43+
run: |
44+
curl -sSL https://install.python-poetry.org | python3 -
45+
echo "$HOME/.local/bin" >> $GITHUB_PATH
46+
47+
- name: Generate Python library docs
48+
run: |
49+
cd _source/validmind-library
50+
make install && make quarto-docs
51+
cd ../../
52+
rm -rf validmind
53+
mkdir -p validmind
54+
rsync -av --exclude '_build' --exclude 'templates' _source/validmind-library/docs/ validmind/
55+
working-directory: site
56+
57+
- name: Install pandoc
58+
run: |
59+
sudo apt-get update
60+
sudo apt-get install -y pandoc
61+
62+
- name: Render LLM markdown
63+
run: bash llm/render.sh
64+
working-directory: site
65+
66+
- name: Set archive name
67+
id: archive
68+
run: |
69+
BRANCH="${GITHUB_REF_NAME//\//-}"
70+
echo "name=docs-markdown-${BRANCH}.tar.gz" >> "$GITHUB_OUTPUT"
71+
72+
- name: Create tar.gz archive
73+
run: |
74+
cd site/llm/_llm-output
75+
tar -czf "/tmp/${{ steps.archive.outputs.name }}" .
76+
77+
# main → staging bucket (us-west-2), prod → prod bucket (us-east-1)
78+
- name: Configure AWS credentials
79+
run: |
80+
if [ "${{ github.ref_name }}" = "prod" ]; then
81+
aws configure set aws_access_key_id ${{ secrets.AWS_ACCESS_KEY_ID_PROD }}
82+
aws configure set aws_secret_access_key ${{ secrets.AWS_SECRET_ACCESS_KEY_PROD }}
83+
aws configure set default.region us-east-1
84+
else
85+
aws configure set aws_access_key_id ${{ secrets.AWS_ACCESS_KEY_ID_STAGING }}
86+
aws configure set aws_secret_access_key ${{ secrets.AWS_SECRET_ACCESS_KEY_STAGING }}
87+
aws configure set default.region us-west-2
88+
fi
89+
90+
- name: Upload to S3
91+
run: |
92+
if [ "${{ github.ref_name }}" = "prod" ]; then
93+
BUCKET="s3://validmind-docs-prod/site/llm/${{ steps.archive.outputs.name }}"
94+
else
95+
BUCKET="s3://validmind-docs-staging/site/llm/${{ steps.archive.outputs.name }}"
96+
fi
97+
aws s3 cp "/tmp/${{ steps.archive.outputs.name }}" "$BUCKET"
98+
echo "Uploaded to $BUCKET"
99+
100+
- name: Release reserve & shrink
101+
if: always()
102+
uses: ./.github/actions/free-disk-space
103+
with:
104+
release_reserve: "true"
105+
remove_paths: |
106+
site/_source/installation
107+
site/_source/release-notes
108+
site/render_errors.log
109+
site/_freeze

.github/workflows/validate-docs-site.yaml

Lines changed: 34 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,20 +34,36 @@ jobs:
3434
repository: validmind/validmind-library
3535
path: site/_source/validmind-library
3636
token: ${{ secrets.RELEASE_NOTES_RO_PAT }}
37-
37+
3838
- name: Check out installation repository
3939
uses: actions/checkout@v4
4040
with:
4141
repository: validmind/installation
4242
path: site/_source/installation
43-
token: ${{ secrets.INSTALLATION_RO_PAT }}
43+
token: ${{ secrets.RELEASE_NOTES_RO_PAT }}
44+
sparse-checkout: |
45+
site/installation
46+
sparse-checkout-cone-mode: true
4447

4548
- name: Check out release-notes repository
4649
uses: actions/checkout@v4
4750
with:
4851
repository: validmind/release-notes
4952
path: site/_source/release-notes
5053
token: ${{ secrets.RELEASE_NOTES_RO_PAT }}
54+
sparse-checkout: |
55+
releases
56+
sparse-checkout-cone-mode: true
57+
58+
- name: Check out backend repository
59+
uses: actions/checkout@v4
60+
with:
61+
repository: validmind/backend
62+
path: site/_source/backend
63+
token: ${{ secrets.RELEASE_NOTES_RO_PAT }}
64+
sparse-checkout: |
65+
src/backend/templates/documentation/model_documentation
66+
sparse-checkout-cone-mode: true
5167

5268
- name: Verify copyright headers
5369
run: |
@@ -57,7 +73,7 @@ jobs:
5773
- name: Set up Quarto
5874
uses: quarto-dev/quarto-actions/setup@v2
5975
with:
60-
version: ${{ vars.QUARTO_VERSION }}
76+
version: pre-release
6177

6278
- name: Install Poetry
6379
run: |
@@ -73,6 +89,11 @@ jobs:
7389
mkdir -p validmind
7490
rsync -av --exclude '_build' --exclude 'templates' _source/validmind-library/docs/ validmind/
7591
92+
- name: Generate template schema docs
93+
run: |
94+
pip install json-schema-for-humans
95+
BACKEND_ROOT=site/_source/backend python scripts/generate_template_schema_docs.py
96+
7697
- name: Populate installation
7798
run: cp -r site/_source/installation/site/installation site/installation
7899

@@ -143,6 +164,15 @@ jobs:
143164
body: comment
144165
});
145166
167+
- name: Install pandoc
168+
run: |
169+
sudo apt-get update
170+
sudo apt-get install -y pandoc
171+
172+
- name: Validate LLM markdown render
173+
run: bash llm/render.sh && bash llm/clean.sh
174+
working-directory: site
175+
146176
# Release headroom and shrink before final lightweight steps & post-job
147177
- name: Release reserve & shrink
148178
if: always()
@@ -152,6 +182,7 @@ jobs:
152182
remove_paths: |
153183
site/_source/installation
154184
site/_source/release-notes
185+
site/_source/backend
155186
site/render_errors.log
156187
site/_freeze
157188
dev.env

.gitignore

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,11 @@ site/validmind-docs.yaml
3636
# Python API docs are now generated on the fly
3737
site/validmind
3838

39+
# Generated template schema documentation
40+
site/guide/templates/_template-schema-generated.qmd
41+
3942
# Cursor rules
4043
.cursor/rules/
41-
.cursor/skills/
44+
.cursor/skills/
45+
46+
_llm-output/

README.md

Lines changed: 39 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,17 @@ You need:
2525
- To use Cursor to author documentation, the [`create-user-documentation`](https://github.com/validmind/skills/tree/main/create-user-documentation) skill
2626
- For Windows operating systems, install the `make` command via [Cygwin](https://cygwin.com/install.html)
2727

28-
### Additional dependencies
28+
### Fetching required repositories
2929

30-
Some interactive tables, such as our breaking changes and dependency history rely you have R and some R packages installed in order for you to be able to preview or render certain pages of the docs site locally.
30+
Before previewing or rendering the docs site, run:
31+
32+
```bash
33+
cd site
34+
make get-source
35+
```
36+
37+
This make action clones required repositories and generates documentation from source. Without this step, Quarto will return warnings or errors related to our installation guides, release notes, library docs, and template schema reference.
3138

32-
**Refer to the [Breaking changes and deprecations](site/releases/breaking-changes/README.md) guide** for more information on how to install R and set up these tables.
3339

3440
## How to contribute
3541

@@ -138,6 +144,36 @@ These directories may have sub-directories depending on their size and grouped s
138144
- `notebooks` — This is where notebooks retrieved from the [`validmind-library` repo](https://github.com/validmind/validmind-library) live.
139145
- `tests` — This is where test descriptions generated from the Python source in the [`validmind-library` repo](https://github.com/validmind/validmind-library) live.
140146

147+
### Generated documentation
148+
149+
Some documentation content is auto-generated from backend source files. These scripts ensure the docs stay in sync with the codebase.
150+
151+
#### Template schema documentation
152+
153+
The template schema reference in `site/guide/templates/customize-document-templates.qmd` is auto-generated from the backend JSON Schema. CI workflows generate this automatically, but you can also regenerate locally:
154+
155+
```bash
156+
cd site
157+
make get-source # Clones all repos including backend (sparse checkout)
158+
make template-schema-docs # Generates the schema docs
159+
```
160+
161+
The backend repo is sparse-cloned as part of `make clone` (only the schema directory is fetched). To use a specific backend branch:
162+
163+
```bash
164+
make clone BACKEND_BRANCH=feature-branch
165+
make template-schema-docs
166+
```
167+
168+
**Requirements:**
169+
- Python 3.9+
170+
- SSH access to the backend repository
171+
172+
The script reads from:
173+
- `backend/src/backend/templates/documentation/model_documentation/mdd_template_schema_v5.json` — template schema definition
174+
175+
Output: `site/guide/templates/_template-schema-generated.qmd`
176+
141177
#### Stylesheet organization (IN PROGRESS)
142178

143179
The site uses a modular stylesheet architecture to maintain organized and maintainable styles:

0 commit comments

Comments
 (0)