xref: /Universal-ctags/.github/workflows/run-citre-tests.yml (revision c0b04ae18c9c07ad710dd0c20b664565211397af)
1# Citre (https://github.com/universal-ctags/citre) is a readtags frontend for
2# Emacs. This workflow runs unit tests of Citre to make sure changes in
3# readtags doesn't break the behavior that Citre expects.
4
5# Ref: https://github.com/universal-ctags/citre/issues/58#issuecomment-846229409
6
7name: run Citre tests on GNU/Linux
8
9on:
10  push:
11    branches: [ master ]
12  pull_request:
13    branches: [ master ]
14
15jobs:
16  testing:
17    runs-on: ubuntu-latest
18
19    env:
20      CC: gcc
21      READTAGS: '${{ github.workspace }}/readtags'
22
23    steps:
24      - uses: actions/checkout@v2
25      - name: update package information
26        run: sudo apt-get -y -o APT::Immediate-Configure=false update
27      - name: install tools and libraries
28        run: sudo apt-get -y -o APT::Immediate-Configure=false install pkg-config automake libjansson-dev libyaml-dev libseccomp-dev libxml2-dev
29      - name: autogen.sh
30        run: ./autogen.sh
31      - name: report the version of cc
32        run: $CC --version
33      - name: report the version of make
34        run: make --version
35      - name: configure
36        run: ./configure
37      - name: make
38        run: make
39      - name: report features
40        run: ./ctags --list-features
41      - name: install Emacs
42        run: sudo apt-get -y -o APT::Immediate-Configure=false install emacs
43      - name: checkout Citre repo
44        uses: actions/checkout@v2
45        with:
46          repository: 'universal-ctags/citre'
47          path: 'citre'
48      - name: run Citre unit tests for ctags backend
49        working-directory: 'citre'
50        run: make test-ctags
51