Skip to content

Commit

Permalink
initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
gknapp1 committed Oct 16, 2024
0 parents commit 704bfd4
Show file tree
Hide file tree
Showing 13 changed files with 734 additions and 0 deletions.
69 changes: 69 additions & 0 deletions .github/pages.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.

# Sample workflow for building and deploying a Jekyll site to GitHub Pages
name: Deploy Jekyll site to Pages

on:
push:
branches: ["main"]
paths: ["./*"]

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write

# Allow one concurrent deployment
concurrency:
group: "pages"
cancel-in-progress: true

jobs:
# Build job
build:
runs-on: ubuntu-latest
defaults:
run:
working-directory: .
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.3' # Not needed with a .ruby-version file
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
cache-version: 0 # Increment this number if you need to re-download cached gems
working-directory: '${{ github.workspace }}'
- name: Setup Pages
id: pages
uses: actions/configure-pages@v5
- name: Build with Jekyll
# Outputs to the './_site' directory by default
run: bundle exec jekyll build --baseurl "${{ steps.pages.outputs.base_path }}"
env:
JEKYLL_ENV: production
- name: Upload artifact
# Automatically uploads an artifact from the './_site' directory by default
uses: actions/upload-pages-artifact@v3
with:
path: "./_site/"

# Deployment job
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
7 changes: 7 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
source 'https://rubygems.org'

gem "jekyll", "~> 4.3.3" # installed by `gem jekyll`
# gem "webrick" # required when using Ruby >= 3 and Jekyll <= 4.2.2

gem "just-the-docs", "0.10.0" # pinned to the current release
# gem "just-the-docs" # always download the latest release
91 changes: 91 additions & 0 deletions Gemfile.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
GEM
remote: https://rubygems.org/
specs:
addressable (2.8.7)
public_suffix (>= 2.0.2, < 7.0)
bigdecimal (3.1.8)
colorator (1.1.0)
concurrent-ruby (1.3.4)
em-websocket (0.5.3)
eventmachine (>= 0.12.9)
http_parser.rb (~> 0)
eventmachine (1.2.7)
ffi (1.17.0-arm64-darwin)
ffi (1.17.0-x86_64-linux-gnu)
forwardable-extended (2.6.0)
google-protobuf (4.28.0-arm64-darwin)
bigdecimal
rake (>= 13)
google-protobuf (4.28.0-x86_64-linux)
bigdecimal
rake (>= 13)
http_parser.rb (0.8.0)
i18n (1.14.5)
concurrent-ruby (~> 1.0)
jekyll (4.3.3)
addressable (~> 2.4)
colorator (~> 1.0)
em-websocket (~> 0.5)
i18n (~> 1.0)
jekyll-sass-converter (>= 2.0, < 4.0)
jekyll-watch (~> 2.0)
kramdown (~> 2.3, >= 2.3.1)
kramdown-parser-gfm (~> 1.0)
liquid (~> 4.0)
mercenary (>= 0.3.6, < 0.5)
pathutil (~> 0.9)
rouge (>= 3.0, < 5.0)
safe_yaml (~> 1.0)
terminal-table (>= 1.8, < 4.0)
webrick (~> 1.7)
jekyll-include-cache (0.2.1)
jekyll (>= 3.7, < 5.0)
jekyll-sass-converter (3.0.0)
sass-embedded (~> 1.54)
jekyll-seo-tag (2.8.0)
jekyll (>= 3.8, < 5.0)
jekyll-watch (2.2.1)
listen (~> 3.0)
just-the-docs (0.10.0)
jekyll (>= 3.8.5)
jekyll-include-cache
jekyll-seo-tag (>= 2.0)
rake (>= 12.3.1)
kramdown (2.4.0)
rexml
kramdown-parser-gfm (1.1.0)
kramdown (~> 2.0)
liquid (4.0.4)
listen (3.9.0)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
mercenary (0.4.0)
pathutil (0.16.2)
forwardable-extended (~> 2.6)
public_suffix (6.0.1)
rake (13.2.1)
rb-fsevent (0.11.2)
rb-inotify (0.11.1)
ffi (~> 1.0)
rexml (3.3.7)
rouge (4.3.0)
safe_yaml (1.0.5)
sass-embedded (1.78.0-arm64-darwin)
google-protobuf (~> 4.27)
sass-embedded (1.78.0-x86_64-linux-gnu)
google-protobuf (~> 4.27)
terminal-table (3.0.2)
unicode-display_width (>= 1.1.1, < 3)
unicode-display_width (2.5.0)
webrick (1.8.1)

