Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Modernization, CI Enhancements & Benchmark Improvements #6

Merged
merged 10 commits into from
Feb 14, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 40 additions & 3 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,54 @@ env:
CARGO_TERM_COLOR: always

jobs:
typos:
name: Spell Check with Typos
runs-on: ubuntu-latest
steps:
- name: Checkout Actions Repository
uses: actions/checkout@v4
- name: Check spelling
uses: crate-ci/typos@master

fmt:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- name: format
run: cargo fmt -- --check

clippy:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- name: Configure Cargo cache
uses: actions/cache@v3
with:
path: |
./target
~/.cargo
key: debug-${{ runner.os }}-${{ hashFiles('rust-toolchain.toml') }}-${{ hashFiles('Cargo.lock') }}
restore-keys: |
debug-${{ runner.os }}-${{ hashFiles('rust-toolchain.toml') }}-
debug-${{ runner.os }}-
- name: install-clippy
run: rustup component add clippy
- name: clippy
run: cargo clippy

build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Build
run: cargo build --verbose

test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Test
run: cargo test --verbose

Expand All @@ -31,7 +68,7 @@ jobs:
options: --security-opt seccomp=unconfined
steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Generate code coverage
run: |
cargo +nightly tarpaulin --verbose --all-features --workspace --timeout 120 --out Lcov --output-dir ./coverage
Expand Down
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,16 @@ and this project adheres to [Conventional Commits](https://www.conventionalcommi

## [Unreleased]

## [0.4.1] - 2025-01-29

### Changed
- Apply more modern Rust code styling, including `rustfmt` and `cargo clippy`.
- Replace test bencher with `criterion`.
- Move non-release dependencies to `dev-dependencies`.

### Updated
- Run `cargo update` to update dependencies.

## [0.4.0] - 2023-11-01

### Added
Expand Down
29 changes: 29 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# How to Contribute

The contribution guideline is derived from the SlimPHP, Istanbul Code Coverage and Ruby contribution guideline

## Contributor Behavior

Be kind to one another. We're striving to make Knossos an inclusive environment that's great for first time open-source contributors.

tldr; we value constructive community interaction, over technical acumen.

## Pull Requests

Knossos use the [GitHub flow](https://guides.github.com/introduction/flow/) as main versioning workflow

1. Fork the Knossos repository
2. Create a new branch for each feature, fix or improvement
3. Send a pull request from each feature branch to the **main** branch

It is very important to separate new features or improvements into separate feature branches, and to send a pull request for each branch.

This allow us to review and pull in new features or improvements individually.

## Style Guide

All pull requests SHOULD adhere to the [Conventional Commits specification](https://conventionalcommits.org/)

## License

You must agree that your patch will be licensed under the repository Apache License, and when we change the license we will assume that you agreed with the change unless you object to the changes in 30 days time.
Loading