diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..70e276b --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,63 @@ +name: CI + +on: + pull_request: + push: + +jobs: + build: + runs-on: ubuntu-latest + continue-on-error: ${{ matrix.experimental }} + strategy: + matrix: + emacs_version: + - 24.1 + - 24.5 + - 25.1 + - 25.3 + - 26.1 + - 26.3 + - 27.1 + - 27.2 + - 28.1 + - 28.2 + - release-snapshot + experimental: false + include: + - emacs-version: snapshot + experimental: true + - emacs_version: 24.1 + lint_ignore: 1 + env: + EMACS_LINT_IGNORE: ${{ matrix.lint_ignore }} + steps: + - name: Install Emacs + uses: purcell/setup-emacs@master + with: + version: ${{ matrix.emacs_version }} + + - name: Install Cask + run: curl -fsSL https://raw.githubusercontent.com/cask/cask/master/go | python + + - name: Validate Cask + env: + PATH: "$HOME/.cask/bin:$PATH" + run: cask emacs --version + + - name: Checkout Code + uses: actions/checkout@v3 + + - name: Install Elisp Deps + env: + PATH: "$HOME/.cask/bin:$PATH" + run: cask install + + - name: Build + env: + PATH: "$HOME/.cask/bin:$PATH" + run: cask build + + - name: Run ERT tests + env: + PATH: "$HOME/.cask/bin:$PATH" + run: cask exec ert-runner dired-rsync-ert.el diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 6d2d02d..0000000 --- a/.travis.yml +++ /dev/null @@ -1,47 +0,0 @@ -language: emacs-lisp -os: linux -dist: xenial -addons: - apt: - update: true - packages: - - python - -cache: -- directories: - - "$HOME/emacs" - fast_finish: true - allow_failures: - - env: EVM_EMACS=remacs-git-snapshot-travis -env: - matrix: - - EVM_EMACS=emacs-24.4-travis - - EVM_EMACS=emacs-24.5-travis - - EVM_EMACS=emacs-25.1-travis - - EVM_EMACS=emacs-25.2-travis - - EVM_EMACS=emacs-25.3-travis - - EVM_EMACS=emacs-26.1-travis-linux-xenial - - EVM_EMACS=emacs-26.3-travis-linux-xenial - - EVM_EMACS=emacs-git-snapshot-travis-linux-xenial - - EVM_EMACS=remacs-git-snapshot-travis - -before_install: - # Install evm - - git clone https://github.com/rejeep/evm.git ~/.evm - - export PATH="$HOME/.evm/bin:$PATH" - - evm config path /tmp - - evm list - # use this version of emacs for tests - - evm install "${EVM_EMACS}" --use --skip - - emacs --version - # install cask - - curl -fsSL https://raw.githubusercontent.com/cask/cask/master/go | python - - export PATH="$HOME/.cask/bin:$PATH" - # Check that cask is finding the right emacs - - cask emacs --version - # Install elisp dependencies - - cask install -script: - - if [ "$EVM_EMACS" != "emacs-git-snapshot-travis-linux-xenial" ] ; then cask exec ert-runner dired-rsync-ert.el ; fi - - cask build - - cask exec ert-runner dired-rsync-ert.el