Merge pull request #16 from lightpanda-io/dispatch-event-remove-listener #51
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: "Linux Build" | |
on: [push] | |
jobs: | |
linux: | |
name: '${{ matrix.os }}: ${{ matrix.compiler.vendor }}' | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: | |
- ubuntu-22.04 | |
- ubuntu-20.04 | |
compiler: | |
# The NetSurf build system can't find LLVM AR (it looks for it | |
# in /usr/lib instead of /usr/bin: | |
# `make: /usr/lib/llvm-ar: No such file or directory`). | |
# So we need to make it explicit for llvm. | |
- { vendor: gnu, CC: gcc, AR: ar } | |
- { vendor: llvm, CC: clang, AR: llvm-ar } | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 1 | |
- name: apt-get install packages | |
run: sudo apt-get update -qq && | |
sudo apt-get install --no-install-recommends -y | |
bison | |
build-essential | |
check | |
clang | |
flex | |
git | |
gperf | |
llvm | |
pkg-config | |
libxml-perl | |
libxml-sax-perl | |
libxml-sax-base-perl | |
libxml-sax-expat-perl | |
libxml-parser-perl | |
libxml-libxml-perl | |
libxml-xpath-perl | |
libswitch-perl | |
- name: Get env.sh | |
run: | | |
mkdir projects | |
wget -O projects/env.sh https://git.netsurf-browser.org/netsurf.git/plain/docs/env.sh | |
- name: Build and install project deps | |
env: | |
CC: ${{ matrix.compiler.CC }} | |
AR: ${{ matrix.compiler.AR }} | |
TARGET: ${{ github.event.repository.name }} | |
run: | | |
export TARGET_WORKSPACE="$(pwd)/projects" | |
source projects/env.sh | |
ns-clone -d -s | |
ns-make-libs install | |
- name: Build Library | |
env: | |
CC: ${{ matrix.compiler.CC }} | |
AR: ${{ matrix.compiler.AR }} | |
TARGET: ${{ github.event.repository.name }} | |
run: | | |
export TARGET_WORKSPACE="$(pwd)/projects" | |
source projects/env.sh | |
make -j"$(nproc)" | |
- name: Unit Tests | |
# Planet saving measure: | |
# The tests take ages to convert from XML and we don't gain much by | |
# running them on every combination in the matrix. | |
# Another option might be to have the transformed C tests checked in. | |
if: ${{ matrix.compiler.vendor == 'gnu' && matrix.os == 'ubuntu-22.04' }} | |
env: | |
CC: ${{ matrix.compiler.CC }} | |
AR: ${{ matrix.compiler.AR }} | |
TARGET: ${{ github.event.repository.name }} | |
run: | | |
export TARGET_WORKSPACE="$(pwd)/projects" | |
source projects/env.sh | |
make test |