Skip to content

Commit 9534028

Browse files
CHG: Initial merge from development fork
1 parent 388e69e commit 9534028

File tree

293 files changed

+55519
-135
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

293 files changed

+55519
-135
lines changed

.github/workflows/pages.yml

Lines changed: 65 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,49 @@
33
# separate terms of service, privacy policy, and support
44
# documentation.
55

6-
# Sample workflow for building and deploying a Jekyll site to GitHub Pages
7-
name: Deploy Jekyll site to Pages
6+
# NOTE:
7+
# - Search https://ctan.org/ for package names of missing TeX Live packages as
8+
# needed
9+
#
10+
# TODO:
11+
# - Pull userguide.pdf from its workflow or otherwise incorporate it into this
12+
# workflow so that is available via direct download link (rather than blob in
13+
# source code repo)
14+
# - Then update link in docs/index.md
15+
# - Add test job to check for expected output given certain input on change to
16+
# latex2md.py?
17+
#
18+
name: Convert LaTeX Documentation to Markdown and Deploy to GitHub Pages
819

920
on:
1021
push:
1122
branches: ["main"]
23+
paths:
24+
- ".github/workflows/pages.yml"
25+
- "docs/assets/**"
26+
- "docs/getting-started/**"
27+
- "docs/installation/**"
28+
- "docs/publications/bibtex/references.bib"
29+
- "docs/publications/index.md"
30+
- "docs/supplements/**"
31+
- "docs/troubleshooting/**"
32+
- "docs/using-issm/**"
33+
- "docs/Gemfile"
34+
- "docs/Gemfile.lock"
35+
- "docs/index.md"
36+
37+
# Run if 'Publications' page has been updated
38+
workflow_run:
39+
workflows: ["Update Publications Page"]
40+
types:
41+
- completed
1242

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

46+
env:
47+
BIBINPUTS: "./publications/bibtex/"
48+
1649
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
1750
permissions:
1851
contents: read
@@ -28,15 +61,43 @@ jobs:
2861
# Build job
2962
build:
3063
runs-on: ubuntu-latest
64+
defaults:
65+
run:
66+
working-directory: docs
3167
steps:
3268
- name: Checkout
3369
uses: actions/checkout@v4
70+
- name: Install TeX Live
71+
uses: teatimeguest/setup-texlive-action@v3
72+
with:
73+
packages: |
74+
scheme-basic
75+
- name: Install dependencies for opendetex
76+
uses: awalsh128/cache-apt-pkgs-action@latest
77+
with:
78+
packages: libfl-dev
79+
version: 1.0
80+
- name: Checkout opendetex source from repo
81+
uses: actions/checkout@v4
82+
with:
83+
repository: pkubowicz/opendetex
84+
path: '${{ github.workspace }}/ext/opendetex'
85+
- name: Compile and install opendetex
86+
run: |
87+
cd ${{ github.workspace }}/ext/opendetex
88+
make
89+
sudo make install
90+
- name: Convert LaTeX to Markdown
91+
run: |
92+
export BIBINPUTS=${{ env.BIBINPUTS }}
93+
../bin/latex2jtd.sh ./
3494
- name: Setup Ruby
3595
uses: ruby/setup-ruby@v1
3696
with:
3797
ruby-version: '3.3' # Not needed with a .ruby-version file
3898
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
3999
cache-version: 0 # Increment this number if you need to re-download cached gems
100+
working-directory: '${{ github.workspace }}/docs'
40101
- name: Setup Pages
41102
id: pages
42103
uses: actions/configure-pages@v5
@@ -48,6 +109,8 @@ jobs:
48109
- name: Upload artifact
49110
# Automatically uploads an artifact from the './_site' directory by default
50111
uses: actions/upload-pages-artifact@v3
112+
with:
113+
path: "docs/_site/"
51114

52115
# Deployment job
53116
deploy:

