Skip to content

Commit

Permalink
Merge branch 'main' into test-windows-no-color
Browse files Browse the repository at this point in the history
  • Loading branch information
bconn98 authored Dec 20, 2023
2 parents f041410 + 58b92c8 commit c455963
Show file tree
Hide file tree
Showing 19 changed files with 404 additions and 170 deletions.
12 changes: 12 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,17 @@ insert_final_newline = true
indent_style = space
indent_size = 4

[*.rs]
indent_size = false

[*.md]
trim_trailing_whitespace = false
indent_size = 2

[*.{yml,yaml}]
indent_size = 2

# Ignore License files
[LICENSE-*]
indent_size = unset
indent_style = unset
3 changes: 3 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Required for all files
* @estk @gadunga

23 changes: 23 additions & 0 deletions .github/workflows/audit.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
name: Security audit
on:
push:
paths:
- '**/Cargo.toml'
- '**/Cargo.lock'
- '.github/workflows/audit.yml'
jobs:
cargo-audit:
name: Audit the baseline for CVEs
runs-on: ubuntu-latest
steps:
- name: Checkout the source code
uses: actions/checkout@v4

- uses: cargo-bins/cargo-binstall@main

- name: Install cargo-audit
run: cargo binstall -y cargo-audit

- name: Audit
run: cargo audit
35 changes: 35 additions & 0 deletions .github/workflows/coverage.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
---
name: coverage

on:
push:
branches:
- main
- devel
pull_request:
branches:
- main
- devel

jobs:
test:
# https://github.com/xd009642/tarpaulin#github-actions
name: coverage
runs-on: ubuntu-latest
container:
image: xd009642/tarpaulin:develop-nightly
options: --security-opt seccomp=unconfined
steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Generate code coverage
run: |
cargo +nightly tarpaulin --verbose --all-features --workspace --timeout 120 --out xml
env:
USER: "test-user"

- name: Upload to codecov.io
uses: codecov/codecov-action@v3
with:
fail_ci_if_error: true
20 changes: 20 additions & 0 deletions .github/workflows/editor-check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: EditorConfig Checker

on:
push:
branches:
- main
- devel
pull_request:
branches:
- main
- devel

jobs:
editorconfig:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: editorconfig-checker/action-editorconfig-checker@main
- run: editorconfig-checker
45 changes: 45 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
---
name: Lint Jobs

on:
push:
branches:
- main
- devel
pull_request:
branches:
- main
- devel

jobs:
rust-lint:
name: Lint
runs-on: ubuntu-latest
steps:
- name: Checkout the source code
uses: actions/checkout@v4

- uses: dtolnay/rust-toolchain@nightly
with:
components: rustfmt, clippy

- name: Run cargo check
run: cargo check

- name: Run rustfmt
run: cargo fmt -- --check

- name: Run Clippy
run: cargo clippy --all-features
env:
RUSTFLAGS: -D warnings

docs-lint:
name: Docs Lint
runs-on: ubuntu-latest
steps:
- name: Markdown Linting Action
uses: avto-dev/markdown-lint@v1
with:
config: .markdownlint.yml
args: docs/Configuration.md README.md
105 changes: 43 additions & 62 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -1,37 +1,17 @@
name: CI
---
name: Build CI

on:
push:
branches:
- master
- main
- devel
pull_request:
branches:
- master
- main
- devel

jobs:
rust-lint:
name: Lint
runs-on: ubuntu-latest
steps:
- name: Checkout the source code
uses: actions/checkout@master

- name: Install Rust stable
run: |
rustup toolchain update --no-self-update stable
rustup default stable
rustup component add clippy rustfmt
- name: Run rustfmt
run: cargo fmt -- --check

- name: Run clippy
run: cargo clippy --all-features
env:
RUSTFLAGS: -D warnings

test:
name: Test
runs-on: ${{ matrix.os }}
Expand All @@ -40,41 +20,43 @@ jobs:
rust_versions: ["stable", "1.67"]
os: [ubuntu-latest, windows-latest]
steps:
- name: Checkout the source code
uses: actions/checkout@master
- name: Checkout the source code
uses: actions/checkout@v4

