diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 794b5d6..2aa3a8e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -59,6 +59,34 @@ jobs: name: e-book PDF (Ubuntu) path: controls-engineering-in-frc-ebook.pdf + windows: + runs-on: windows-latest + defaults: + run: + shell: bash + timeout-minutes: 30 + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - uses: actions/setup-python@v4 + with: + python-version: '3.11' + + - name: Install system dependencies + run: ./setup_windows.sh + + - name: Generate PDF + run: | + setx path "%PATH%;C:\texlive\2024\bin\win32" + make -j1 ebook + + - uses: actions/upload-artifact@v4 + with: + name: e-book PDF (Windows) + path: controls-engineering-in-frc-ebook.pdf + macos: if: false runs-on: macos-latest diff --git a/README.md b/README.md index 1920056..4946675 100644 --- a/README.md +++ b/README.md @@ -86,6 +86,7 @@ Install the dependencies via one of the following commands: * `./setup_archlinux.sh` * `./setup_ubuntu.sh` +* `./setup_windows.sh` * `./setup_macos.sh` Run `make` to generate a PDF named controls-engineering-in-frc-ebook.pdf. diff --git a/setup_windows.sh b/setup_windows.sh new file mode 100644 index 0000000..9fd6eb1 --- /dev/null +++ b/setup_windows.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +choco install \ + imagemagick \ + inkscape +choco install texlive --params="'/collections:basic /extraPackages:biber,biblatex,cm-super,csquotes,datatool,enumitem,footmisc,glossaries,glossaries-english,imakeidx,latex,latexextra,latexrecommended,latexmk,mdframed,mfirstuc,needspace,placeins,titlesec,tracklang,type1cm,was,xetex,xfor,zref'" +setx path "%PATH%;C:\texlive\2022\bin\win32" + +# Python packages +# * black (to format Python source code) +# * pylint (for Python linting) +pip3 install --user autoflake black==24.2.0 qrcode requests wheel