diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 1e0339a8..4378f664 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -92,7 +92,7 @@ jobs: # S3 integration tests can't run from CI because they need credentials, but we # can at least make sure that they compile. - build-large-tests: + build-all-features: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -101,22 +101,9 @@ jobs: toolchain: stable - uses: swatinem/rust-cache@v2 - name: cargo build - run: cargo build --all-targets --features s3,s3-integration-test + run: cargo build --all-targets --all-features clippy: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: dtolnay/rust-toolchain@master - with: - toolchain: stable - - uses: swatinem/rust-cache@v2 - - name: clippy - run: cargo clippy --all-targets -- --deny clippy::all - - # Not all features can be run: s3 integration tests require credentials. - # But all of them should compile. - check-all-features: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 diff --git a/Cargo.toml b/Cargo.toml index 3796da0e..b774ac24 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -93,7 +93,7 @@ rstest = { version = "0.19", default-features = false } tracing-test = { version = "0.2", features = ["no-env-filter"] } [features] -default = ["s3"] +default = [] # blake2-rfc/simd_asm needs nightly, so it's no longer a feature here so that --all-features works on stable. # blake2_simd_asm = ["blake2-rfc/simd_asm"] s3 = [ diff --git a/NEWS.md b/NEWS.md index c6b3d851..187ac88b 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,5 +1,9 @@ # Conserve release history +## Unreleased + +- Changed: S3 is no longer built by default, because it adds many dependencies. It can be turned on again with `--features s3`. + ## 24.8.0 - Fixed: `restore --only` specifying a subdirectory no longer fails due to parent directories missing from the destination. diff --git a/README.md b/README.md index 690853e7..f36ea296 100644 --- a/README.md +++ b/README.md @@ -114,8 +114,7 @@ automatically excluded from backups. From 23.9 Conserve supports storing backups in Amazon S3. AWS IAM credentials are read from the standard sources: the environment, config file, or, on EC2, the instance metadata service. -S3 support can be turned off by passing `cargo install --no-default-features`. (There's no -runtime impact if it is not used, but it does add a lot of build-time dependencies.) +S3 support is not built by default, but can be turned on by passing `cargo install --features s3`. To use this, just specify an S3 URL for the archive location. The bucket must already exist.