aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows/test.yml
blob: 3290f396fd8540f0aa547276aeb9c222c24edada (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
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@v2
      with:
        repository: emacs-compat/compat
        path: compat
    - name: Check out transient
      uses: actions/checkout@v2
      with:
        repository: magit/transient
        path: transient
    - name: Check out snakemake-mode
      uses: actions/checkout@v2
      with:
        repository: kyleam/snakemake-mode
        path: snakemake-mode
    - name: Set up Python
      uses: actions/setup-python@v1
      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