From 58759d530913e5ab490f00f3b3d2df22f1e7552b Mon Sep 17 00:00:00 2001 From: Paul van Tilburg Date: Tue, 21 Mar 2023 11:53:05 +0100 Subject: [PATCH] Add Gitea Actions workflow for cargo --- .gitea/workflows/cargo.yml | 83 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 .gitea/workflows/cargo.yml diff --git a/.gitea/workflows/cargo.yml b/.gitea/workflows/cargo.yml new file mode 100644 index 0000000..b0633bf --- /dev/null +++ b/.gitea/workflows/cargo.yml @@ -0,0 +1,83 @@ +name: "Check, Test and Lint Using Cargo" + +on: + - push + - pull_request + - workflow_dispatch + +jobs: + check: + name: Check + runs-on: debian-latest + steps: + - name: Checkout sources + uses: actions/checkout@v3 + + - name: Install stable toolchain + uses: https://github.com/actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: stable + override: true + + - name: Use sparse Cargo index for crates.io + run: echo -e '[registries.crates-io]\nprotocol = "sparse"' >> /root/.cargo/config.toml + + - name: Run cargo check + uses: https://github.com/actions-rs/cargo@v1 + with: + command: check + + # TODO: Add a test suite first! + # test: + # name: Test Suite + # runs-on: debian-latest + # steps: + # - name: Checkout sources + # uses: actions/checkout@v3 + # + # - name: Install stable toolchain + # uses: https://github.com/actions-rs/toolchain@v1 + # with: + # profile: minimal + # toolchain: stable + # override: true + # + # - name: Use sparse Cargo index for crates.io + # run: echo -e '[registries.crates-io]\nprotocol = "sparse"' >> /root/.cargo/config.toml + # + # - name: Run cargo test + # uses: https://github.com/actions-rs/cargo@v1 + # with: + # command: test + # args: --all-features + + lints: + name: Lints + runs-on: debian-latest + steps: + - name: Checkout sources + uses: actions/checkout@v3 + + - name: Install stable toolchain + uses: https://github.com/actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: stable + override: true + components: rustfmt, clippy + + - name: Use sparse Cargo index for crates.io + run: echo -e '[registries.crates-io]\nprotocol = "sparse"' >> /root/.cargo/config.toml + + - name: Run cargo fmt + uses: https://github.com/actions-rs/cargo@v1 + with: + command: fmt + args: --all -- --check + + - name: Run cargo clippy + uses: https://github.com/actions-rs/cargo@v1 + with: + command: clippy + args: -- -D warnings