wikijs 0.2.1

API bindings, CLI client and FUSE filesystem for Wiki.js written in Rust.
Documentation
name: testing

on:
  push:
    branches:
      - 'main'
    paths:
      - 'src/**/*'
      - 'tests/**/*'
      - '**/Cargo.toml'
      - '**/Cargo.lock'
      - 'docker-compose.yml'
      - '.github/workflows/testing.yml'
  pull_request:
    branches:
      - 'main'
    paths:
      - 'src/**/*'
      - 'tests/**/*'
      - '**/Cargo.toml'
      - '**/Cargo.lock'
      - 'docker-compose.yml'
      - '.github/workflows/testing.yml'

env:
  CARGO_TERM_COLOR: always

jobs:
  test:
    name: test
    runs-on: ubuntu-latest
    # container:
    #   image: xd009642/tarpaulin
    #   options: --security-opt seccomp=unconfined
    steps:
      - name: checkout
        uses: actions/checkout@v4
      - name: start wiki instance
        uses: isbang/compose-action@v1.5.1
        with:
          compose-file: "./docker-compose.yml"
      - name: wait for wiki to be reachable
        uses: cygnetdigital/wait_for_response@v2.0.0
      - name: install dependencies
        run: |
          sudo apt update
          sudo apt install httpie
      - name: run initial wiki setup
        run: scripts/finalize_wiki_setup.sh
      - name: install rust toolchain
        uses: dtolnay/rust-toolchain@stable
      - name: install rust cache
        uses: Swatinem/rust-cache@v2
      - name: run tests
        run: cargo test

  coverage:
    name: coverage
    runs-on: ubuntu-latest
    steps:
      - name: checkout
        uses: actions/checkout@v4
      - name: start wiki instance
        uses: isbang/compose-action@v1.5.1
        with:
          compose-file: "./docker-compose.yml"
      - name: wait for wiki to be reachable
        uses: cygnetdigital/wait_for_response@v2.0.0
      - name: install dependencies
        run: |
          sudo apt update
          sudo apt install httpie
      - name: run initial wiki setup
        run: scripts/finalize_wiki_setup.sh
      - name: install rust toolchain
        uses: dtolnay/rust-toolchain@stable
      - name: install rust cache
        uses: Swatinem/rust-cache@v2
      - name: run coverage check
        uses: actions-rs/tarpaulin@v0.1
        with:
          version: '0.15.0'
          args: '--workspace --fail-under 5 --exclude-files src/cli/* --exclude-files src/fuse/* --exclude-files tests/* --exclude-files gql/*'