Skip to content

Commit

Permalink
github: Expand workflow
Browse files Browse the repository at this point in the history
Add fmt, clippy, test, and codecov targets

Signed-off-by: Nathaniel Clark <Nathaniel.Clark@misrule.us>
  • Loading branch information
utopiabound committed May 13, 2024
1 parent abfeab3 commit d2fbf79
Show file tree
Hide file tree
Showing 4 changed files with 95 additions and 303 deletions.
93 changes: 93 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
name: RPN Push

on:
push:
branches:
- main
- master

jobs:
check:
name: Check
runs-on: ubuntu-latest
steps:
- run: sudo apt-get install -y libjpeg-dev zlib-dev libpng-dev libpango1.0-dev libxft-dev
- uses: actions/checkout@v4
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
- uses: actions-rs/cargo@v1
with:
command: check
args: --locked

test:
name: Test Suite
runs-on: ubuntu-latest
steps:
- run: sudo apt-get install -y libjpeg-dev zlib-dev libpng-dev libpango1.0-dev libxft-dev
- uses: actions/checkout@v4
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
- uses: actions-rs/cargo@v1
with:
command: test

fmt:
name: Rustfmt
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
- run: rustup component add rustfmt
- uses: actions-rs/cargo@v1
with:
command: fmt
args: --all -- --check

clippy:
name: Clippy
runs-on: ubuntu-latest
steps:
- run: sudo apt-get install -y libjpeg-dev zlib-dev libpng-dev libpango1.0-dev libxft-dev
- uses: actions/checkout@v4
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
- uses: actions-rs/clippy-check@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
args: --locked -- -D warnings

coverage:
name: coverage
runs-on: ubuntu-latest
steps:
- run: sudo apt-get install -y libjpeg-dev zlib-dev libpng-dev libpango1.0-dev libxft-dev
- uses: actions/checkout@v4

- name: Install Rust
uses: dtolnay/rust-toolchain@stable

- name: Install `cargo-llvm-cov`
uses: taiki-e/install-action@cargo-llvm-cov

- name: Measure code coverage for all tests
run: |
# Fail if any tests fail
set -e
set -o pipefail
cargo llvm-cov --all-features --codecov --output-path codecov.json
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: codecov.json
fail_ci_if_error: true
9 changes: 0 additions & 9 deletions .github/workflows/workflows.yml

This file was deleted.

Loading

0 comments on commit d2fbf79

Please sign in to comment.