Skip to content

Commit

Permalink
restrict TeX builds in CI to only times absolutely necessary
Browse files Browse the repository at this point in the history
  • Loading branch information
balacij committed Feb 21, 2024
1 parent 9bc2840 commit 98b4988
Showing 1 changed file with 30 additions and 0 deletions.
30 changes: 30 additions & 0 deletions .github/workflows/Build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,17 +28,29 @@ jobs:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4

- name: "Update apt package list"
run: |
sudo apt-get update
- name: "Search changes for applicable tests"
uses: dorny/paths-filter@v3
id: changes
with:
filters: |
tex:
- 'code/stable/**/*.tex'
- 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:
Expand All @@ -50,45 +62,63 @@ jobs:
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]
Expand Down

0 comments on commit 98b4988

Please sign in to comment.