From de89b5d09d0150771de7ed7f52d7b92dbaea7ad7 Mon Sep 17 00:00:00 2001 From: Bart Jacobs Date: Mon, 6 Jan 2025 14:18:19 +0100 Subject: [PATCH 1/4] Script for building in CI --- .gitignore | 1 + ci.sh | 16 ++++++++++++++++ make-pdf.sh | 2 +- 3 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 ci.sh diff --git a/.gitignore b/.gitignore index e2b2d5f..9d044c8 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ course-notes.pdf incrementAges.png linked_list_sum_recursive.png language.md +search_tree.png \ No newline at end of file diff --git a/ci.sh b/ci.sh new file mode 100644 index 0000000..d89d33c --- /dev/null +++ b/ci.sh @@ -0,0 +1,16 @@ +pushd .. + +git clone https://github.com/btj/jlearner +export JLEARNERPATH=`pwd`/jlearner + +curl --remote-name https://www.tug.org/fonts/getnonfreefonts/install-getnonfreefonts +texlua install-getnonfreefonts +export PATH=/usr/local/texlive/2024/bin/x86_64-linux:$PATH +getnonfreefonts --sys luximono + +apt-get update +apt-get install -y pandoc + +popd + +. ./make-pdf.sh diff --git a/make-pdf.sh b/make-pdf.sh index 41e8eb9..371475a 100755 --- a/make-pdf.sh +++ b/make-pdf.sh @@ -24,7 +24,7 @@ pandoc -o course-notes.html -f gfm \ multi_object_doc_instr.md \ iterators.md \ generics.md -pandoc --wrap=none -V documentclass=book --toc --template=latex.template --listings -o course-notes.tex course-notes.html +pandoc --wrap=none -V documentclass=book -V papersize:a4 --toc --template=latex.template --listings -o course-notes.tex course-notes.html if [ `uname -s` = Darwin ]; then SED_IN_PLACE=(-i '') else From 3510c635e48c4c727f75f12a20dab660f384a507 Mon Sep 17 00:00:00 2001 From: Bart Jacobs Date: Mon, 6 Jan 2025 14:29:46 +0100 Subject: [PATCH 2/4] Create GitHub Actions build action --- .github/workflows/build.yml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..d16e6a5 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,23 @@ +name: CI + +on: + push: + pull_request: + + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-latest + container: registry.gitlab.com/islandoftex/images/texlive:TL2024-2025-01-05-medium + + steps: + - uses: actions/checkout@v4 + + - name: Run a one-line script + run: . ./ci.sh + + - uses: actions/upload-artifact@v4.5.0 + with: + path: /workdir/ogp-notes/course-notes.pdf + if-no-files-found: error From 3d43eb9efe80ca177b836798beb1e4b95e208724 Mon Sep 17 00:00:00 2001 From: Bart Jacobs Date: Mon, 6 Jan 2025 14:33:51 +0100 Subject: [PATCH 3/4] Update build.yml --- .github/workflows/build.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d16e6a5..3d90cf6 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -9,12 +9,13 @@ on: jobs: build: runs-on: ubuntu-latest - container: registry.gitlab.com/islandoftex/images/texlive:TL2024-2025-01-05-medium + container: registry.gitlab.com/islandoftex/images/texlive:TL2024-2025-01-05-medium@sha256:3c51378a5396fefbeb722c347450660e9a9b5539ffbfcf5da13df7c6a22cb0e3 steps: - uses: actions/checkout@v4 - name: Run a one-line script + shell: bash run: . ./ci.sh - uses: actions/upload-artifact@v4.5.0 From f335ff24eae4f88c5610aa5a5a6c4a06c3e914f8 Mon Sep 17 00:00:00 2001 From: Bart Jacobs Date: Mon, 6 Jan 2025 14:39:04 +0100 Subject: [PATCH 4/4] Update build.yml --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3d90cf6..ea06ba3 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -20,5 +20,5 @@ jobs: - uses: actions/upload-artifact@v4.5.0 with: - path: /workdir/ogp-notes/course-notes.pdf + path: course-notes.pdf if-no-files-found: error