Emacs Eask
GitHub Discord Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

πŸ’  CircleCI


Windows macOS Linux

Example to use Circle CI.

version: 2.1

orbs:
  win: circleci/windows@2.2.0

# Default actions to perform on each Emacs version
commands:
  setup-linux:
    steps:
      - checkout
      - run:
          name: Install unzip
          command: apt-get update && apt-get install unzip
      - run:
          name: Install Eask
          command: curl -fsSL https://raw.githubusercontent.com/emacs-eask/cli/master/webinstall/install.sh | sh

  setup-macos:
    steps:
      - checkout
      - run:
          name: Install Emacs latest
          command: |
            echo "HOMEBREW_NO_AUTO_UPDATE=1" >> $BASH_ENV
            brew install homebrew/cask/emacs            
      - run:
          name: Install unzip
          command: apt-get update && apt-get install unzip
      - run:
          name: Install Eask
          command: curl -fsSL https://raw.githubusercontent.com/emacs-eask/cli/master/webinstall/install.sh | sh

  setup-windows:
    steps:
      - checkout
      - run:
          name: Install Eask
          command: url.exe -fsSL https://raw.githubusercontent.com/emacs-eask/cli/master/webinstall/install.bat | cmd /Q

  test:
    steps:
      - run:
          name: Run regression tests
          command: eldev -dtT -p test
  lint:
    steps:
      - run:
          name: Run Elisp-lint
          command: eldev lint
      - run:
          name: Byte-compile `.el' files
          command: eldev -dtT compile --warnings-as-errors

jobs:
  test-ubuntu-emacs-26:
    docker:
      - image: silex/emacs:26-ci
        entrypoint: bash
    steps:
      - setup-linux
      - test

  test-ubuntu-emacs-27:
    docker:
      - image: silex/emacs:27-ci
        entrypoint: bash
    steps:
      - setup-linux
      - test

  test-ubuntu-emacs-28:
    docker:
      - image: silex/emacs:28-ci
        entrypoint: bash
    steps:
      - setup-linux
      - test

  test-ubuntu-emacs-master:
    docker:
      - image: silex/emacs:master-ci
        entrypoint: bash
    steps:
      - setup-linux
      - test

  test-macos-emacs-latest:
    macos:
      xcode: "14.0.0"
    steps:
      - setup-macos
      - test

  test-windows-emacs-latest:
    executor: win/default
    steps:
      - run:
          name: Install Emacs latest
          command: |
            choco install emacs            
      - setup-windows
      - test

workflows:
  version: 2
  ci-test-matrix:
    jobs:
      - test-ubuntu-emacs-26
      - test-ubuntu-emacs-27
      - test-ubuntu-emacs-28
      - test-ubuntu-emacs-master
      - test-macos-emacs-latest
      - test-windows-emacs-latest

This example is testing your Emacs Lisp package in the below environment;

OSEmacsEask
Linux (Ubuntu)26.x, 27.x, 28.x, snapshotlatest
macOSsnapshotlatest
Windowssnapshotlatest
πŸ’‘ You can generate workflow file via eask generate workflow circle-ci, see Commands and options for more information!