Skip to content

Conversation

simonsan
Copy link
Contributor

@simonsan simonsan commented Nov 14, 2024

  • migrated to abscissa
  • fixed the tests
  • implemented typed routing
  • implemented compatibility workflow for CI => factored out to ci: add compatibility workflow #57
  • enhanced logging with tracing

Signed-off-by: simonsan <[email protected]>
Signed-off-by: simonsan <[email protected]>
Signed-off-by: simonsan <[email protected]>
Signed-off-by: simonsan <[email protected]>
Signed-off-by: simonsan <[email protected]>
Signed-off-by: simonsan <[email protected]>
Signed-off-by: simonsan <[email protected]>
Signed-off-by: simonsan <[email protected]>
Signed-off-by: simonsan <[email protected]>
Signed-off-by: simonsan <[email protected]>
We didn't return the config length, so restic assumed, it's non-existent.

Signed-off-by: simonsan <[email protected]>
Signed-off-by: simonsan <[email protected]>
Signed-off-by: simonsan <[email protected]>
Signed-off-by: simonsan <[email protected]>
Signed-off-by: simonsan <[email protected]>
Signed-off-by: simonsan <[email protected]>
@simonsan simonsan added A-architecture Area: Related to `rustic_server`s architecture A-ci Area: Pull requests that update CI code A-compatibility Area: Server API is not (fully) compatible with restic's server A-config Area: Related to the config file functionality and format A-meta Area: Project wide A-testing Area: Testing and coverage C-enhancement Category: New feature or request C-refactor Category: Refactoring of already existing code labels Nov 14, 2024
@simonsan simonsan merged commit 42cf95a into main Nov 14, 2024
21 checks passed
@simonsan simonsan deleted the testing/comp-test branch November 14, 2024 06:52
This was referenced Nov 14, 2024
simonsan pushed a commit that referenced this pull request Nov 14, 2024
## 🤖 New release
* `rustic_server`: 0.1.1 -> 0.2.0 (⚠️ API breaking changes)

### ⚠️ `rustic_server` breaking changes

