Skip to content

Commit

Permalink
updated github action
Browse files Browse the repository at this point in the history
  • Loading branch information
dominikwilkowski committed Nov 22, 2024
1 parent affe4c5 commit 8ee6ff7
Show file tree
Hide file tree
Showing 2 changed files with 104 additions and 31 deletions.
133 changes: 103 additions & 30 deletions .github/workflows/testing.yml
Original file line number Diff line number Diff line change
@@ -1,72 +1,145 @@
name: Testing
name: Linting & Testing

defaults:
run:
shell: bash

permissions:
contents: read

on:
workflow_call:
push:
branches:
- "main"
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
branches:
- "main"

jobs:
lint-rust:
debug:
name: Debugging action on ${{ matrix.os }}
strategy:
matrix:
os:
- ubuntu-latest
runs-on: ${{ matrix.os }}

steps:
- uses: actions/checkout@v4
- name: Checkout repo
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # pin@v4

- uses: actions-rs/toolchain@v1
with:
toolchain: stable
components: rustfmt, clippy
- name: Installing tree
run: sudo apt-get -y install tree & which tree

- name: Listing all files
run: tree -I "target*|.git*"

- name: Tree files
fmt:
name: Running cargo fmt on ${{ matrix.os }}
strategy:
matrix:
os:
- ubuntu-latest
runs-on: ${{ matrix.os }}
env:
CARGO_TERM_COLOR: always

steps:
- name: Checkout repo
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # pin@v4

- name: Update toolchain & add rustfmt
run: |
sudo apt-get -y install tree & which tree
tree -I "node_modules*|.git*"
rustup update --no-self-update
rustup component add rustfmt
- name: Check formatting
uses: actions-rs/cargo@v1
with:
command: fmt
- name: Run rustfmt
run: cargo fmt --all --check

- name: Annotate commit with clippy warnings
uses: actions-rs/clippy-check@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
check:
name: Running cargo check on ${{ matrix.os }}
strategy:
matrix:
os:
- ubuntu-latest
runs-on: ${{ matrix.os }}
env:
CARGO_TERM_COLOR: always

test-rust:
steps:
- name: Checkout repo
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # pin@v4

- name: Update toolchain
run: rustup update --no-self-update

- name: Run check
run: cargo check

clippy:
name: Running cargo clippy on ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- macos-latest
- windows-latest
runs-on: ${{ matrix.os }}
env:
OS: ${{ matrix.OS }}
CARGO_TERM_COLOR: always
RUSTFLAGS: "-Dwarnings"

steps:
- uses: actions/checkout@v4
- name: Checkout repo
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # pin@v4

- name: Update toolchain & add clippy
run: |
rustup update --no-self-update
rustup component add clippy
- uses: actions-rs/toolchain@v1
- name: Cache Rust dependencies
uses: Swatinem/rust-cache@23bce251a8cd2ffc3c1075eaa2367cf899916d84 # pin@v2
with:
toolchain: stable
prefix-key: clippy-v0
key: clippy-${{ matrix.os }}

- name: Fetch dependencies
run: cargo fetch --locked

- name: Run clippy
run: cargo clippy -- --deny warnings

test:
name: Running cargo test on ${{ matrix.os }}
needs: [fmt, check, clippy]
strategy:
matrix:
os:
- ubuntu-latest
- macos-latest
- windows-latest
runs-on: ${{ matrix.os }}
env:
CARGO_TERM_COLOR: always

steps:
- name: Checkout repo
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # pin@v4

- name: Run build
run: cargo build --release --verbose
- name: Update toolchain
run: rustup update --no-self-update

- name: Run cargo tests
uses: actions-rs/cargo@v1
- name: Cache Rust dependencies
uses: Swatinem/rust-cache@23bce251a8cd2ffc3c1075eaa2367cf899916d84 # pin@v2
with:
command: test
args: --no-fail-fast -- --nocapture
prefix-key: test-v0
key: test-${{ matrix.os }}

- name: Build
run: cargo build

- name: Run tests
run: cargo test
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ A tool to convert a CSV file into a new format

<p align="center">
<a href="https://crates.io/crates/csv_converter"><img src="https://img.shields.io/crates/v/csv_converter.svg" alt="crates badge"></a>
<a href="https://crates.io/crates/csv_converter"><img src="https://docs.rs/csv_converter/badge.svg" alt="crates docs tests"></a>
<a href="https://docs.rs/csv_converter/"><img src="https://docs.rs/csv_converter/badge.svg" alt="crates docs"></a>
<a href="https://github.com/the-working-party/csv_converter/actions/workflows/testing.yml"><img src="https://github.com/the-working-party/csv_converter/actions/workflows/testing.yml/badge.svg" alt="build status"></a>
</p>

Expand Down

0 comments on commit 8ee6ff7

Please sign in to comment.