274 lines
7.4 KiB
YAML
274 lines
7.4 KiB
YAML
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
|
|
# Make sure we build with the C++11 standard, so we fail to build on newer
|
|
# features.
|
|
run: ./configure --disable-mbedtls CFLAGS="-Werror" CXXFLAGS="-Werror -std=c++11"
|
|
- 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
|