svenreiche / Genesis-1.3-Version4

Time-dependent, 3D Code to simulate the amplification process of a Free-electron Laser.
GNU General Public License v3.0
53 stars 26 forks source link

CI: clean up documentation and generate it with GitHub Actions #137

Closed ken-lauer closed 7 months ago

ken-lauer commented 7 months ago

Background

I've been looking through the documentation a bit on Genesis and found that here are multiple copies of the documentation included in the repository:

  1. /MANUAL.md and /MANUAL* at the top-level
  2. /manual/MANUAL.md and others under /manual
  3. An old PDF version of the manual (/manual/Genesis-Manual.pdf) and its source LaTeX file
  4. A newer PDF version of the manual /manual/Manual.pdf which is generated with pandoc using /manual/*.md

Changes

Assuming my understanding is correct, I've taken the steps in this PR to:

  1. Clean up the generated files from source control
  2. Remove old/outdated manuals
  3. Auto-generate manuals for each commit (or tagged release) and upload them as assets to GitHub

GitHub Actions

Note - you will have to enable a setting in the repository to allow for the deployment process to work correctly. It's as simple as going to the repository settings and selecting "GitHub Actions" as the source.

Screenshot 2024-01-05 at 11 52 41 AM

Testing / sample

I ran the included GitHub Actions on my own fork and here are the results:

  1. Page: https://ken-lauer.github.io/Genesis-1.3-Version4
  2. PDF download: https://github.com/ken-lauer/Genesis-1.3-Version4/actions/runs/7425965953/artifacts/1150738734

Future

We could make a nicer webpage for Genesis, if you'd like. Something along the lines of what we have for https://slaclab.github.io/lume-genesis/ for example.

ChristopherMayes commented 7 months ago

Here's an example for how Bmad.jl lattices are looking at the moment:

https://github.com/bmad-sim/AcceleratorLattice.jl/blob/abec38f2e026ae7c74282d96bff5c572b9f8dfe8/test/lat1.jl#L4

ken-lauer commented 7 months ago

The docs are now published here: https://svenreiche.github.io/Genesis-1.3-Version4/

ChristopherMayes commented 7 months ago

@svenreiche What do you think about us automatically making an mkdocs site like https://slaclab.github.io/lume-genesis/ (mentioned above)?

svenreiche commented 7 months ago

Hi Christopher,

for sure this would be a great option to have a dedicated website. However I am getting busy these days and don't know when I have enough time to inform myself on how to do that.

Also thank you for the workflow to generate the manual. This also completely new for me.

Best Sven


Paul Scherrer Institut Sven Reiche WBGB/119 CH-5232 Villigen PSI

Telefon: +41 56 310 51 19 E-Mail: @.**@.>@.>@.>


From: Christopher Mayes @.> Sent: Tuesday, January 9, 2024 01:27 To: svenreiche/Genesis-1.3-Version4 @.> Cc: Reiche Sven @.>; Mention @.> Subject: Re: [svenreiche/Genesis-1.3-Version4] CI: clean up documentation and generate it with GitHub Actions (PR #137)

@svenreichehttps://github.com/svenreiche What do you think about us automatically making an mkdocs site like https://slaclab.github.io/lume-genesis/ (mentioned above)?

— Reply to this email directly, view it on GitHubhttps://github.com/svenreiche/Genesis-1.3-Version4/pull/137#issuecomment-1882048539, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AK2LSE3FNWQKWFLZ5JNZNJ3YNSFI3AVCNFSM6AAAAABBO4RHXGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQOBSGA2DQNJTHE. You are receiving this because you were mentioned.Message ID: @.***>