Skip to content

Commit

Permalink
ci: add test coverage (#59)
Browse files Browse the repository at this point in the history
  • Loading branch information
pythonbrad authored Apr 14, 2024
1 parent f416f0f commit 311c878
Show file tree
Hide file tree
Showing 2 changed files with 76 additions and 0 deletions.
75 changes: 75 additions & 0 deletions .github/workflows/coverage.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
name: Coverage

on:
workflow_dispatch:
push:
branches: [main]
pull_request:
branches: [main]

env:
CARGO_TERM_COLOR: always

jobs:
coverage:
runs-on: ubuntu-latest
env:
DISPLAY: ":99"
steps:
- uses: actions/checkout@v4
- uses: awalsh128/cache-apt-pkgs-action@latest
with:
packages: libxtst-dev libevdev-dev libxdo-dev
version: 1.0

- name: Setup headless environment
run: |
Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 &
- name: Dependencies
run: |
sudo apt-get install libxtst-dev libevdev-dev libxdo-dev --assume-yes
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
- uses: Swatinem/rust-cache@v2
with:
# To only cache runs from `main`
save-if: ${{ github.ref == 'refs/heads/main' }}
- run: rustup component add llvm-tools-preview

- name: Install grcov
uses: actions-rs/[email protected]
with:
crate: grcov
version: latest
use-tool-cache: true

- name: build
env:
RUSTFLAGS: -Cinstrument-coverage
run: cargo build --verbose

- name: test
env:
RUSTFLAGS: -Cinstrument-coverage
LLVM_PROFILE_FILE: name-%p-%m.profraw
run: cargo test --verbose

- name: Run grcov
run: |
mkdir coverage
grcov . \
--binary-path ./target/debug/ \
-s . \
-t lcov \
--branch \
--ignore-not-existing \
--ignore "/*" \
--excl-line "#\\[derive\\(" \
-o ./coverage/lcov.info
- name: Coveralls
uses: coverallsapp/github-action@master
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ Afrim Wish
[![crates.io](https://img.shields.io/crates/v/afrim-wish.svg)](https://crates.io/crates/afrim-wish)
[![LICENSE](https://img.shields.io/crates/l/afrim-wish.svg)](https://github.com/pythonbrad/afrim-wish/blob/main/LICENSE)
![Rust](https://github.com/pythonbrad/afrim-wish/workflows/Rust/badge.svg)
[![Coverage Status](https://coveralls.io/repos/github/pythonbrad/afrim-wish/badge.svg?branch=main)](https://coveralls.io/github/pythonbrad/afrim-wish?branch=main)

Afrim Wish is a frontend alternative for [afrim](https://github.com/pythonbrad/afrim).

Expand Down

0 comments on commit 311c878

Please sign in to comment.