############################################################################### # Global configuration ############################################################################### variables: # Just let the runner fetch and update the submodules for us. GIT_SUBMODULE_STRATEGY: normal ABCL_IMAGE: clfoundation/abcl ABCL_TAG: latest CCL_IMAGE: clfoundation/ccl CCL_TAG: latest CLASP_IMAGE: clfoundation/clasp CLASP_TAG: latest CLISP_IMAGE: clfoundation/clisp CLISP_TAG: latest CMUCL_IMAGE: clfoundation/cmucl CMUCL_TAG: latest ECL_IMAGE: clfoundation/ecl ECL_TAG: latest SBCL_IMAGE: clfoundation/sbcl SBCL_TAG: latest # This causes pipelines to be created only on the default branch, tags, merge # requests, and when triggered via the web interface. workflow: rules: - if: $CI_MERGE_REQUEST_IID - if: $CI_COMMIT_TAG - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH - if: $CI_PIPELINE_SOURCE == "web" # Split regression testing into a separate stage than upgrade tests. The # upgrade tests tend to run slower and are generally less important than # regression tests for most changes. stages: - build - regression - upgrade ############################################################################### # Build jobs ############################################################################### Build ASDF: stage: build image: buildpack-deps:latest script: - make artifacts: paths: - build/asdf.lisp Build docs: stage: build image: buildpack-deps:buster script: - apt-get update - apt-get install -y --no-install-recommends texinfo texlive - make -C doc artifacts: paths: - doc/asdf.html - doc/asdf.info - doc/asdf.pdf Build asdf-tools: stage: build image: $SBCL_IMAGE:$SBCL_TAG script: - make -f Makefile-lisp-scripting build-asdf-tools artifacts: paths: - build/asdf-tools rules: - if: $ENABLE_ASDF_TOOLS ############################################################################### # Testing Templates ############################################################################### .Regression tests: stage: regression script: - make - make test artifacts: paths: - build/results/$l-test.text needs: [] .Upgrade tests: stage: upgrade script: - make - make test-upgrade artifacts: paths: - build/results/$l-upgrade.text needs: [] allow_failure: true rules: - if: $RUN_UPGRADE_TESTS .Scripting regression tests: extends: .Regression tests before_script: - ln -s Makefile-lisp-scripting GNUmakefile needs: - Build asdf-tools rules: - if: $ENABLE_ASDF_TOOLS .Scripting upgrade tests: extends: .Upgrade tests before_script: - ln -s Makefile-lisp-scripting GNUmakefile needs: - Build asdf-tools rules: - if: $ENABLE_ASDF_TOOLS && $RUN_UPGRADE_TESTS ############################################################################### # Actual test jobs - Makefile based harness ############################################################################### ABCL regression tests: extends: .Regression tests image: $ABCL_IMAGE:$ABCL_TAG variables: l: abcl allow_failure: true # ABCL 1.8.0 has some issues that cause ASDF tests to fail. Remove this job # when the above job starts to pass again. ABCL 1.7.1 regression tests: extends: .Regression tests image: $ABCL_IMAGE:1.7.1-jdk8 variables: l: abcl ABCL upgrade tests: extends: .Upgrade tests image: $ABCL_IMAGE:$ABCL_TAG variables: l: abcl CCL regression tests: extends: .Regression tests image: $CCL_IMAGE:$CCL_TAG variables: l: ccl CCL upgrade tests: extends: .Upgrade tests image: $CCL_IMAGE:$CCL_TAG variables: l: ccl Clasp regression tests: extends: .Regression tests image: $CLASP_IMAGE:$CLASP_TAG variables: l: clasp Clasp upgrade tests: extends: .Upgrade tests image: $CLASP_IMAGE:$CLASP_TAG variables: l: clasp CLISP regression tests: extends: .Regression tests image: $CLISP_IMAGE:$CLISP_TAG variables: l: clisp CLISP upgrade tests: extends: .Upgrade tests image: $CLISP_IMAGE:$CLISP_TAG variables: l: clisp CMUCL regression tests: extends: .Regression tests image: $CMUCL_IMAGE:$CMUCL_TAG variables: l: cmucl CMUCL upgrade tests: extends: .Upgrade tests image: $CMUCL_IMAGE:$CMUCL_TAG variables: l: cmucl ECL regression tests: extends: .Regression tests image: $ECL_IMAGE:$ECL_TAG variables: l: ecl ECL upgrade tests: extends: .Upgrade tests image: $ECL_IMAGE:$ECL_TAG variables: l: ecl SBCL regression tests: extends: .Regression tests image: $SBCL_IMAGE:$SBCL_TAG variables: l: sbcl SBCL upgrade tests: extends: .Upgrade tests image: $SBCL_IMAGE:$SBCL_TAG variables: l: sbcl ############################################################################### # Actual test jobs - lisp scripting based harness ############################################################################### ABCL scripting regression tests: extends: .Scripting regression tests image: $ABCL_IMAGE:$ABCL_TAG variables: l: abcl ABCL scripting upgrade tests: extends: .Scripting upgrade tests image: $ABCL_IMAGE:$ABCL_TAG variables: l: abcl CCL scripting regression tests: extends: .Scripting regression tests image: $CCL_IMAGE:$CCL_TAG variables: l: ccl CCL scripting upgrade tests: extends: .Scripting upgrade tests image: $CCL_IMAGE:$CCL_TAG variables: l: ccl Clasp scripting regression tests: extends: .Scripting regression tests image: $CLASP_IMAGE:$CLASP_TAG variables: l: clasp Clasp scripting upgrade tests: extends: .Scripting upgrade tests image: $CLASP_IMAGE:$CLASP_TAG variables: l: clasp CLISP scripting regression tests: extends: .Scripting regression tests image: $CLISP_IMAGE:$CLISP_TAG variables: l: clisp CLISP scripting upgrade tests: extends: .Scripting upgrade tests image: $CLISP_IMAGE:$CLISP_TAG variables: l: clisp CMUCL scripting regression tests: extends: .Scripting regression tests image: $CMUCL_IMAGE:$CMUCL_TAG variables: l: cmucl CMUCL scripting upgrade tests: extends: .Scripting upgrade tests image: $CMUCL_IMAGE:$CMUCL_TAG variables: l: cmucl ECL scripting regression tests: extends: .Scripting regression tests image: $ECL_IMAGE:$ECL_TAG variables: l: ecl ECL scripting upgrade tests: extends: .Scripting upgrade tests image: $ECL_IMAGE:$ECL_TAG variables: l: ecl SBCL scripting regression tests: extends: .Scripting regression tests image: $SBCL_IMAGE:$SBCL_TAG variables: l: sbcl SBCL scripting upgrade tests: extends: .Scripting upgrade tests image: $SBCL_IMAGE:$SBCL_TAG variables: l: sbcl