name: Build and extensively test ABCL on: [push, pull_request] jobs: test: runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-latest, macos-latest] jdk: [openjdk8, openjdk11, openjdk17, openjdk21, openjdk22] steps: - name: Set path for build scripts run: echo "ABCL_ROOT=${GITHUB_WORKSPACE}" >> $GITHUB_ENV - name: Set JDK version in environment run: echo "JDK_VERSION=${{ matrix.jdk }}" >> $GITHUB_ENV - name: Clone ABCL uses: actions/checkout@v4 - name: Install jenv run: | . ./ci/install-jenv.bash echo ~/.jenv/bin >> $GITHUB_PATH - name: Install OpenJDK run: . ./ci/install-openjdk.bash ${JDK_VERSION} - name: Install Ant run: | bash -x ./ci/install-ant.bash echo ~/.local/share/java/apache-ant/bin >> $GITHUB_PATH - name: Ensure we are using the correct JDK run: . ./ci/ensure-jenv-is-present.bash && ant abcl.diagnostic - name: Set abcl.properties for build run: . ./ci/create-abcl-properties.bash ${JDK_VERSION} - name: Build ABCL run: . ./ci/ensure-jenv-is-present.bash && ant abcl - name: Configure ASDF to find abcl run: . ./ci/asdf-finds-abcl.bash - name: Install Jeannie for testing run: . ./ci/install-jeannie.bash - name: Install NONTRIVIAL-GRAY-STREAMS for testing run: . ./ci/install-nontrivial-gray-streams.bash - name: Install the ANSI-TEST suite run: . ./ci/install-ansi-test.bash - name: Install Quicklisp run: | ./abcl \ --eval '(require :asdf)' \ --eval '(require :abcl-contrib)' \ --eval '(asdf:load-system :quicklisp-abcl :force t)' \ --eval '(progn (setf ql-util::*do-not-prompt* t)(ql:add-to-init-file))' \ --eval '(ext:quit)' - name: Test ABCL-PROVE run: ./abcl --batch --load ./ci/test-abcl-prove.lisp - name: Test ABCL run: ./abcl --batch --load ./ci/test-abcl.lisp - name: Test ABCL-CONTRIB run: ./abcl --batch --load ./ci/test-abcl-contrib.lisp --load ./ci/test-abcl-introspect.lisp - name: Test Jeannie run: ./abcl --batch --load ./ci/ensure-maven.lisp --load ./ci/test-jeannie.lisp - name: Test NONTRIVIAL-GRAY-STREAMS run: ./abcl --batch --load ./ci/ensure-maven.lisp --load ./ci/test-nontrivial-gray-streams.lisp - name: Test CFFI run: ./abcl --batch --load ./ci/ensure-maven.lisp --load ./ci/test-cffi.lisp - name: Test STATIC-VECTORS run: ./abcl --batch --load ./ci/ensure-maven.lisp --load ./ci/test-static-vectors.lisp - name: Test CL+SSL run: ./abcl --batch --load ./ci/ensure-maven.lisp --load ./ci/test-cl+ssl.lisp - name: Test IRONCLAD run: ./abcl --batch --load ./ci/test-ironclad.lisp - name: Run ANSI-TEST suite run: ./abcl --batch --load ./ci/test-ansi.lisp