PLATFORMS
arm64-darwin
x86_64-linux-gnu

DEPENDENCIES
jekyll (~> 4.3.3)
just-the-docs (= 0.10.0)

BUNDLED WITH
2.5.9
61 changes: 61 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
The text and multimedia in this repository retains the top-level Myna license, which
can be found below and at https://github.com/ORNL-MDF/Myna/blob/main/LICENSE.md.

This documentation is built on the Just The Docs template found
at https://github.com/just-the-docs/just-the-docs-template/, which is licensed under the
MIT License reproduced at the bottom of this license file.

----------------------------------------------------------------------------------------
BSD 3-Clause License

Copyright (c) 2024, Oak Ridge National Laboratory

Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.

3. Neither the name of the copyright holder nor the names of its contributors
may be used to endorse or promote products derived from this software without
specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
OF SUCH DAMAGE.

----------------------------------------------------------------------------------------

MIT License

Copyright (c) 2022 just-the-docs

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

47 changes: 47 additions & 0 deletions _config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# General site settings
title: Myna
description: Documentation for Myna
repository: ORNL-MDF/myna.github.io

# Theme settings
permalink: /:title
theme: just-the-docs
compress_html:
blanklines: true
color_scheme: ornl_green

# Navigation bar
nav_enabled: true
nav_external_links:
- title: Myna on GitHub
url: "https://github.com/ORNL-MDF/Myna"

# Upper-right link bar
aux_links:
Myna on GitHub:
- "https://github.com/ORNL-MDF/Myna"

# Link settings
aux_links_new_tab: false

# Enable callouts in markdown, for example "{: .warning }"
callouts:
highlight:
color: yellow
important:
title: Important
color: blue
new:
title: New
color: green
note:
title: Note
color: ornl_green
warning:
title: Warning
color: red

# Update custom style assets
assets:
stylesheets:
- /assets/css/custom.css
4 changes: 4 additions & 0 deletions _sass/color_schemes/ornl_green.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
$ornl-green: #007833;
$link-color: $ornl-green;
$btn-primary-color: $ornl-green;
$sidebar-color: #ffffff;
4 changes: 4 additions & 0 deletions _sass/custom/setup.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
$ornl-green-000: #008542;
$ornl-green-100: #008542;
$ornl-green-200: #008542;
$ornl-green-300: #008542;
44 changes: 44 additions & 0 deletions cli.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
---
title: Command Line Interfaces (CLIs)
layout: default
nav_order: 5
---

# Command Line Interfaces (CLIs)
{: .no_toc }

## Table of Contents
{: .no_toc .text-delta }

1. TOC
{:toc}

## Peregrine CLI

A command line interface for interacting with the [ORNL-developed Peregrine software](https://www.ornl.gov/technology/90000077)
enables Myna to receive commands to construct and execute simulation pipelines for
a particular set of build, parts, and layers with minimal user input. The CLI is called
via `myna launch_peregrine ...`. Instructions for how to setup and use the Myna tools in
Peregrine are provided in the Peregrine user manual. The documentation here describes
the general functionality of the CLI and how to develop additional functionality.

The main parameter that is used to construct the input file for the specified pipeline
is the `--mode <str>` argument passed to the CLI. This tells Myna which template input
file to use, evaluated as `f"cli/peregrine_launcher/input_{mode}.yaml"`. These templates
have to define the simulation steps to take, though many of the details of each step
are defined by the `peregrine_default_workspace.yaml` file. Additional modes can be
added, but they will only be accessible in Peregrine if corresponding changes are made
within Peregrine.

While this CLI was developed with the intention to interact with Peregrine, it can
generally be used to run cases for specific builds, parts, and layers within a database.
The following examples will run a case using the resources provided with the `myna`
repository.

```bash
# set to the directory where Myna repository was cloned/downloaded
MYNA_PATH="."

# Launch the melt pool geometry simulation
myna launch_peregrine --build "$MYNA_PATH/resources" --parts [P5] --layers [50,51,52] --workspace "$MYNA_PATH/cli/peregrine_launcher/peregrine_default_workspace.yaml" --mode "meltpool_geometry"
```
Loading

0 comments on commit 704bfd4

Please sign in to comment.