diff --git a/.ci/compilation.sh b/.ci/compilation.sh index 5621d2d2..8276260f 100755 --- a/.ci/compilation.sh +++ b/.ci/compilation.sh @@ -11,6 +11,8 @@ ${EMACS} -Q --batch \ --eval ' (progn (setq debug-on-error t + eval-expression-print-length 100 + edebug-print-length 500 user-emacs-directory "'"${EMACS_DIR}"'") (load-file "'"${EMACS_DIR}"'/init.el"))' \ -f batch-byte-compile "${EMACS_DIR}"/{modules,extensions}/*.el diff --git a/.ci/first-start.sh b/.ci/first-start.sh index b3d2f3c8..9899e77c 100755 --- a/.ci/first-start.sh +++ b/.ci/first-start.sh @@ -13,6 +13,8 @@ ${EMACS} -Q --batch \ --eval ' (progn (setq debug-on-error t + eval-expression-print-length 100 + edebug-print-length 500 user-emacs-directory "'"${EMACS_DIR}"'") (defun ask-user-about-lock (file opponent) (sleep-for 5) diff --git a/.ci/unit-test-cl.sh b/.ci/unit-test-cl.sh index e1a3136b..b2684584 100755 --- a/.ci/unit-test-cl.sh +++ b/.ci/unit-test-cl.sh @@ -8,8 +8,17 @@ EMACS=${EMACS:=emacs} ${EMACS} -Q --batch \ --eval ' (progn - (setq user-emacs-directory "'"${EMACS_DIR}"'") - (load-file "'"${EMACS_DIR}"'/init.el") - (setq debug-on-error t) - (load-file "'"${EMACS_DIR}"'/modules/init-util-cl.t.el") - (ert-run-tests-batch-and-exit))' + (setq user-emacs-directory "'"${EMACS_DIR}"'") + (load-file "'"${EMACS_DIR}"'/init.el") + (setq debug-on-error t) + (load-file "'"${EMACS_DIR}"'/modules/init-util-cl.t.el") + (let ((print-level 50) + (eval-expression-print-level 50) + (eval-expression-print-length 1000) + (edebug-print-level 50) + (edebug-print-length 1000) + (ert-batch-print-level 50) + (ert-batch-print-length 1000) + (ert-batch-backtrace-line-length 1000) + (ert-batch-backtrace-right-margin 1000)) + (ert-run-tests-batch-and-exit)))' diff --git a/.ci/unit-tests.sh b/.ci/unit-tests.sh index dacd1cc5..e48f1fc4 100755 --- a/.ci/unit-tests.sh +++ b/.ci/unit-tests.sh @@ -16,4 +16,13 @@ ${EMACS} -Q --batch \ (load-file "'"${EMACS_DIR}"'/modules/init-forge.t.el") (load-file "'"${EMACS_DIR}"'/modules/init-util.t.el") (load-file "'"${EMACS_DIR}"'/modules/init-lib.t.el") - (ert-run-tests-batch-and-exit))' + (let ((print-level 50) + (eval-expression-print-level 50) + (eval-expression-print-length 1000) + (edebug-print-level 50) + (edebug-print-length 1000) + (ert-batch-print-level 50) + (ert-batch-print-length 1000) + (ert-batch-backtrace-line-length 1000) + (ert-batch-backtrace-right-margin 1000)) + (ert-run-tests-batch-and-exit)))' diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 2da100d2..bc450520 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -22,25 +22,31 @@ jobs: - ubuntu-latest - macos-latest emacs_version: - - 27.1 - - 27.2 - 28.1 - 28.2 - 29.1 + - 29.2 + - 29.3 + - 29.4 - snapshot steps: - uses: purcell/setup-emacs@master with: version: ${{ matrix.emacs_version }} - - uses: actions/checkout@v3 + + - uses: actions/checkout@v4 with: path: '.emacs.d' + - name: First start # So most modules are pulled in from melpa and gnu run: '.emacs.d/.ci/first-start.sh .emacs.d' + # - name: Compilation # This pulls extra modules not enabled by default # run: '.emacs.d/.ci/compilation.sh .emacs.d' + - name: Unit tests run: '.emacs.d/.ci/unit-tests.sh .emacs.d' + - name: Verify no obsolete cl- functions run: '.emacs.d/.ci/unit-test-cl.sh .emacs.d' @@ -51,22 +57,21 @@ jobs: strategy: matrix: include: - - os: ubuntu-latest - emacs_version: 27.2 - - os: macos-latest - emacs_version: 29.1 - os: macos-latest emacs_version: snapshot steps: - uses: purcell/setup-emacs@master with: version: ${{ matrix.emacs_version }} - - uses: actions/checkout@v3 + + - uses: actions/checkout@v4 with: path: '.emacs.d' - - uses: actions/checkout@v3 + + - uses: actions/checkout@v4 with: repository: 'pkryger/exordium-commontap' path: '.emacs.d/taps/commontap' + - name: First start # So most modules are pulled in from melpa and gnu run: '.emacs.d/.ci/first-start.sh .emacs.d' diff --git a/modules/init-forge.el b/modules/init-forge.el index 1b04f0f3..265799af 100644 --- a/modules/init-forge.el +++ b/modules/init-forge.el @@ -14,7 +14,12 @@ ;; https://github.com/magit/emacsql/commit/6401226 for more details. (unless (and (fboundp 'sqlite-available-p) (sqlite-available-p)) - (use-package sqlite3)) + (let ((debug-on-error (if (and debug-on-error (getenv "ci_tests")) + (progn + (message "Temporarily disable `debug-on-error': `sqlite3-api' cannot be loaded when running in CI") + nil) + debug-on-error))) + (use-package sqlite3))) ;;; Magit Forge (use-package forge