From 49b737be3f9f178e92a216050f8ed2db27ffa269 Mon Sep 17 00:00:00 2001 From: Marc 'risson' Schmitt Date: Mon, 4 Nov 2024 18:57:19 +0100 Subject: [PATCH] wip Signed-off-by: Marc 'risson' Schmitt --- .github/workflows/ci-rust.yml | 11 +++++++-- justfile | 43 ++++++++++++++++++++++++++++++----- 2 files changed, 46 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ci-rust.yml b/.github/workflows/ci-rust.yml index 92de0f5..2982d1d 100644 --- a/.github/workflows/ci-rust.yml +++ b/.github/workflows/ci-rust.yml @@ -39,6 +39,12 @@ jobs: - name: Lint run: just ci-lint-${{ matrix.job }} build: + strategy: + fail-fast: false + matrix: + job: + - mit + - hl5 runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -48,14 +54,15 @@ jobs: with: tool: just - name: Build - run: just ci-build-rust + run: just ci-build-rust-${{ matrix.job }} test: strategy: fail-fast: false matrix: job: + - rust-mit + - rust-hl5 - mem - - rust runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 diff --git a/justfile b/justfile index 6ae5d59..a362efa 100644 --- a/justfile +++ b/justfile @@ -7,12 +7,16 @@ lint-fix: cargo fmt black python-kadmin-rs ruff check --fix python-kadmin-rs +[private] ci-lint-rustfmt: cargo fmt --check +[private] ci-lint-black: black --check python-kadmin-rs +[private] ci-lint-ruff: ci-build-deps ruff check python-kadmin-rs +[private] ci-lint-machete: cargo machete @@ -24,6 +28,7 @@ lint: cd kadmin && cargo clippy --no-default-features --features local cd python-kadmin-rs && cargo clippy cd python-kadmin-rs && cargo clippy --no-default-features --features local +[private] ci-lint-clippy: RUSTFLAGS="-Dwarnings" just lint @@ -40,15 +45,27 @@ build-rust: cd kadmin && cargo build --no-default-features --features local cd python-kadmin-rs && cargo build cd python-kadmin-rs && cargo build --no-default-features --features local -ci-build-deps: +[private] +ci-build-deps-mit: sudo apt-get update - sudo apt-get install -y --no-install-recommends krb5-multidev -ci-build-rust: + sudo apt-get install -y --no-install-recommends libkrb5-dev +[private] +ci-build-deps-h5l: + sudo apt-get update + sudo apt-get install -y --no-install-recommends heimdal-dev +[private] +ci-build-deps: ci-build-deps-mit +[private] +ci-build-rust-mit: ci-build-deps-mit + RUSTFLAGS="-Dwarnings" just build +[private] +ci-build-rust-h5l: ci-build-deps-h5l RUSTFLAGS="-Dwarnings" just build # Build python wheel build-python: ci-build-deps python -m build +[private] ci-build-python: build-python # Build rust crates and python wheel @@ -57,6 +74,7 @@ build: build-rust build-python # Build Python wheels for all supported platforms build-wheels: cibuildwheel +[private] ci-build-wheels: ci-build-deps build-wheels # Test kadmin-sys crate @@ -76,10 +94,21 @@ test-python-kadmin-rs: alias t := test-rust # Test all rust crates test-rust: test-kadmin-sys test-kadmin test-python-kadmin-rs +[private] ci-test-deps: sudo apt-get update - sudo apt-get install -y --no-install-recommends valgrind libkrb5-dev krb5-kdc krb5-user krb5-admin-server -ci-test-rust: ci-test-deps + sudo apt-get install -y --no-install-recommends valgrind +[private] +ci-test-deps-mit: ci-test-deps ci-build-deps-mit + sudo apt-get install -y --no-install-recommends krb5-kdc krb5-user krb5-admin-server +[private] +ci-test-deps-h5l: ci-test-deps ci-build-deps-h5l + sudo apt-get install -y --no-install-recommends heimdal-kdc heimdal-kcm heimdal-servers +[private] +ci-test-rust-mit: ci-test-deps-mit + RUSTFLAGS="-Dwarnings" just test-rust +[private] +ci-test-rust-h5l: ci-test-deps-h5l RUSTFLAGS="-Dwarnings" just test-rust alias tm := test-mem @@ -91,13 +120,15 @@ test-mem: cd kadmin && \ CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_RUNNER="valgrind --error-exitcode=1 --suppressions=tests/valgrind.supp -s --leak-check=full" \ cargo test --no-default-features --features local -ci-test-mem: ci-test-deps +[private] +ci-test-mem: ci-test-deps-mit just test-mem # Test python bindings test-python: install-python python -m unittest python-kadmin-rs/tests/test_*.py stubtest kadmin kadmin_local +[private] ci-test-python: test-python # Test rust crates and python bindings