Skip to content

feat(tests): Improve test suite (#184) #1

feat(tests): Improve test suite (#184)

feat(tests): Improve test suite (#184) #1

Workflow file for this run

name: CI
on:
push:
branches: [ "master" ]
pull_request:
branches: [ "master" ]
workflow_dispatch:
jobs:
test:
strategy:
fail-fast: false
matrix:
node-version: [22]
os: [ubuntu-latest]
runs-on: ${{ matrix.os }}
steps:
- name: Checkout Misti
uses: actions/checkout@v2
- name: Setup Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
cache: "yarn"
- name: Install system dependencies
run: sudo apt-get update && sudo apt-get install -y graphviz
- name: Install Soufflé on Ubuntu
if: matrix.os == 'ubuntu-latest'
run: |
sudo wget https://souffle-lang.github.io/ppa/souffle-key.public -O /usr/share/keyrings/souffle-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/souffle-archive-keyring.gpg] https://souffle-lang.github.io/ppa/ubuntu/ stable main" | sudo tee /etc/apt/sources.list.d/souffle.list
sudo apt update
sudo apt install souffle
- name: Install npm dependencies
run: yarn install && npm install -g @mermaid-js/mermaid-cli
- name: Validate expected Mermaid diagrams
run: |
for file in test/all/*.mmd; do
mmdc -i "$file" -o /tmp/skip.svg || exit 1
done
- name: Validate expected Graphviz files
run: |
for file in test/all/*.dot; do
dot -Tdot "$file" -o /dev/null || exit 1
done
- name: Check broken links
uses: lycheeverse/lychee-action@v1
with:
args: src/ test/ examples/ bin/ benchmarks/ scripts/ README.md RELEASE.md
output: /tmp/lychee.txt
fail: true
- name: Build
run: |
yarn gen
yarn build
- name: Spellcheck code base
run: |
yarn spell
- name: Run knip
run: yarn knip
- name: Check formatting with Prettier
run: yarn fmt
- name: Run ESLint
run: yarn lint
- name: Run tests
run: |
yarn test