name: CI on: pull_request: push: branches: master jobs: ubuntu-latest-html-tests: runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 with: fetch-depth: 1 - name: Install dependencies run: sudo apt install -y libfltk1.3-dev libssl-dev libpng-dev libjpeg-dev libwebp-dev xvfb x11-apps x11-utils imagemagick - name: autogen run: ./autogen.sh - name: Make install dir run: mkdir install build - name: configure run: cd build && ../configure --prefix=$(readlink -f ../install) --enable-html-tests - name: make run: cd build && make - name: make install run: cd build && make install - name: Copy config to .dillo run: | mkdir -p ~/.dillo/ cp install/etc/dillo/* ~/.dillo/ - name: make check run: | export DILLOBIN=$(readlink -f install/bin/dillo) cd build && make check || (cat test/html/test-suite.log; false) export DILLOBIN= - name: Check release fits in a floppy disk of 1.44 MB run: | cd build make dist-gzip size=$(stat -c %s dillo-*.tar.gz) floppy=$((1474560 - 32*1024)) # Leave room for FAT table echo "Floppy occupation: $(($size * 100 / $floppy)) %" if [ $size -lt $floppy ]; then echo 'OK: Fits in floopy disk' else echo "FAIL: Release size too big: $size / $floppy" exit 1 fi - name: make distcheck (with HTML tests) run: | export DILLOBIN= mkdir build-distcheck install-distcheck cd build-distcheck && ../configure --prefix=$(readlink -f ../install-distcheck) --enable-html-tests make distcheck DISTCHECK_CONFIGURE_FLAGS=--enable-html-tests # - name: Remove pipes # run: find test/html -type p -delete || true # - name: Archive production artifacts # uses: actions/upload-artifact@v3 # with: # name: upload-html-test-results # path: | # build/test/html ubuntu-latest-no-tls: needs: ubuntu-latest-html-tests runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 with: fetch-depth: 1 - name: Install dependencies run: sudo apt install -y libfltk1.3-dev - name: autogen run: ./autogen.sh - name: configure run: ./configure --disable-tls - name: make run: make - name: make check run: make check - name: make distcheck run: make distcheck ubuntu-latest-mbedtls2: needs: ubuntu-latest-html-tests runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 with: fetch-depth: 1 - name: Install dependencies run: sudo apt install -y libfltk1.3-dev libmbedtls-dev - name: autogen run: ./autogen.sh - name: configure run: ./configure --disable-openssl - name: make run: make - name: make check run: make check - name: make distcheck run: make distcheck ubuntu-latest-openssl-3: needs: ubuntu-latest-html-tests runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 with: fetch-depth: 1 - name: Install dependencies run: sudo apt install -y libfltk1.3-dev libssl-dev - name: autogen run: ./autogen.sh - name: configure run: ./configure --disable-mbedtls - name: make run: make - name: make check run: make check - name: make distcheck run: make distcheck ubuntu-latest-with-old-std: needs: ubuntu-latest-html-tests runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 with: fetch-depth: 1 - name: Install dependencies run: sudo apt install -y libfltk1.3-dev libssl-dev - name: autogen run: ./autogen.sh - name: configure run: ./configure --disable-mbedtls CFLAGS="-Werror" CXXFLAGS="-Werror" - name: make run: make - name: make check run: make check ubuntu-20-04-openssl-1-1: needs: ubuntu-latest-html-tests runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v1 with: fetch-depth: 1 - name: Install dependencies run: sudo apt install -y libfltk1.3-dev libssl-dev - name: autogen run: ./autogen.sh - name: configure run: ./configure --disable-mbedtls - name: make run: make - name: make check run: make check - name: make distcheck run: make distcheck alpine-mbedtls-3_6_0: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: jirutka/setup-alpine@v1 with: packages: > build-base autoconf automake fltk-dev libpng-dev libjpeg-turbo-dev libwebp-dev mbedtls-dev - run: | ./autogen.sh ./configure make make check shell: alpine.sh {0} macOS-13-openssl-1-1: needs: ubuntu-latest-html-tests runs-on: macos-13 steps: - uses: actions/checkout@v1 with: fetch-depth: 1 - name: Install dependencies run: brew install autoconf automake fltk@1.3 - name: autogen run: ./autogen.sh - name: configure run: | export PATH="/usr/local/opt/fltk@1.3/bin:$PATH" ./configure --disable-mbedtls - name: make run: make - name: make check run: make check - name: make distcheck run: | export PATH="/usr/local/opt/fltk@1.3/bin:$PATH" make distcheck macOS-13-openssl-3: needs: ubuntu-latest-html-tests runs-on: macos-13 steps: - uses: actions/checkout@v1 with: fetch-depth: 1 - name: Remove old OpenSSL 1.1 run: brew uninstall openssl@1.1 - name: Install dependencies run: brew install autoconf automake fltk@1.3 openssl@3 - name: autogen run: ./autogen.sh - name: configure run: | export PATH="/usr/local/opt/fltk@1.3/bin:$PATH" ./configure --disable-mbedtls - name: make run: make - name: make check run: make check - name: make distcheck run: | export PATH="/usr/local/opt/fltk@1.3/bin:$PATH" make distcheck freebsd-14-openssl-3: needs: ubuntu-latest-html-tests runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: FreeBSD VM build id: test uses: vmactions/freebsd-vm@v1 with: release: "14.0" usesh: true prepare: | set -x pkg install -y automake fltk run: | set -x pwd freebsd-version ./autogen.sh ./configure CPPFLAGS='-I/usr/local/include' LDFLAGS='-L/usr/local/lib' cat config.log make make check ldd src/dillo windows-mbedtls: needs: ubuntu-latest-html-tests runs-on: windows-latest steps: - run: git config --global core.autocrlf input - uses: actions/checkout@v4 with: fetch-depth: 1 - uses: cygwin/cygwin-install-action@master with: packages: gcc-core gcc-g++ autoconf automake make zlib-devel mbedtls-devel libfltk-devel libiconv-devel libpng-devel libjpeg-devel libwebp-devel libgif-devel - shell: C:\cygwin\bin\bash.exe --login --norc -eo pipefail -o igncr '{0}' run: | set -x cd ${GITHUB_WORKSPACE} pwd ls -l ./autogen.sh ./configure make make check ls -l src/dillo