-
Notifications
You must be signed in to change notification settings - Fork 4
Add container infrastructure documentation with docsify and GitHub Pages deployment #74
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Co-authored-by: wdconinc <4656391+wdconinc@users.noreply.github.com>
Co-authored-by: wdconinc <4656391+wdconinc@users.noreply.github.com>
wdconinc
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good doggy.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR adds comprehensive documentation for the EIC container build system using docsify, which will be automatically deployed to GitHub Pages. The documentation includes detailed explanations of the architecture, build pipeline, local building instructions, and Spack environment configuration, all with illustrative mermaid diagrams.
Key changes:
- Created detailed markdown documentation covering container architecture, build pipeline, local builds, and Spack configuration
- Set up docsify-based documentation site with mermaid diagram support, search, and syntax highlighting
- Added GitHub Actions workflow to automatically deploy documentation to GitHub Pages on changes to the
docs/directory
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| docs/README.md | Landing page with overview, quick links, container image table, and repository structure |
| docs/architecture.md | Multi-stage build strategy explanation with diagrams showing builder/runtime tracks and caching architecture |
| docs/build-pipeline.md | GitHub Actions workflow breakdown with job dependencies, caching strategy, and trigger conditions |
| docs/building-locally.md | Local build instructions with registry cache usage, full script example, and troubleshooting guide |
| docs/spack-environment.md | Spack repository hierarchy, environment variants (CI/XL), package selection flow, and configuration details |
| docs/_sidebar.md | Navigation sidebar configuration for docsify |
| docs/.nojekyll | Marker file to bypass Jekyll processing on GitHub Pages |
| docs/index.html | Docsify configuration with mermaid support, search plugin, and syntax highlighting for bash/yaml/docker |
| .github/workflows/docs.yml | GitHub Actions workflow to deploy documentation to Pages when docs/ changes on master branch |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| - github-copilot # AI coding assistant | ||
| - emacs # Editor | ||
| - jupyter # Notebooks | ||
| - py-tensorflow # Machine learning |
Copilot
AI
Nov 27, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The documentation claims that the XL environment includes "py-tensorflow" (line 104), but this package is not present in the actual spack-environment/xl/spack.yaml file. The XL environment does include py-torch but not TensorFlow. Either the package should be added to the spack.yaml or this line should be removed from the documentation.
| - py-tensorflow # Machine learning |
| @@ -0,0 +1 @@ | |||
| # Docsify does not need building - this file ensures GitHub Pages serves the docs directory directly | |||
Copilot
AI
Nov 27, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The .nojekyll file should be empty. It's a marker file that signals to GitHub Pages to bypass Jekyll processing. The comment in this file is unnecessary and technically incorrect - the file doesn't need to explain its purpose within itself. The file should either be empty or the comment should be removed.
| # Docsify does not need building - this file ensures GitHub Pages serves the docs directory directly |
| ### EPIC Subenvironment | ||
|
|
||
| Both CI and XL have an `epic/` subdirectory with the EPIC detector packages: | ||
|
|
||
| ```yaml | ||
| spack: | ||
| include_concrete: | ||
| - /opt/spack-environment/xl # or ci | ||
| specs: | ||
| - algorithms | ||
| - edm4eic | ||
| - eicrecon | ||
| - epic@main # Current development | ||
| - epic@25.08.0 # Tagged versions | ||
| - epic@25.09.0 | ||
| - epic@25.10.0 | ||
| - juggler | ||
| ``` |
Copilot
AI
Nov 27, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The documentation states that "Both CI and XL have an epic/ subdirectory" and then shows a YAML example with multiple EPIC versions (lines 128-130). However, the CI environment (spack-environment/ci/epic/spack.yaml) only includes epic@main, while the XL environment includes multiple tagged versions. The example shown is specific to XL, not representative of both environments. Consider clarifying this distinction or showing both configurations separately.
…ges deployment (#74) * Initial plan * Add comprehensive documentation with docsify and GitHub Pages deployment Co-authored-by: wdconinc <4656391+wdconinc@users.noreply.github.com> * Fix spelling of Subenvironment in spack-environment.md Co-authored-by: wdconinc <4656391+wdconinc@users.noreply.github.com> * Remove spack/spack from package definitions --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: wdconinc <4656391+wdconinc@users.noreply.github.com> Co-authored-by: Wouter Deconinck <wdconinc@gmail.com>
Adds comprehensive documentation for the EIC container build system with mermaid diagrams and automatic GitHub Pages deployment via docsify.
Documentation (
docs/)README.md- Overview, container images, repository structure, quick startarchitecture.md- Multi-stage build strategy, multi-arch support, spack repository hierarchy, caching layers (with mermaid flowcharts)build-pipeline.md- GitHub Actions workflow breakdown, job dependencies, caching strategy, trigger conditionsbuilding-locally.md- Local build commands with registry cache usage, full build script example, build args reference, troubleshootingspack-environment.md- Repository priority, CI vs XL environments, packages.yaml structure, cherry-pick mechanismDocsify Configuration
index.htmlwith mermaid support, search, syntax highlighting_sidebar.mdnavigation.nojekyllfor direct GitHub Pages servingDeployment
.github/workflows/docs.yml- Deploys to GitHub Pages on push tomasterwhendocs/changesOnce merged and Pages is enabled, docs will be available at
https://eic.github.io/containers/.Original prompt
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.