name: test on: push jobs: test: runs-on: ubuntu-latest strategy: matrix: emacs_version: - 26.1 - 27.2 - 28.2 - 29.1 - snapshot steps: - name: Install emacs uses: purcell/setup-emacs@master with: version: ${{ matrix.emacs_version }} - name: Check out seq if: matrix.emacs_version == '26.1' || matrix.emacs_version == '27.2' || matrix.emacs_version == '28.2' # Note: This relies on Transient's Makefile looking in this spot # (relative to Transient checkout) by default. run: | git clone --branch=externals/seq --depth=1 \ https://git.savannah.gnu.org/git/emacs/elpa.git seq echo SEQ_DIR=$PWD/seq >>$GITHUB_ENV - name: Check out compat uses: actions/checkout@v4 with: repository: emacs-compat/compat path: compat - name: Check out transient uses: actions/checkout@v4 with: repository: magit/transient path: transient - name: Check out snakemake-mode uses: actions/checkout@v4 with: repository: kyleam/snakemake-mode path: snakemake-mode - name: Set up Python uses: actions/setup-python@v4 with: python-version: 3.12 - name: Install Snakemake run: | python -m pip install --upgrade pip pip install snakemake - name: Build compat run: make -C compat compile - name: Build transient run: make -C transient lisp - name: Set envvars for dependencies run: | echo "COMPAT_DIR=$PWD/compat" >>$GITHUB_ENV echo "TRANSIENT_DIR=$PWD/transient/lisp" >>$GITHUB_ENV - name: Build snakemake-mode run: make -C snakemake-mode all - name: Test snakemake-mode run: make -C snakemake-mode test