Skip to content

Commit

Permalink
Merge branch 'remDeployWrapper' of github.com:JacquesCarette/Drasil
Browse files Browse the repository at this point in the history
  • Loading branch information
balacij committed Sep 18, 2023
2 parents 9c55851 + 6d05142 commit 83834b1
Show file tree
Hide file tree
Showing 676 changed files with 12,290 additions and 74,255 deletions.
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ People/** linguist-documentation
Presentations/** linguist-documentation
WindowsFix/** linguist-vendored
code/stable/** linguist-generated
code/stable-website/** linguist-generated
code/datafiles/** linguist-vendored
doc/** linguist-documentation
notes/** linguist-documentation
4 changes: 2 additions & 2 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

# Examples

code/drasil-example/dblpendulum/ @JacquesCarette @cd155
code/drasil-example/dblpend/ @JacquesCarette @cd155
code/drasil-example/glassbr/ @JacquesCarette @samm82
code/drasil-example/projectile/ @JacquesCarette @samm82 @bmaclach
code/drasil-example/template/ @JacquesCarette @samm82
Expand All @@ -16,7 +16,7 @@ code/drasil-example/template/ @JacquesCarette @samm82
# Note that @JacquesCarette and @smiths have to be added to each rule because of how CODEOWNERS files work

code/stable/ @JacquesCarette @smiths
code/stable/dblpendulum/ @JacquesCarette @smiths @cd155
code/stable/dblpend/ @JacquesCarette @smiths @cd155
code/stable/glassbr/ @JacquesCarette @smiths @samm82
code/stable/gooltest/ @JacquesCarette @smiths @bmaclach
code/stable/projectile/ @JacquesCarette @smiths @samm82 @bmaclach
Expand Down
73 changes: 72 additions & 1 deletion .github/workflows/Build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -27,4 +27,75 @@ jobs:
name: "Build & Deploy"
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: "Update apt package list"
run: |
sudo apt-get update
- name: "Install system requirements"
run: sudo apt-get install -y --fix-missing libgmp-dev python3 graphviz doxygen fonts-lmodern texlive-bibtex-extra texlive-latex-extra texlive-science texlive-xetex texlive-luatex g++ default-jdk mono-devel inkscape
- name: "Install Stack"
uses: haskell/actions/setup@v2
with:
enable-stack: true
stack-no-global: true
stack-version: 'latest'
- name: "Cache dependencies"
uses: actions/[email protected]
with:
path: |
~/.stack
~/.cabal/packages
~/.cabal/store
code/.stack-work/
code/website/.stack-work/
~/.local/bin/graphmod
key: ${{ runner.os }}-store-${{ hashFiles('code/stack.yaml') }}
- name: "Clean previous run"
run: make clean
- name: "Update PATH"
run: |
echo "$HOME/.local/bin" >> $GITHUB_PATH
echo "$HOME/.swift/usr/bin" >> $GITHUB_PATH
- name: "Install dependencies"
run: make stackArgs="--no-terminal" deps
- name: "Build"
run: make code stackArgs="--no-terminal" GHCFLAGS="-Werror"
- name: "Test built artifacts against stable"
run: make stackArgs="--no-terminal" GHCFLAGS="-Werror" NOISY=yes
- name: "Compile GOOL examples"
run: make codegenTest
- name: "Compile generated TeX artifacts"
run: make tex SUMMARIZE_TEX=yes
- name: "Compile generated software artifacts"
run: make gool
- name: "Create Doxygen for generated software artifacts"
run: make doxygen
- name: "Generate Haddock docs (as test)"
run: make docs
if: ${{ !fromJSON(env.is_deployment) }}
- name: "Generate Haddock docs (full + std)"
run: FULL=1 make docs
if: ${{ fromJSON(env.is_deployment) }}
- name: "Generate module dependency graphs"
run: make graphs
- name: "Analyze Drasil code"
run: make analysis
- name: "Convert analysis graphs into dot and circo SVGs" # only needed in deployments, not required for tests
run: make convertAnalyzed
if: ${{ fromJSON(env.is_deployment) }}
- name: "Build website generator"
run: make website
- name: "Test Built Website against Stable Version"
run: make test_website NOISY=yes
- name: "Prepare full website deployment environment"
run: make deploy_lite
- name: "Deploy 🚀"
if: ${{ fromJSON(env.is_deployment) }}
uses: JamesIves/[email protected]
with:
git-config-name: ${{ secrets.BOT_NAME }}
git-config-email: ${{ secrets.BOT_EMAIL }}
token: ${{ secrets.BOT_TOKEN }}
branch: gh-pages
folder: code/deploy
commit-message: "${{ secrets.BOT_NAME }} deploy of master@${{ github.sha }}"
4 changes: 2 additions & 2 deletions .github/workflows/Lint.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
on:
pull_request:
branches: master
paths: 'code/drasil-*'
paths: 'code/drasil-**'
name: Linter
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
Expand All @@ -15,6 +15,6 @@ jobs:
name: "HLint"
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: "HLint"
run: make hot_hlint
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ dist
.drasil-min-stack-ver
stack.yaml.lock
.hlint*
.envrc

# Drasil supported programming languages
__pycache__
Expand Down
Binary file not shown.
Binary file not shown.
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,11 +70,11 @@ swhs_diff | Solar Water Heating System with Phase Change Material
glassbr_diff | Glass-BR
hghc_diff | HGHC Toy Example
ssp_diff | Slope Stability Analysis
nopcm_diff | Minimal SWHS Example, with PCM Removed
swhsnopcm_diff | Minimal SWHS Example, with PCM Removed
projectile_diff | Projectile Motion Analysis
pdcontroller_diff | Proportional Derivative Controller
dblpendulum_diff | Double Pendulum
sglpendulum_diff | Single Pendulum
dblpend_diff | Double Pendulum
sglpend_diff | Single Pendulum

For more commands related to Drasil, use `make help` or check out the [Makefile documentation](https://github.com/JacquesCarette/Drasil/wiki/Makefile).

Expand All @@ -92,11 +92,11 @@ swhs | Solar Water Heating System with PCM (SWHS)
glassbr | Glass-BR
hghc | HGHC toy example
ssp | Slope Stability Analysis (SSP)
nopcm | SWHS without PCM (NoPCM)
swhsnopcm | SWHS without PCM (SWHSNoPCM)
projectile | Projectile motion analysis
pdcontroller | Proportional Derivative Controller
dblpendulum | Double Pendulum
sglpendulum | Single Pendulum
dblpend | Double Pendulum
sglpend | Single Pendulum

This runs the examples manually from the .stack-work folder after building, and the generated docs will
appear in this folder (i.e. in the SRS folders). Due to this placement, these generated
Expand Down
Loading

0 comments on commit 83834b1

Please sign in to comment.