diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 2d585eba..c2c1baf2 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -24,3 +24,32 @@ jobs: ./configure make database/database.h make -j$(nproc) + - name: Build Tcl auto-load modules + # These per-module Tcl shared libraries are real products but are not + # part of the default target (their modules are not in PROGRAMS), so + # build them explicitly to keep them from bit-rotting. + run: | + for m in lef plot router ext2spice ext2sim; do + make -C "$m" tcl-main + done + + standard_build_linux: + # Non-Tcl "standard" configuration: native magic binary + bundled GNU + # readline. Distinct code paths (MAGIC_WRAPPER off, bundled readline) that + # the Tcl build above does not exercise. + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v5 + - name: Get Dependencies + # X11 + cairo for graphics; ncurses for the bundled readline's configure; + # texlive for the docs. NB: package set not validated on the runner -- + # adjust if the build cannot find a library. + run: | + sudo apt-get update + sudo apt-get install -y libx11-dev libcairo-dev libncurses-dev \ + texlive-latex-base texlive-latex-recommended texlive-fonts-recommended + - name: Build (non-Tcl / standard) + run: | + ./configure --without-tcl --without-opengl + make database/database.h + make -j$(nproc)