From 67f9edcb1b571d48c51a9e8745354da04310a180 Mon Sep 17 00:00:00 2001 From: Bogdan Mircea Date: Fri, 23 May 2025 16:22:04 +0300 Subject: [PATCH 1/5] Added MSRV and publish workflows --- .github/workflows/ci.yaml | 48 ++++++++++++++++++++++ .github/workflows/main.yaml | 75 ---------------------------------- .github/workflows/publish.yaml | 30 ++++++++++++++ Cargo.toml | 1 + 4 files changed, 79 insertions(+), 75 deletions(-) create mode 100644 .github/workflows/ci.yaml delete mode 100644 .github/workflows/main.yaml create mode 100644 .github/workflows/publish.yaml diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml new file mode 100644 index 0000000..ce920d3 --- /dev/null +++ b/.github/workflows/ci.yaml @@ -0,0 +1,48 @@ +name: CI + +on: + push: + branches: ["main"] + pull_request: + branches: ["main"] + +env: + RUST_TOOLCHAIN: 1.77.0 + +jobs: + format: + name: Format + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@nightly + + - name: Check format + run: cargo +nightly fmt --check + + clippy: + name: Clippy + needs: format + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@${{ env.RUST_TOOLCHAIN }} + - uses: Swatinem/rust-cache@v2 + + - name: Run clippy + run: cargo clippy --tests + env: + RUSTFLAGS: -D warnings + + tests: + name: Tests + needs: clippy + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@${{ env.RUST_TOOLCHAIN }} + - uses: Swatinem/rust-cache@v2 + + - name: Run tests + run: cargo test diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml deleted file mode 100644 index 46b7a62..0000000 --- a/.github/workflows/main.yaml +++ /dev/null @@ -1,75 +0,0 @@ -# yaml-language-server: $schema=./main.yaml -name: CI - -on: - push: - branches: ["main"] - pull_request: - branches: ["main"] - -env: - RUST_TOOLCHAIN: 1.77.0 - -jobs: - format: - name: Format - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - - name: Setup Rust toolchain - uses: actions-rs/toolchain@v1 - with: - profile: minimal - toolchain: nightly - override: true - components: rustfmt - - - uses: actions-rs/cargo@v1 - with: - command: fmt - args: -- --check - - clippy: - name: Clippy - needs: format - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - - name: Setup Rust toolchain - uses: actions-rs/toolchain@v1 - with: - profile: minimal - toolchain: stable - override: true - components: clippy - - - uses: Swatinem/rust-cache@v2 - - - uses: actions-rs/cargo@v1 - with: - command: clippy - args: --tests - env: - RUSTFLAGS: -D warnings - - tests: - name: Tests - needs: clippy - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v3 - - - name: Setup Rust toolchain - uses: actions-rs/toolchain@v1 - with: - profile: minimal - toolchain: ${{ env.RUST_TOOLCHAIN }} - override: true - - - uses: Swatinem/rust-cache@v2 - - - name: Run tests - run: cargo test diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml new file mode 100644 index 0000000..8f06cef --- /dev/null +++ b/.github/workflows/publish.yaml @@ -0,0 +1,30 @@ +name: Publish + +on: + push: + tags: + - "*" + +jobs: + tests: + name: Tests + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@stable + - uses: Swatinem/rust-cache@v2 + + - name: Run tests + run: cargo test + + publish: + name: Publish + needs: tests + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@stable + - uses: Swatinem/rust-cache@v2 + + - name: Cargo publish + run: cargo publish --token ${{ secrets.CRATES_IO_TOKEN }} diff --git a/Cargo.toml b/Cargo.toml index 9942280..769d76d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -2,6 +2,7 @@ name = "transitive" version = "1.1.0" edition = "2021" +rust-version = "1.77" authors = ["bobozaur"] description = "Transitive derive macros for Rust." license = "MIT" From 52d9a1c49e4e3762fb84c444f024821f3d2118ec Mon Sep 17 00:00:00 2001 From: Bogdan Mircea Date: Fri, 23 May 2025 16:23:34 +0300 Subject: [PATCH 2/5] Bump crate version --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 769d76d..5a1108f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "transitive" -version = "1.1.0" +version = "1.2.0" edition = "2021" rust-version = "1.77" authors = ["bobozaur"] From 09345e2c22273a6faad0566498b6dab00feeadd2 Mon Sep 17 00:00:00 2001 From: Bogdan Mircea Date: Fri, 23 May 2025 16:24:34 +0300 Subject: [PATCH 3/5] Fix CI toolchain version --- .github/workflows/ci.yaml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index ce920d3..65facd4 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -6,9 +6,6 @@ on: pull_request: branches: ["main"] -env: - RUST_TOOLCHAIN: 1.77.0 - jobs: format: name: Format @@ -26,7 +23,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: dtolnay/rust-toolchain@${{ env.RUST_TOOLCHAIN }} + - uses: dtolnay/rust-toolchain@1.77.0 - uses: Swatinem/rust-cache@v2 - name: Run clippy @@ -41,7 +38,7 @@ jobs: steps: - uses: actions/checkout@v4 - - uses: dtolnay/rust-toolchain@${{ env.RUST_TOOLCHAIN }} + - uses: dtolnay/rust-toolchain@1.77.0 - uses: Swatinem/rust-cache@v2 - name: Run tests From 84b37498a92174c16e3edaa7f8c88f462cf49bd6 Mon Sep 17 00:00:00 2001 From: Bogdan Mircea Date: Fri, 23 May 2025 16:26:36 +0300 Subject: [PATCH 4/5] Fix CI --- .github/workflows/ci.yaml | 8 ++++++-- .github/workflows/publish.yaml | 4 ++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 65facd4..7ee1546 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -13,6 +13,8 @@ jobs: steps: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@nightly + with: + components: rustfmt - name: Check format run: cargo +nightly fmt --check @@ -23,8 +25,10 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: dtolnay/rust-toolchain@1.77.0 - uses: Swatinem/rust-cache@v2 + - uses: dtolnay/rust-toolchain@1.77.0 + with: + components: clippy - name: Run clippy run: cargo clippy --tests @@ -38,8 +42,8 @@ jobs: steps: - uses: actions/checkout@v4 - - uses: dtolnay/rust-toolchain@1.77.0 - uses: Swatinem/rust-cache@v2 + - uses: dtolnay/rust-toolchain@1.77.0 - name: Run tests run: cargo test diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index 8f06cef..20b4b21 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -11,8 +11,8 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: dtolnay/rust-toolchain@stable - uses: Swatinem/rust-cache@v2 + - uses: dtolnay/rust-toolchain@stable - name: Run tests run: cargo test @@ -23,8 +23,8 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: dtolnay/rust-toolchain@stable - uses: Swatinem/rust-cache@v2 + - uses: dtolnay/rust-toolchain@stable - name: Cargo publish run: cargo publish --token ${{ secrets.CRATES_IO_TOKEN }} From d88e1d8f1017ea367d1a3869b1ec726905fb147b Mon Sep 17 00:00:00 2001 From: Bogdan Mircea Date: Fri, 23 May 2025 16:36:01 +0300 Subject: [PATCH 5/5] lints fixes --- Cargo.toml | 2 +- tests/combined.rs | 1 - tests/from.rs | 1 - 3 files changed, 1 insertion(+), 3 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 5a1108f..332ea08 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -2,7 +2,7 @@ name = "transitive" version = "1.2.0" edition = "2021" -rust-version = "1.77" +rust-version = "1.77.0" authors = ["bobozaur"] description = "Transitive derive macros for Rust." license = "MIT" diff --git a/tests/combined.rs b/tests/combined.rs index cd0235c..0fc1785 100644 --- a/tests/combined.rs +++ b/tests/combined.rs @@ -3,7 +3,6 @@ mod macros; use transitive::Transitive; #[derive(Transitive)] -#[allow(clippy::duplicated_attributes)] #[transitive(from(D, C, B), from(C, B))] // impl Fromfor A and impl From for A #[transitive(try_into(B, C, D))] // impl TryFrom for D struct A; diff --git a/tests/from.rs b/tests/from.rs index b19785d..6c97249 100644 --- a/tests/from.rs +++ b/tests/from.rs @@ -18,7 +18,6 @@ impl_from!(B to A); impl_from!(C to B); impl_from!(D to C); -#[allow(clippy::duplicated_attributes)] #[derive(Transitive)] #[transitive(from(D, C, B, A))] // impl From for Z #[transitive(from(C, B))] // impl From for Z