diff --git a/.github/dependabot.yml b/.github/dependabot.yml deleted file mode 100644 index 74b048a..0000000 --- a/.github/dependabot.yml +++ /dev/null @@ -1,12 +0,0 @@ -version: 2 - -updates: - - package-ecosystem: cargo - directory: / - schedule: - interval: daily - - - package-ecosystem: github-actions - directory: / - schedule: - interval: daily diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml deleted file mode 100644 index becadf0..0000000 --- a/.github/workflows/main.yml +++ /dev/null @@ -1,270 +0,0 @@ -name: Rust CI -on: - push: - branches: - - main - pull_request: - types: [opened, reopened, synchronize] - -jobs: - test: - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - backend_feature: - - - - --features ristretto255 - - --features ristretto255,kem - - --features curve25519 - - --features ecdsa - - --features ed25519 - - --features ristretto255,curve25519,ecdsa,ed25519 - frontend_feature: - - - - --features argon2 - - --features serde - toolchain: - - stable - - 1.87.0 - name: test - env: - PKCS11_MODULE: /usr/lib/softhsm/libsofthsm2.so - SOFTHSM2_CONF: /tmp/softhsm2.conf - RUSTFLAGS: --cfg test_hsm - steps: - - name: Checkout sources - uses: actions/checkout@main - - - name: Install ${{ matrix.toolchain }} toolchain - uses: actions-rs/toolchain@v1 - with: - profile: minimal - toolchain: ${{ matrix.toolchain }} - override: true - - - name: Install SoftHSM - run: | - sudo apt-get update -y -qq && - sudo apt-get install -y -qq libsofthsm2 && - mkdir /tmp/tokens - echo "directories.tokendir = /tmp/tokens" > /tmp/softhsm2.conf - - - name: Run cargo test - uses: actions-rs/cargo@v1 - with: - command: test - args: --no-default-features ${{ matrix.backend_feature }} ${{ matrix.frontend_feature }} - - - name: Run cargo test with std - uses: actions-rs/cargo@v1 - with: - command: test - args: --no-default-features --features std ${{ matrix.backend_feature }} ${{ matrix.frontend_feature }} - - cross-test: - name: Test on ${{ matrix.target }} (using cross) - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - target: - # 32-bit x86 - - i686-unknown-linux-gnu - backend_feature: - - - - --features ristretto255 - - --features ristretto255,kem - - --features curve25519 - - --features ecdsa - - --features ed25519 - - --features ristretto255,curve25519,ecdsa,ed25519 - steps: - - uses: actions/checkout@main - - uses: hecrj/setup-rust-action@v2 - - run: cargo install cross - # Note: just use `cross` as you would `cargo`, but always - # pass the `--target=${{ matrix.target }}` arg. (Yes, really). - - run: cross test --verbose --target=${{ matrix.target }} --no-default-features ${{ matrix.backend_feature }} - - run: cross test --verbose --target=${{ matrix.target }} --no-default-features --features std ${{ matrix.backend_feature }} - - simple-login-test: - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - toolchain: - - stable - - 1.87.0 - name: test simple_login command-line example - steps: - - name: install expect - run: sudo apt-get install expect - - name: Checkout sources - uses: actions/checkout@main - - name: install rust - uses: actions-rs/toolchain@v1 - with: - profile: minimal - toolchain: ${{ matrix.toolchain }} - override: true - - name: Run expect (which then runs cargo run) - run: expect -f scripts/simple_login.exp - - digital-locker-test: - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - toolchain: - - stable - - 1.87.0 - name: test digital_locker command-line example - steps: - - name: install expect - run: sudo apt-get install expect - - name: Checkout sources - uses: actions/checkout@main - - name: install rust - uses: actions-rs/toolchain@v1 - with: - profile: minimal - toolchain: ${{ matrix.toolchain }} - override: true - - name: Run expect (which then runs cargo run) - run: expect -f scripts/digital_locker.exp - - build-no-std: - name: Build with no-std on ${{ matrix.target }} - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - target: - # for wasm - - wasm32-unknown-unknown - # for any no_std target - - thumbv6m-none-eabi - backend_feature: - - - - ristretto255 - - curve25519 - - ecdsa - - ed25519 - - ristretto255,curve25519,ecdsa,ed25519 - frontend_feature: - - argon2 - - serde - steps: - - uses: actions/checkout@main - - uses: hecrj/setup-rust-action@v2 - - run: rustup target add ${{ matrix.target }} - - run: cargo build --verbose --target=${{ matrix.target }} --no-default-features --features ${{ matrix.frontend_feature }},${{ matrix.backend_feature }} - - benches: - name: cargo bench compilation - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - backend_feature: - - --features ristretto255 - - --features ristretto255,kem - - - steps: - - name: Checkout sources - uses: actions/checkout@main - - - name: Install stable toolchain - uses: actions-rs/toolchain@v1 - with: - profile: minimal - toolchain: stable - override: true - - - name: Run cargo bench --no-run - uses: actions-rs/cargo@v1 - with: - command: bench - args: --no-default-features ${{ matrix.backend_feature }} --no-run - - clippy: - name: cargo clippy - runs-on: ubuntu-latest - steps: - - name: Checkout sources - uses: actions/checkout@main - - - name: Install stable toolchain - uses: actions-rs/toolchain@v1 - with: - profile: minimal - toolchain: stable - override: true - components: clippy - - - name: Run cargo clippy - uses: actions-rs/cargo@v1 - with: - command: clippy - args: --all-targets --features argon2,std,curve25519,ecdsa,ed25519,kem -- -D warnings - - format: - name: cargo fmt - runs-on: ubuntu-latest - steps: - - name: Checkout sources - uses: actions/checkout@main - - - name: Install nightly toolchain - uses: actions-rs/toolchain@v1 - with: - profile: minimal - toolchain: nightly - override: true - components: rustfmt - - - name: Run cargo fmt - uses: actions-rs/cargo@v1 - with: - command: fmt - args: --all -- --check - - - name: Run cargo doc - uses: actions-rs/cargo@v1 - env: - RUSTDOCFLAGS: -D warnings - with: - command: doc - args: --no-deps --document-private-items --features argon2,std,curve25519,ecdsa,ed25519,kem - - taplo: - name: Taplo - runs-on: ubuntu-latest - steps: - - name: Cache - uses: actions/cache@v5 - with: - path: | - ~/.cargo/.crates.toml - ~/.cargo/.crates2.json - ~/.cargo/bin/taplo - key: taplo - - - name: Install Taplo - # Adding the --locked flag because of - # https://github.com/tamasfe/taplo/issues/242 - run: cargo install taplo-cli --locked - - - name: Checkout sources - uses: actions/checkout@main - - - name: Run Taplo - run: taplo fmt --check - - deny-check: - name: cargo-deny check - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@main - - uses: EmbarkStudios/cargo-deny-action@v2 diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml deleted file mode 100644 index 30aa741..0000000 --- a/.github/workflows/publish.yml +++ /dev/null @@ -1,30 +0,0 @@ -name: Publish - -on: - release: - types: [published] # Only publish to crates.io when we formally publish a release - # For more on how to formally release on Github, read https://help.github.com/en/articles/creating-releases - -jobs: - publish: - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-latest] - rust: [stable] - - steps: - - uses: hecrj/setup-rust-action@v2 - with: - rust-version: ${{ matrix.rust }} - - uses: actions/checkout@main - - name: Login to crates.io - run: cargo login $CRATES_IO_TOKEN - env: - CRATES_IO_TOKEN: ${{ secrets.crates_io_token }} # https://help.github.com/en/actions/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets - - name: Dry run publish opaque-ke - run: cargo publish --dry-run --manifest-path Cargo.toml - - name: Publish opaque-ke - run: cargo publish --manifest-path Cargo.toml - env: - CARGO_REGISTRY_TOKEN: ${{ secrets.crates_io_token }}