Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Nov 27, 2025

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 start
  • architecture.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 conditions
  • building-locally.md - Local build commands with registry cache usage, full build script example, build args reference, troubleshooting
  • spack-environment.md - Repository priority, CI vs XL environments, packages.yaml structure, cherry-pick mechanism

Docsify Configuration

  • index.html with mermaid support, search, syntax highlighting
  • _sidebar.md navigation
  • .nojekyll for direct GitHub Pages serving

Deployment

  • .github/workflows/docs.yml - Deploys to GitHub Pages on push to master when docs/ changes

Once merged and Pages is enabled, docs will be available at https://eic.github.io/containers/.

Original prompt

Create comprehensive markdown and mermaid documentation about the container infrastructure in docs/ and publish using docsify to a github pages site (by action). Include instructions on how to build locally, including how to take advantage of caching on ghcr.io.


💡 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.

Copilot AI and others added 2 commits November 27, 2025 19:48
Co-authored-by: wdconinc <4656391+wdconinc@users.noreply.github.com>
Co-authored-by: wdconinc <4656391+wdconinc@users.noreply.github.com>
Copilot AI changed the title [WIP] Add comprehensive markdown and mermaid documentation for container infrastructure Add container infrastructure documentation with docsify and GitHub Pages deployment Nov 27, 2025
Copilot AI requested a review from wdconinc November 27, 2025 19:52
Copilot finished work on behalf of wdconinc November 27, 2025 19:52
Copy link
Contributor

@wdconinc wdconinc left a comment

Choose a reason for hiding this comment

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

Good doggy.

@wdconinc wdconinc marked this pull request as ready for review November 27, 2025 19:55
Copilot AI review requested due to automatic review settings November 27, 2025 19:55
@wdconinc wdconinc merged commit c1076b7 into master Nov 27, 2025
12 of 13 checks passed
Copilot finished reviewing on behalf of wdconinc November 27, 2025 20:00
Copy link
Contributor

Copilot AI left a 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
Copy link

Copilot AI Nov 27, 2025

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.

Suggested change
- py-tensorflow # Machine learning

Copilot uses AI. Check for mistakes.
@@ -0,0 +1 @@
# Docsify does not need building - this file ensures GitHub Pages serves the docs directory directly
Copy link

Copilot AI Nov 27, 2025

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.

Suggested change
# Docsify does not need building - this file ensures GitHub Pages serves the docs directory directly

Copilot uses AI. Check for mistakes.
Comment on lines +116 to +133
### 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
```
Copy link

Copilot AI Nov 27, 2025

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.

Copilot uses AI. Check for mistakes.
wdconinc added a commit that referenced this pull request Nov 27, 2025
…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>
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