- name: Install Rust Versions
run: |
rustup toolchain install --no-self-update ${{ matrix.rust_versions }}
rustup default stable
- uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.rust_versions }}

- name: Build lib
run: rustup run ${{ matrix.rust_versions }} cargo build ${{ matrix.cargo_build_flags }}
- name: Build lib
run: cargo build

- name: test lib
run: cargo test --all-features
env:
RUSTFLAGS: -D warnings
- name: Test lib
run: |
cargo test --all-features
# This test needs another run under the release mode
cargo test --release --features simple_writer encode::pattern::tests::debug_release
env:
RUSTFLAGS: -D warnings

features:
name: Test Individual Features
runs-on: ubuntu-latest
steps:
- name: Checkout the source code
uses: actions/checkout@master

- name: Install Rust toolchain and jq
run: |
rustup toolchain install --no-self-update stable
rustup default stable
sudo apt-get install -y --no-install-recommends jq
- name: Test lib
run: |
for feature in $(cargo read-manifest | jq -r '.features|keys|join("\n")'); do
- name: Checkout the source code
uses: actions/checkout@v4

- uses: dtolnay/rust-toolchain@stable

- name: Install jq
run: |
sudo apt-get install -y --no-install-recommends jq
- name: Test lib
run: |
for feature in $(cargo read-manifest | jq -r '.features|keys|join("\n")'); do
echo building with feature "$feature"
RUSTFLAGS='-D warnings' cargo test --no-default-features --features "$feature"
done
done
bench:
name: Benchmark the background_rotation feature
Expand All @@ -83,16 +65,15 @@ jobs:
matrix:
rust_versions: ["stable", "1.67"]
steps:
- name: Checkout the source code
uses: actions/checkout@master

- name: Install Rust toolchain
run: |
rustup toolchain install --no-self-update stable
rustup default stable
- name: Checkout the source code
uses: actions/checkout@v4

- uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.rust_versions }}

- name: Bench features
run: cargo bench --all-features
- name: Bench features
run: cargo bench --all-features

examples:
name: Project Examples
Expand All @@ -108,22 +89,22 @@ jobs:
with:
toolchain: stable

- name: Bench features
- name: NO_COLOR
run: cargo run --example compile_time_config
env:
NO_COLOR: 1

- name: Bench features
- name: CLICOLOR_FORCE
run: cargo run --example compile_time_config
env:
CLICOLOR_FORCE: 1

- name: Bench features
- name: CLICOLOR = 1
run: cargo run --example compile_time_config
env:
CLICOLOR: 1

- name: Bench features
- name: CLICOLOR = 0
run: cargo run --example compile_time_config
env:
CLICOLOR: 0
2 changes: 1 addition & 1 deletion .rustfmt.toml
Original file line number Diff line number Diff line change
@@ -1 +1 @@
merge_imports = true
imports_granularity="Crate"
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
[![crates.io](https://img.shields.io/crates/v/log4rs.svg)](https://crates.io/crates/log4rs)
[![License: MIT OR Apache-2.0](https://img.shields.io/crates/l/clippy.svg)](#license)
![CI](https://github.com/estk/log4rs/workflows/CI/badge.svg)
[![Minimum rustc version](https://img.shields.io/badge/rustc-1.56+-green.svg)](https://github.com/estk/log4rs#rust-version-requirements)
[![Minimum rustc version](https://img.shields.io/badge/rustc-1.67+-green.svg)](https://github.com/estk/log4rs#rust-version-requirements)

log4rs is a highly configurable logging framework modeled after Java's Logback
and log4j libraries.
Expand Down
6 changes: 4 additions & 2 deletions benches/rotation.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
use std::thread;
use std::time::{Duration, Instant};
use std::{
thread,
time::{Duration, Instant},
};

use lazy_static::lazy_static;
use tempfile::{tempdir, TempDir};
Expand Down
Loading

0 comments on commit c455963

Please sign in to comment.