From 5a35ab87d0612b23ea20195d8da9c95059a38ee8 Mon Sep 17 00:00:00 2001 From: Fredrik Bakke Date: Thu, 30 May 2024 19:11:18 +0200 Subject: [PATCH] add GitHub pages action --- .github/workflows/gh-pages.yml | 99 ++++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 .github/workflows/gh-pages.yml diff --git a/.github/workflows/gh-pages.yml b/.github/workflows/gh-pages.yml new file mode 100644 index 0000000..fe7bfee --- /dev/null +++ b/.github/workflows/gh-pages.yml @@ -0,0 +1,99 @@ +name: Deploy to GitHub pages + +on: + push: + paths-ignore: + - "LICENSE" + - "README.md" + branches: + - main + +# Allow one concurrent deployment +concurrency: + group: "pages" + cancel-in-progress: true + +# Default to bash +defaults: + run: + shell: bash + +# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write + +jobs: + # Build job + build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + ref: main + submodules: recursive + - name: Setup TeX Live + uses: teatimeguest/setup-texlive-action@v3 + with: + packages: scheme-full + - name: Check `latex` + run: | + echo $GITHUB_PATH + tlmgr --version + which latex + - name: Setup Pages + id: pages + uses: actions/configure-pages@v5 + - name: Set-up OCaml 5.1 + uses: ocaml/setup-ocaml@v2 + with: + ocaml-compiler: "5.1" + - name: Install forester + run: | + sudo apt-get install libev-dev dvisvgm + opam install forester --yes + - name: Install Python + uses: actions/setup-python@v5 + with: + python-version: "3.11" + - name: Install Homebrew + run: | + bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" + eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)" + echo "$(brew --prefix)/bin" >> $GITHUB_PATH + - name: Install saxon + run: | + brew install saxon + - name: Build with forester + run: | + eval $(opam env) + forester --version + bash ./build.sh + - name: Fix permissions + run: | + chmod -c -R +rX "./output/" | while read line; do + echo "::warning title=Invalid file permissions automatically fixed::$line" + done + - name: Upload Pages artifact + uses: actions/upload-pages-artifact@v3 + with: + path: ./output + + # Deploy job + deploy: + # Add a dependency to the build job + needs: build + + # Deploy to the github-pages environment + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + + # Specify runner + deployment step + runs-on: ubuntu-latest + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4