Skip to content

Improve dynamic require of requires analysis #1532

Improve dynamic require of requires analysis

Improve dynamic require of requires analysis #1532

Workflow file for this run

name: CI
on:
push:
pull_request:
jobs:
ubuntu:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
emacs_version:
- '25.1' # our minimum supported version
- '26.3'
- '29.1' # most recent release
racket_version:
- '6.12' # our minimum supported version
- 'stable' # most recent release
# Also include bleeding edge snapshots of both Emacs and
# Racket. Note that "allow_failure: true" doesn't seem to
# actually work yet on GitHub Actions like it does on Travis
# CI: If this fails it will say the overall job failed. :(
# Meanwhile in the GitHub protected branch settings by making
# this one NOT a required status check -- which is some but
# not all of the behavior we miss from Travis CI.
include:
- emacs_version: 'snapshot'
racket_version: 'current'
allow_failure: true
name: Ubuntu Emacs:${{ matrix.emacs_version }} Racket:${{ matrix.racket_version }}
steps:
- name: Checkout
uses: actions/checkout@master
- name: Install Emacs
uses: purcell/setup-emacs@master
with:
version: ${{ matrix.emacs_version }}
- name: Install Racket
uses: Bogdanp/[email protected]
with:
architecture: 'x64'
distribution: 'full'
version: ${{ matrix.racket_version }}
- name: Show versions
run: make show-versions
- name: Install Emacs Packages
run: make deps
- name: Compile Emacs Lisp
run: make compile
- name: Run Emacs Lisp Tests
run: make test-elisp
- name: Run Racket Tests
run: xvfb-run make test-racket
# The motivation for this job is to see if tests are likely to pass
# when run on headless servers such as Debian `buildd` with the
# Minimal Racket distriubtion (or equivalent), plus manually
# installing the Racket packages recommended in our documentation.
# The tests themselves should detect the absence of a display or a
# missing Racket package and skip. See *** in comments below.
minimal:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
emacs_version:
- '29.1' # most recent release
racket_version:
- 'stable' # most recent release
name: Minimal Racket
steps:
- name: Checkout
uses: actions/checkout@master
- name: Install Emacs
uses: purcell/setup-emacs@master
with:
version: ${{ matrix.emacs_version }}
- name: Install Racket
uses: Bogdanp/[email protected]
with:
architecture: 'x64'
distribution: 'minimal' # *** NOT 'full'
version: ${{ matrix.racket_version }}
- name: Install some non-Minimal Racket packages # ***
run: make minimal-racket-deps
- name: Show versions
run: make show-versions
- name: Install Emacs Packages
run: make deps
- name: Compile Emacs Lisp
run: make compile
- name: Run Emacs Lisp Tests
run: make test-elisp
- name: Run Racket Tests
run: make test-racket # *** do NOT use xvfb-run
windows:
runs-on: windows-latest
strategy:
fail-fast: false
matrix:
emacs_version:
- '29.1' # most recent release
racket_version:
- 'stable' # most recent release
name: Windows Emacs:${{ matrix.emacs_version }} Racket:${{ matrix.racket_version }}
steps:
- name: Checkout
uses: actions/checkout@master
- name: Install Emacs
uses: jcs090218/setup-emacs-windows@master
with:
version: ${{ matrix.emacs_version }}
- name: Install Racket
uses: Bogdanp/[email protected]
with:
architecture: 'x64'
distribution: 'full'
version: ${{ matrix.racket_version }}
- name: Install Emacs Packages
run: make deps
- name: Compile Elisp
run: make compile
- name: Run Emacs Lisp Tests
run: make test-elisp
- name: Run Racket Tests
run: make test-racket