name: CI on: pull_request: paths-ignore: - '**.md' push: paths-ignore: - '**.md' branches-ignore: - 'master' jobs: build: runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-latest, macos-latest] emacs_version: [25.1, 26.3, snapshot] python-version: [3.7] steps: - uses: actions/checkout@v1 - name: python ${{ matrix.python-version }} uses: actions/setup-python@v1 with: python-version: ${{ matrix.python-version }} - name: nix uses: purcell/setup-emacs@master with: version: ${{ matrix.emacs_version }} - uses: actions/cache@v1 if: startsWith(runner.os, 'Linux') with: path: ~/.cache/pip key: ${{ runner.os }}-pip-001 - uses: actions/cache@v1 if: startsWith(runner.os, 'macOS') with: path: ~/Library/Caches/pip key: ${{ runner.os }}-pip-001 - uses: actions/cache@v1 with: path: ~/local key: ${{ runner.os }}-local-000 - uses: actions/cache@v1 with: path: ~/.emacs.d key: emacs.d - uses: actions/cache@v1 with: path: ~/.cask key: cask-001 - name: paths uses: dickmao/setup-paths@master with: paths: local/bin:local/cask/bin:local/R/bin:local/julia-1.3.1/bin - name: apt-get if: startsWith(runner.os, 'Linux') run: | sudo apt-get -yq update DEBIAN_FRONTEND=noninteractive sudo apt-get -yq install gnutls-bin sharutils nodejs gfortran gnupg2 dirmngr libreadline-dev libcurl4-openssl-dev texlive-latex-base - name: dependencies run: | mkdir -p ~/local/bin python -m pip install --upgrade pip pip install yq setuptools wheel jupyter ipykernel ipython\<=7.8.0 numpy\<=1.16.4 matplotlib\<=3.0.3 python -m ipykernel install --user sh tools/install-R.sh - name: julia if: startsWith(runner.os, 'Linux') run: sh tools/install-julia.sh - name: versions run: | jupyter kernelspec list curl --version ipython --version emacs --version - name: gnupg if: startsWith(runner.os, 'macOS') run: brew list gnupg &>/dev/null || HOMEBREW_NO_AUTO_UPDATE=1 brew install gnupg - name: cask run: | sh tools/install-cask.sh cask link list - name: test if: startsWith(runner.os, 'Linux') run: | rm -rf ~/.matplotlib ~/.cache/fontconfig make test continue-on-error: ${{ matrix.emacs_version == 'snapshot' }} - name: test-mem-constrained if: startsWith(runner.os, 'macOS') run: | make quick continue-on-error: ${{ matrix.emacs_version == 'snapshot' }}