.github/workflows/pdf.yml

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
# This workflow uses actions that are not certified by GitHub.
2+
# They are provided by a third-party and are governed by
3+
# separate terms of service, privacy policy, and support
4+
# documentation.
5+
6+
# NOTE:
7+
# - Search https://ctan.org/ for package names of missing TeX Live packages as
8+
# needed
9+
#
10+
name: Generate User Guide
11+
12+
on:
13+
push:
14+
branches: ["main"]
15+
paths:
16+
- ".github/workflows/pdf.yml"
17+
- "docs/**"
18+
- "userguide/**"
19+
20+
# Allows you to run this workflow manually from the Actions tab
21+
workflow_dispatch:
22+
23+
env:
24+
BIBINPUTS: "../publications/bibtex/"
25+
TARGET: "userguide"
26+
27+
jobs:
28+
complete:
29+
runs-on: ubuntu-latest
30+
defaults:
31+
run:
32+
working-directory: userguide
33+
steps:
34+
- name: Checkout
35+
uses: actions/checkout@v4
36+
- name: Install TeX Live
37+
uses: teatimeguest/setup-texlive-action@v3
38+
with:
39+
packages: |
40+
scheme-basic
41+
aguplus
42+
amsfonts
43+
amsmath
44+
bibtex
45+
collection-fontsrecommended
46+
enumitem
47+
fancyhdr
48+
fancyvrb
49+
float
50+
fontawesome
51+
geometry
52+
graphics
53+
hyperref
54+
jknapltx
55+
listings
56+
multirow
57+
natbib
58+
pdfcol
59+
tcolorbox
60+
tools
61+
upquote
62+
xcolor
63+
- name: Generate User Guide
64+
run: |
65+
export BIBINPUTS=${{ env.BIBINPUTS }}
66+
export TARGET=${{ env.TARGET }}
67+
./userguide.sh
68+
- name: Deploy to ISSM Repository
69+
uses: lubu12/copy-files-to-repository@v1
70+
env:
71+
API_TOKEN_GITHUB: ${{ secrets.API_TOKEN_GITHUB }}
72+
with:
73+
source-files: ${{ env.TARGET }}/${{ env.TARGET }}.pdf
74+
destination-username: 'TidbitSoftware'
75+
destination-repository: 'ISSM'
76+
destination-directory: ''
77+
destination-branch: 'main'
78+
commit-email: '[email protected]'
79+
commit-message: 'CHG: Updated user guide'

.github/workflows/publications.yml

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# This workflow uses actions that are not certified by GitHub.
2+
# They are provided by a third-party and are governed by
3+
# separate terms of service, privacy policy, and support
4+
# documentation.
5+
6+
# TODO:
7+
# - Add build step to remove duplicate DOI's
8+
#
9+
name: Update Publications Page
10+
11+
on:
12+
push:
13+
branches: ["main"]
14+
paths:
15+
- ".github/workflows/publications.yml"
16+
- "docs/publications/bin/**"
17+
- "docs/publications/doi/**"
18+
19+
# Allows you to run this workflow manually from the Actions tab
20+
workflow_dispatch:
21+
22+
# Sets permissions of the GITHUB_TOKEN to write back to repo
23+
permissions:
24+
contents: write
25+
26+
env:
27+
TARGET: "./index.md"
28+
29+
jobs:
30+
complete:
31+
runs-on: ubuntu-latest
32+
defaults:
33+
run:
34+
working-directory: docs/publications
35+
steps:
36+
- name: Checkout
37+
uses: actions/checkout@v4
38+
- name: Generate Publications Page
39+
run: |
40+
./bin/generate_publications_page.sh > ${{ env.TARGET }}
41+
- name: Commit and Push Updated Publications Page
42+
run: |
43+
git config --global user.name "${{ github.actor }}"
44+
git config --global user.email "${{ github.actor }}@users.noreply.github.com"
45+
git add ${{ env.TARGET }}
46+
git commit -m 'CHG: Updated Publications page'
47+
git push

.gitignore

Lines changed: 25 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,25 @@
1-
# Not sure what a .gitignore is?
2-
# See: https://git-scm.com/docs/gitignore
3-
4-
# These are directly copied from Jekyll's first-party docs on `.gitignore` files:
5-
# https://jekyllrb.com/tutorials/using-jekyll-with-bundler/#commit-to-source-control
6-
7-
# Ignore the default location of the built site, and caches and metadata generated by Jekyll
8-
_site/
9-
.sass-cache/
10-
.jekyll-cache/
11-
.jekyll-metadata
12-
13-
# Ignore folders generated by Bundler
14-
.bundle/
15-
vendor/
1+
docs/.ruby-version
2+
docs/Gemfile.lock
3+
docs/getting-started/*.md
4+
docs/getting-started/plotting/*.md
5+
docs/installation/*.md
6+
docs/installation/hpc/*.md
7+
docs/supplements/*.md
8+
docs/troubleshooting/*.md
9+
docs/using-issm/*.md
10+
docs/using-issm/advanced/*.md
11+
docs/using-issm/capabilities/*.md
12+
docs/using-issm/capabilities/hydrology/*.md
13+
docs/using-issm/parameterization/*.md
14+
docs/using-issm/tutorials/*.md
15+
userguide/_minted-userguide
16+
userguide/userguide.atfi
17+
userguide/userguide.aux
18+
userguide/userguide.bbl
19+
userguide/userguide.blg
20+
userguide/userguide.log
21+
userguide/userguide.out
22+
userguide/userguide.pdf
23+
userguide/userguide.pyg
24+
userguide/userguide.toc
25+
userguide/.log

Gemfile.lock

Lines changed: 0 additions & 97 deletions
This file was deleted.

0 commit comments

Comments
 (0)