```
--- failure enum_no_repr_variant_discriminant_changed: enum variant had its discriminant change value ---

Description:
The enum's variant had its discriminant value change. This breaks downstream code that used its value via a numeric cast like `as isize`.
        ref: https://doc.rust-lang.org/reference/items/enumerations.html#assigning-discriminant-values
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.36.0/src/lints/enum_no_repr_variant_discriminant_changed.ron

Failed in:
  variant AccessType::Read 1 -> 2 in /tmp/.tmpcPwX3l/rustic_server/src/acl.rs:38
  variant AccessType::Append 2 -> 3 in /tmp/.tmpcPwX3l/rustic_server/src/acl.rs:43
  variant AccessType::Modify 3 -> 4 in /tmp/.tmpcPwX3l/rustic_server/src/acl.rs:48

--- failure enum_tuple_variant_changed_kind: An enum tuple variant changed kind ---

Description:
A public enum's exhaustive tuple variant has changed to a different kind of enum variant, breaking possible instantiations and patterns.
        ref: https://doc.rust-lang.org/reference/items/enumerations.html
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.36.0/src/lints/enum_tuple_variant_changed_kind.ron

Failed in:
  variant ErrorKind::GeneralStorageError in /tmp/.tmpcPwX3l/rustic_server/src/error.rs:29

--- failure enum_variant_added: enum variant added on exhaustive enum ---

Description:
A publicly-visible enum without #[non_exhaustive] has a new variant.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#enum-variant-new
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.36.0/src/lints/enum_variant_added.ron

Failed in:
  variant AccessType:NoAccess in /tmp/.tmpcPwX3l/rustic_server/src/acl.rs:27
  variant AccessType:ForceUnlock in /tmp/.tmpcPwX3l/rustic_server/src/acl.rs:35
  variant ErrorKind:Config in /tmp/.tmpcPwX3l/rustic_server/src/error.rs:21
  variant ErrorKind:Io in /tmp/.tmpcPwX3l/rustic_server/src/error.rs:25
  variant ErrorKind:MissingUserInput in /tmp/.tmpcPwX3l/rustic_server/src/error.rs:33

--- failure enum_variant_missing: pub enum variant removed or renamed ---

Description:
A publicly-visible enum has at least one variant that is no longer available under its prior name. It may have been renamed or removed entirely.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.36.0/src/lints/enum_variant_missing.ron

Failed in:
  variant AccessType::Nothing, previously in file /tmp/.tmphyqXy7/rustic_server/src/acl.rs:21
  variant ErrorKind::InternalError, previously in file /tmp/.tmphyqXy7/rustic_server/src/error.rs:9
  variant ErrorKind::BadRequest, previously in file /tmp/.tmphyqXy7/rustic_server/src/error.rs:11
  variant ErrorKind::FilenameNotAllowed, previously in file /tmp/.tmphyqXy7/rustic_server/src/error.rs:13
  variant ErrorKind::PathNotAllowed, previously in file /tmp/.tmphyqXy7/rustic_server/src/error.rs:15
  variant ErrorKind::InvalidPath, previously in file /tmp/.tmphyqXy7/rustic_server/src/error.rs:17
  variant ErrorKind::NonUnicodePath, previously in file /tmp/.tmphyqXy7/rustic_server/src/error.rs:19
  variant ErrorKind::CreatingDirectoryFailed, previously in file /tmp/.tmphyqXy7/rustic_server/src/error.rs:21
  variant ErrorKind::NotImplemented, previously in file /tmp/.tmphyqXy7/rustic_server/src/error.rs:23
  variant ErrorKind::FileNotFound, previously in file /tmp/.tmphyqXy7/rustic_server/src/error.rs:25
  variant ErrorKind::GettingFileMetadataFailed, previously in file /tmp/.tmphyqXy7/rustic_server/src/error.rs:27
  variant ErrorKind::RangeNotValid, previously in file /tmp/.tmphyqXy7/rustic_server/src/error.rs:29
  variant ErrorKind::SeekingFileFailed, previously in file /tmp/.tmphyqXy7/rustic_server/src/error.rs:31
  variant ErrorKind::MultipartRangeNotImplemented, previously in file /tmp/.tmphyqXy7/rustic_server/src/error.rs:33
  variant ErrorKind::GeneralRange, previously in file /tmp/.tmphyqXy7/rustic_server/src/error.rs:35
  variant ErrorKind::ConversionToU64Failed, previously in file /tmp/.tmphyqXy7/rustic_server/src/error.rs:37
  variant ErrorKind::OpeningFileFailed, previously in file /tmp/.tmphyqXy7/rustic_server/src/error.rs:39
  variant ErrorKind::WritingToFileFailed, previously in file /tmp/.tmphyqXy7/rustic_server/src/error.rs:41
  variant ErrorKind::FinalizingFileFailed, previously in file /tmp/.tmphyqXy7/rustic_server/src/error.rs:43
  variant ErrorKind::GettingFileHandleFailed, previously in file /tmp/.tmphyqXy7/rustic_server/src/error.rs:45
  variant ErrorKind::RemovingFileFailed, previously in file /tmp/.tmphyqXy7/rustic_server/src/error.rs:47
  variant ErrorKind::ReadingFromStreamFailed, previously in file /tmp/.tmphyqXy7/rustic_server/src/error.rs:49
  variant ErrorKind::RemovingRepositoryFailed, previously in file /tmp/.tmphyqXy7/rustic_server/src/error.rs:51
  variant ErrorKind::AuthenticationHeaderError, previously in file /tmp/.tmphyqXy7/rustic_server/src/error.rs:53
  variant ErrorKind::UserAuthenticationError, previously in file /tmp/.tmphyqXy7/rustic_server/src/error.rs:55

--- failure function_missing: pub fn removed or renamed ---

Description:
A publicly-visible function cannot be imported by its prior path. A `pub use` may have been removed, or the function itself may have been renamed or removed entirely.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.36.0/src/lints/function_missing.ron

Failed in:
  function rustic_server::commands::serve::serve, previously in file /tmp/.tmphyqXy7/rustic_server/src/commands/serve.rs:19
  function rustic_server::log::init_trace_from, previously in file /tmp/.tmphyqXy7/rustic_server/src/log.rs:24
  function rustic_server::log::init_tracing, previously in file /tmp/.tmphyqXy7/rustic_server/src/log.rs:14

--- failure function_parameter_count_changed: pub fn parameter count changed ---

Description:
A publicly-visible function now takes a different number of parameters.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#fn-change-arity
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.36.0/src/lints/function_parameter_count_changed.ron

Failed in:
  rustic_server::web::start_web_server now takes 6 parameters instead of 7, in /tmp/.tmpcPwX3l/rustic_server/src/web.rs:41

--- failure inherent_method_missing: pub method removed or renamed ---

Description:
A publicly-visible method or associated fn is no longer available under its prior name. It may have been renamed or removed entirely.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.36.0/src/lints/inherent_method_missing.ron

Failed in:
  Acl::default_repo_access, previously in file /tmp/.tmphyqXy7/rustic_server/src/acl.rs:110

--- failure module_missing: pub module removed or renamed ---

Description:
A publicly-visible module cannot be imported by its prior path. A `pub use` may have been removed, or the module may have been renamed, removed, or made non-public.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.36.0/src/lints/module_missing.ron

Failed in:
  mod rustic_server::commands::serve, previously in file /tmp/.tmphyqXy7/rustic_server/src/commands/serve.rs:1
  mod rustic_server::config::auth_file, previously in file /tmp/.tmphyqXy7/rustic_server/src/config/auth_file.rs:1
  mod rustic_server::commands::auth, previously in file /tmp/.tmphyqXy7/rustic_server/src/commands/auth.rs:1
  mod rustic_server::config::auth_file::constants, previously in file /tmp/.tmphyqXy7/rustic_server/src/config/auth_file.rs:14
  mod rustic_server::config::server, previously in file /tmp/.tmphyqXy7/rustic_server/src/config/server.rs:1

--- failure struct_missing: pub struct removed or renamed ---

Description:
A publicly-visible struct cannot be imported by its prior path. A `pub use` may have been removed, or the struct itself may have been renamed or removed entirely.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.36.0/src/lints/struct_missing.ron

Failed in:
  struct rustic_server::config::auth_file::HtAccess, previously in file /tmp/.tmphyqXy7/rustic_server/src/config/auth_file.rs:19
  struct rustic_server::config::auth_file::Credential, previously in file /tmp/.tmphyqXy7/rustic_server/src/config/auth_file.rs:99
  struct rustic_server::commands::serve::Opts, previously in file /tmp/.tmphyqXy7/rustic_server/src/commands/serve.rs:121
  struct rustic_server::config::server::AccessControl, previously in file /tmp/.tmphyqXy7/rustic_server/src/config/server.rs:25
  struct rustic_server::config::server::Repos, previously in file /tmp/.tmphyqXy7/rustic_server/src/config/server.rs:18
  struct rustic_server::config::server::TLS, previously in file /tmp/.tmphyqXy7/rustic_server/src/config/server.rs:50
  struct rustic_server::commands::auth::HtAccessCmd, previously in file /tmp/.tmphyqXy7/rustic_server/src/commands/auth.rs:10
  struct rustic_server::config::server::Authorization, previously in file /tmp/.tmphyqXy7/rustic_server/src/config/server.rs:36
  struct rustic_server::config::server::Server, previously in file /tmp/.tmphyqXy7/rustic_server/src/config/server.rs:43
  struct rustic_server::config::server::ServerConfiguration, previously in file /tmp/.tmphyqXy7/rustic_server/src/config/server.rs:8

--- failure trait_added_supertrait: non-sealed trait added new supertraits ---

Description:
A non-sealed trait added one or more supertraits, which breaks downstream implementations of the trait
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#generic-bounds-tighten
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.36.0/src/lints/trait_added_supertrait.ron

Failed in:
  trait rustic_server::typed_path::PathParts gained Send in file /tmp/.tmpcPwX3l/rustic_server/src/typed_path.rs:5

--- failure trait_method_added: pub trait method added ---

Description:
A non-sealed public trait added a new method without a default implementation, which breaks downstream implementations of the trait
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#trait-new-item-no-default
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.36.0/src/lints/trait_method_added.ron

Failed in:
  trait method rustic_server::acl::AclChecker::is_allowed in file /tmp/.tmpcPwX3l/rustic_server/src/acl.rs:52

--- failure trait_method_missing: pub trait method removed or renamed ---

Description:
A trait method is no longer callable, and may have been renamed or removed entirely.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#major-any-change-to-trait-item-signatures
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.36.0/src/lints/trait_method_missing.ron

Failed in:
  method allowed of trait AclChecker, previously in file /tmp/.tmphyqXy7/rustic_server/src/acl.rs:28

--- failure trait_missing: pub trait removed or renamed ---

Description:
A publicly-visible trait cannot be imported by its prior path. A `pub use` may have been removed, or the trait itself may have been renamed or removed entirely.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.36.0/src/lints/trait_missing.ron

Failed in:
  trait rustic_server::auth::AuthChecker, previously in file /tmp/.tmphyqXy7/rustic_server/src/auth.rs:18
```

<details><summary><i><b>Changelog</b></i></summary><p>

<blockquote>

##
[0.2.0](v0.1.1...v0.2.0)
- 2024-11-14

### Other

- update readme
- [**breaking**] move to axum - Part II
([#56](#56))
</blockquote>


</p></details>

---
This PR was generated with
[release-plz](https://github.com/MarcoIeni/release-plz/).

Co-authored-by: rustic-release-plz[bot] <182542030+rustic-release-plz[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-architecture Area: Related to `rustic_server`s architecture A-ci Area: Pull requests that update CI code A-compatibility Area: Server API is not (fully) compatible with restic's server A-config Area: Related to the config file functionality and format A-meta Area: Project wide A-testing Area: Testing and coverage C-enhancement Category: New feature or request C-refactor Category: Refactoring of already existing code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant