Skip to content

.github/workflows/release: test. #9842

.github/workflows/release: test.

.github/workflows/release: test. #9842

Workflow file for this run

name: Tests
on:
push:
# fixme wip
branches: [ test ]
pull_request:
branches: [ master ]
types: [ opened, synchronize, closed ]
jobs:
test:
name: ${{ matrix.lisp }} on ${{ matrix.os }}
strategy:
matrix:
lisp: [sbcl-bin, ccl-bin]
renderer: [gi-gtk]
rosargs: [dynamic-space-size=3072]
os: [ubuntu-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
with:
show-progress: 'false'
submodules: 'true'
- name: Register submodules in ASDF
run: |
mkdir -p ~/.config/common-lisp/source-registry.conf.d/
echo "(:tree \"$PWD\")" > ~/.config/common-lisp/source-registry.conf.d/asdf.conf
echo "(:tree \"$PWD/_build\")" >> ~/.config/common-lisp/source-registry.conf.d/asdf.conf
# - name: Cache .roswell
# id: cache-dot-roswell
# uses: actions/cache@v1
# with:
# path: ~/.roswell
# key: ${{ runner.os }}-dot-roswell-${{ matrix.lisp }}-${{ hashFiles('**/*.asd') }}
# restore-keys: |
# ${{ runner.os }}-dot-roswell-${{ matrix.lisp }}-
# ${{ runner.os }}-dot-roswell-
- name: Install Roswell
env:
LISP: ${{ matrix.lisp }}
run: curl -L https://raw.githubusercontent.com/roswell/roswell/master/scripts/install-for-ci.sh | sh -x
- name: Install dependencies
run: |
sudo apt-get update -qq
sudo apt-get install -y libfixposix3 libfixposix-dev libwebkit2gtk-4.0-dev glib-networking gsettings-desktop-schemas xclip enchant-2
- name: Load Nyxt
run: |
ros ${{ matrix.rosargs }} -e '(handler-case (asdf:load-system :nyxt/${{matrix.renderer}}-application) (error (c) (format t "Error: ~s~%~a~%" c c) (uiop:quit 1)))'
# The renderer tests can't be run, since they rely on Xorg.
- name: Run tests
env:
NASDF_TESTS_QUIT_ON_FAIL: yes
run: |
ros ${{ matrix.rosargs }} -e '(handler-case (asdf:load-system :nyxt/tests) (error (c) (format t "Error: ~s~%~a~%" c c) (uiop:quit 1)))' \
-e '(asdf:test-system :nyxt)'
- name: Build Nyxt executable
if: ${{ matrix.lisp == 'sbcl-bin' }}
run: make all LISP=ros LISP_FLAGS="${{ matrix.rosargs }} run -- --no-userinit --non-interactive"