diff --git a/.clippy.toml b/.clippy.toml new file mode 100644 index 0000000..422beeb --- /dev/null +++ b/.clippy.toml @@ -0,0 +1 @@ +msrv = "1.31" diff --git a/.github/workflows/build-and-test.yaml b/.github/workflows/build-and-test.yaml deleted file mode 100644 index 00e00cc..0000000 --- a/.github/workflows/build-and-test.yaml +++ /dev/null @@ -1,43 +0,0 @@ -name: Build and test - -on: - push: - branches: - - master - pull_request: - -jobs: - build_and_test: - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - os: [ubuntu-latest] - rust: [nightly, beta, stable] - steps: - - uses: actions/checkout@v2 - - - name: Install latest ${{ matrix.rust }} - uses: actions-rs/toolchain@v1 - with: - toolchain: ${{ matrix.rust }} - profile: minimal - override: true - - - name: Run cargo check - uses: actions-rs/cargo@v1 - with: - command: check - args: --all --bins --examples --tests --all-features - - - name: Run cargo check (without dev-dependencies to catch missing feature flags) - if: startsWith(matrix.rust, 'nightly') - uses: actions-rs/cargo@v1 - with: - command: check - args: -Z features=dev_dep - - - name: Run cargo test - uses: actions-rs/cargo@v1 - with: - command: test diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml new file mode 100644 index 0000000..1f98878 --- /dev/null +++ b/.github/workflows/ci.yaml @@ -0,0 +1,71 @@ +name: CI + +on: + pull_request: + push: + branches: + - master + schedule: + - cron: '0 2 * * *' + +env: + RUSTFLAGS: -D warnings + RUST_BACKTRACE: 1 + +jobs: + test: + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest] + rust: [nightly, beta, stable] + steps: + - uses: actions/checkout@v2 + - name: Install Rust + run: rustup update ${{ matrix.rust }} && rustup default ${{ matrix.rust }} + - run: cargo build --all --all-features --all-targets + - name: Run cargo check (without dev-dependencies to catch missing feature flags) + if: startsWith(matrix.rust, 'nightly') + run: cargo check -Z features=dev_dep + - run: cargo test + + msrv: + runs-on: ubuntu-latest + strategy: + matrix: + # When updating this, the reminder to update the minimum supported + # Rust version in Cargo.toml and .clippy.toml. + rust: ['1.31'] + steps: + - uses: actions/checkout@v2 + - name: Install Rust + run: rustup update ${{ matrix.rust }} && rustup default ${{ matrix.rust }} + - run: cargo build + + clippy: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Install Rust + run: rustup update stable + - uses: actions-rs/clippy-check@v1 + with: + token: ${{ secrets.GITHUB_TOKEN }} + args: --all-features -- -W clippy::all + + fmt: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Install Rust + run: rustup update stable + - run: cargo fmt --all -- --check + + security_audit: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions-rs/audit-check@v1 + with: + token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml deleted file mode 100644 index b6017f1..0000000 --- a/.github/workflows/lint.yaml +++ /dev/null @@ -1,23 +0,0 @@ -name: Lint - -on: - push: - branches: - - master - pull_request: - -jobs: - clippy: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - - uses: actions-rs/toolchain@v1 - with: - toolchain: stable - profile: minimal - components: clippy - - uses: actions-rs/clippy-check@v1 - with: - token: ${{ secrets.GITHUB_TOKEN }} - args: --all-features -- -W clippy::all diff --git a/.github/workflows/security.yaml b/.github/workflows/security.yaml deleted file mode 100644 index c4f7947..0000000 --- a/.github/workflows/security.yaml +++ /dev/null @@ -1,17 +0,0 @@ -name: Security audit - -on: - push: - branches: - - master - pull_request: - -jobs: - security_audit: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - - uses: actions-rs/audit-check@v1 - with: - token: ${{ secrets.GITHUB_TOKEN }} diff --git a/Cargo.toml b/Cargo.toml index ec9f36d..4de5cd6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -6,9 +6,11 @@ name = "cache-padded" version = "1.2.0" authors = ["Stjepan Glavina "] edition = "2018" +rust-version = "1.31" description = "Prevent false sharing by padding and aligning to the length of a cache line" license = "Apache-2.0 OR MIT" repository = "https://github.com/smol-rs/cache-padded" homepage = "https://github.com/smol-rs/cache-padded" keywords = ["cache", "padding", "lock-free", "atomic"] categories = ["concurrency", "no-std"] +exclude = ["/.*"]