Skip to content

Commit

Permalink
Update readme and prepare for publishing
Browse files Browse the repository at this point in the history
  • Loading branch information
SmnTin committed Jul 14, 2023
1 parent 079ac10 commit f4c9e6e
Show file tree
Hide file tree
Showing 3 changed files with 66 additions and 0 deletions.
54 changes: 54 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
on:
push:
tags:
- '*'

name: Publish


jobs:
test:
name: Test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: Run tests
run: cargo test -- --test-threads=1

fmt:
name: Rustfmt
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt
- name: Enforce formatting
run: cargo fmt --check

clippy:
name: Clippy
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@stable
with:
components: clippy
- uses: Swatinem/rust-cache@v2
- name: Linting
run: cargo clippy -- -D warnings

publish:
name: Publish
runs-on: ubuntu-latest
needs: [test, fmt, clippy]
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: Publish
run: cargo publish --token ${{ secrets.CRATES_IO_TOKEN }}
env:
CRATES_IO_TOKEN: ${{ secrets.CRATES_IO_TOKEN }}
8 changes: 8 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,14 @@
name = "lincheck"
version = "0.1.0"
edition = "2021"
description = "A linearizability checker for concurrent data structures"
authors = ["Semyon Panenkov <smn.pankv@gmail.com>"]
license-file = "LICENSE"
readme = "README.md"
repository = "https://github.com/SmnTin/lincheck"
homepage = "https://github.com/tokio-rs/loom"
keywords = ["concurrency", "linearizability", "testing", "verification", "model-checking", "atomic", "lock-free"]
categories = ["development-tools::testing"]

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

Expand Down
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -199,6 +199,10 @@ $ cargo test -- --test-threads=1
- [loom](https://github.com/tokio-rs/loom) can't model all weak memory models effects. This means that some executions that may arise on the real hardware may not be explored by loom. This is why the concurrent data structures should be additionally fuzzed on the real hardware. The support for fuzzing in Lincheck is planned.
- [proptest](https://docs.rs/proptest/latest/proptest/) only explores a random sample of all possible scenarios. This means that some failing executions may not be explored.

## Semver compatibility and MSRV

Lincheck follows [semver](https://semver.org/). However, the API is not yet stable and may change in a breaking way before the first stable release. There are also no guarantees about the MSRV (minimum supported Rust version) for now.

## License

Lincheck is licensed under the [MIT license](LICENSE).
Expand Down

0 comments on commit f4c9e6e

Please sign in to comment.