Skip to content

Add explanation docs#69

Open
MJGaughran wants to merge 6 commits into
mainfrom
add-explanation-docs
Open

Add explanation docs#69
MJGaughran wants to merge 6 commits into
mainfrom
add-explanation-docs

Conversation

@MJGaughran

Copy link
Copy Markdown
Contributor

There's a lot of words in the docs, so I've split them into two PRs.

The next PR will include an end-to-end tutorial plus CI pipeline configuration docs.

@codecov

codecov Bot commented Jul 21, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 99.48%. Comparing base (328d1fd) to head (d9e105f).

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #69   +/-   ##
=======================================
  Coverage   99.48%   99.48%           
=======================================
  Files          27       27           
  Lines         979      979           
=======================================
  Hits          974      974           
  Misses          5        5           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

`compare` checks the area's *structure* — the modulefiles, links and metadata whose
breakage would disable many Modules at once. It does not inspect the contents of built
payloads such as Apptainer `.sif` images, so a `.sif` that is corrupt but present at the
expected path is not detected. That risk is avoided at build time instead: a Module is

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I feel like the line starting "That risk" should be somewhere else if its not already. Im also confused by what it is saying as the prior line talks about sif images and then this line talks about "a Module is built" but arent we talking about sif images here specifically?

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Was the middle line inserted later? Maybe it just wants modifying a bit to make it read better.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"That risk" refers to the fact that compare does not check the contents / existence of the .sif files at all. The risk is therefore that these files are broken. It then goes on to explain how we avoid that type of issue as best we can.

I'll have a look at rewording it to make it clearer, however.

snapshot. This answers "does the area still match the configuration from before the
last `sync`?"
- `compare --from-scratch` asserts only that the deployment root exists and is *empty* —
the check to run in CI before the very first `sync`, when no snapshot exists yet.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should it be "this is the check"? otherwise this doesnt make sense to me

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll have a look at rewording it, but it is just saying that

Comment on lines +59 to +61
The git repository in the deployment area exists only to give `compare --use-ref` this
reference point. It deliberately excludes the build area and Apptainer images, and is
**not** intended for reverting the area's state.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This makes it sound like the git repo is only for using --use-ref. But it is always used by compare, even without --use-ref?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How is it "always used by compare"?

If you don't pass "--use-ref", it just looks at the current snapshot.

Comment thread docs/schemas.md Outdated
Comment on lines +19 to +20
Add a `yaml-language-server` comment pointing at the matching schema so your editor
validates each file as you type.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this only true for vscode? Also maybe a link to an example file which does this?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it needs language-server-protocol to work. I'll link to an example in demo_configuration, or provide a short snippet.

Comment thread README.md
|**Step**|**Description** |**Run by**|
|--------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------|
|Compare |Compare the snapshot taken of the previous deployment with the modulefiles and built modules that already exist. This ensures that the Deployment Area is in a healthy state |`compare` |
|Validate|Process the updated configuration. By comparing the new configuration files with a snapshot from the previous deployment, we determine the set of actions that need to be taken |`validate`, `sync`|

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does validate not run compare in order to validate?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, compare ensures that the deployment area is healthy. Validate ensures that the new configuration (and lifecyle transitions compared to the current snapshot) are valid.

Validate just assumes that the current snapshot is accurate.

Comment thread docs/explanations/default-versions.md Outdated
## Every Module has a specific default configured

For every live module name, `deploy-tools` writes a `.version` file next to its modulefile
links (`modulefiles/<name>/.version`) with a single `set ModulesVersion <version>` line.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this say "which links"?

@MJGaughran MJGaughran Jul 21, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Modulefile links" are the softlinks to the "real" modulefiles located in the modules/ directory. It might be better to avoid referencing this entirely, than include this misleading line.

For every live module name, deploy-tools writes a .version file in its modulefiles directory (modulefiles/<name>/.version) with a single set ModulesVersion <version> line.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants