diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e037043..fed95b1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -82,6 +82,11 @@ jobs: with: command: fmt args: --all -- --check + - name: Run Clippy + uses: actions-rs/cargo@v1 + with: + command: clippy + args: --all-features - name: Build release uses: actions-rs/cargo@v1 with: @@ -91,4 +96,4 @@ jobs: uses: actions-rs/cargo@v1 with: command: test - args: --release --all-features + args: --release --all-features \ No newline at end of file diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000..3f650bc --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,61 @@ +name: Publish to Cargo + +on: + release: + types: + - created + +jobs: + build_and_test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Install Rust + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + components: rustfmt, clippy + - uses: swatinem/rust-cache@v2.7.3 + - name: Run fmt + uses: actions-rs/cargo@v1 + with: + command: fmt + args: --all -- --check + - name: Run clippy + uses: actions-rs/cargo@v1 + with: + command: clippy + args: --all -- -D warnings + - name: Run Tests + uses: actions-rs/cargo@v1 + with: + command: test + args: --all + - name: Build Release + uses: actions-rs/cargo@v1 + with: + command: build + args: --release + + publish_to_cargo: + needs: build_and_test + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + fetch-depth: 1 + + - name: Install Rust + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + + - name: Publish to Cargo + uses: actions-rs/cargo@v1 + with: + command: publish + env: + CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }} \ No newline at end of file