From 4606e7bc89ca004ded38982eee571d224fda5836 Mon Sep 17 00:00:00 2001 From: Sandro-Alessio Gierens Date: Wed, 1 Nov 2023 23:40:11 +0100 Subject: [PATCH 1/2] refactor(ci): split general workflow into testing and linting Signed-off-by: Sandro-Alessio Gierens --- .github/workflows/general.yml | 53 ----------------------------------- .github/workflows/linting.yml | 50 +++++++++++++++++++++++++++++++++ .github/workflows/testing.yml | 48 +++++++++++++++++++++++++++++++ 3 files changed, 98 insertions(+), 53 deletions(-) delete mode 100644 .github/workflows/general.yml create mode 100644 .github/workflows/linting.yml create mode 100644 .github/workflows/testing.yml diff --git a/.github/workflows/general.yml b/.github/workflows/general.yml deleted file mode 100644 index 49420b3..0000000 --- a/.github/workflows/general.yml +++ /dev/null @@ -1,53 +0,0 @@ -name: Rust - -on: [push, pull_request] - -env: - CARGO_TERM_COLOR: always - -jobs: - test: - name: Test - 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 - - fmt: - name: Rustfmt - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - 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@v4 - - uses: dtolnay/rust-toolchain@stable - with: - components: clippy - - uses: Swatinem/rust-cache@v2 - - name: Linting - run: cargo clippy -- -D warnings - - coverage: - name: Code coverage - runs-on: ubuntu-latest - container: - image: xd009642/tarpaulin - options: --security-opt seccomp=unconfined - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - name: Generate code coverage - run: | - cargo tarpaulin --verbose --workspace \ No newline at end of file diff --git a/.github/workflows/linting.yml b/.github/workflows/linting.yml new file mode 100644 index 0000000..f73c664 --- /dev/null +++ b/.github/workflows/linting.yml @@ -0,0 +1,50 @@ +name: linting + +on: + push: + branches: + - 'main' + paths: + - 'src/**/*' + - 'tests/**/*' + - '**/Cargo.toml' + - '**/Cargo.lock' + - '.rustfmt.toml' + - '.github/workflows/linting.yml' + pull_request: + branches: + - 'main' + paths: + - 'src/**/*' + - 'tests/**/*' + - '**/Cargo.toml' + - '**/Cargo.lock' + - '.rustfmt.toml' + - '.github/workflows/linting.yml' + +env: + CARGO_TERM_COLOR: always + +jobs: + fmt: + name: Rustfmt + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - 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@v4 + - uses: dtolnay/rust-toolchain@stable + with: + components: clippy + - uses: Swatinem/rust-cache@v2 + - name: Linting + run: cargo clippy -- -D warnings diff --git a/.github/workflows/testing.yml b/.github/workflows/testing.yml new file mode 100644 index 0000000..74e17af --- /dev/null +++ b/.github/workflows/testing.yml @@ -0,0 +1,48 @@ +name: testing + +on: + push: + branches: + - 'main' + paths: + - 'src/**/*' + - 'tests/**/*' + - '**/Cargo.toml' + - '**/Cargo.lock' + - '.github/workflows/testing.yml' + pull_request: + branches: + - 'main' + paths: + - 'src/**/*' + - 'tests/**/*' + - '**/Cargo.toml' + - '**/Cargo.lock' + - '.github/workflows/testing.yml' + +env: + CARGO_TERM_COLOR: always + +jobs: + test: + name: Test + 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 + + coverage: + name: Code coverage + runs-on: ubuntu-latest + container: + image: xd009642/tarpaulin + options: --security-opt seccomp=unconfined + steps: + - name: Checkout repository + uses: actions/checkout@v4 + - name: Generate code coverage + run: | + cargo tarpaulin --verbose --workspace From 0ced54f472959f480ebf01ce9989716e7f22443d Mon Sep 17 00:00:00 2001 From: PThorpe92 Date: Mon, 1 Jan 2024 10:15:33 -0500 Subject: [PATCH 2/2] fix: add dependency installation to workflow --- .github/workflows/testing.yml | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/.github/workflows/testing.yml b/.github/workflows/testing.yml index f9fa0ce..71b4adc 100644 --- a/.github/workflows/testing.yml +++ b/.github/workflows/testing.yml @@ -3,22 +3,22 @@ name: testing on: push: branches: - - 'main' + - "main" paths: - - 'src/**/*' - - 'tests/**/*' - - '**/Cargo.toml' - - '**/Cargo.lock' - - '.github/workflows/testing.yml' + - "src/**/*" + - "tests/**/*" + - "**/Cargo.toml" + - "**/Cargo.lock" + - ".github/workflows/testing.yml" pull_request: branches: - - 'main' + - "main" paths: - - 'src/**/*' - - 'tests/**/*' - - '**/Cargo.toml' - - '**/Cargo.lock' - - '.github/workflows/testing.yml' + - "src/**/*" + - "tests/**/*" + - "**/Cargo.toml" + - "**/Cargo.lock" + - ".github/workflows/testing.yml" env: CARGO_TERM_COLOR: always @@ -36,6 +36,7 @@ jobs: NSS_WRAPPER_PASSWD: tests/fixtures/passwd NSS_WRAPPER_GROUP: tests/fixtures/group run: | + sudo apt update && sudo apt install -y libnss-wrapper cargo test LD_PRELOAD=libnss_wrapper.so cargo test --features test-integration mocked_ LD_PRELOAD=libnss_wrapper.so cargo test --features test-integration --test '*'