Commit Graph

242 Commits

Author SHA1 Message Date
David Tolnay
9b15f4abd3 Delete unused services_crate option and {{program:servers}}
Summary:
Prior to {D54500949}, the generated `:foo-rust` target used to depend on `:foo-rust-services` and needed to refer to its contents.

After that diff, there is no longer any generated code that depends on the `-services` crate, so we no longer need to pass the Thrift compiler a crate name by which to refer to the contents of the `-services` crate. This diff cleans that up.

Reviewed By: shayne-fletcher

Differential Revision: D56726365

fbshipit-source-id: d0e1cc1d302a6e848699c0e2e78692c9c6f9af5f
2024-04-29 16:41:17 -07:00
Mark Juggurnauth-Thomas
05cf8aaebe edenapi: only dump requests if configured to do so
Reviewed By: YousefSalama

Differential Revision: D56700009

fbshipit-source-id: 78dc1ce9b8f4e788cfb0eb74c0563db29f6cf8d2
2024-04-29 07:27:01 -07:00
David Tolnay
ebef6ec6cb Update autocargo component on FBS:master
Reviewed By: zertosh

Differential Revision: D56655848

fbshipit-source-id: 3ff1c47bd562e6fa88e17432f1535dd7002044f5
2024-04-26 15:39:05 -07:00
Youssef Ibrahim
299f72140c git/protocol: make packfile generation generic over GitDeltaManifest version
Summary: We want to create a new version of `GitDeltaManifest` that uses git's diff algorithm to generate deltas, and we need to be able to use it alongside the current version. In order to do this, this diff creates traits that encapsulate what is needed out of `GitDeltaManifest` and makes the packfile generation code generic over them. This diff also implements a `fetch_git_delta_manifest` method to get whatever `GitDeltaManifest` version is configured in derived data types repo config.

Reviewed By: markbt

Differential Revision: D56578016

fbshipit-source-id: a6bf23836ebe81c421e99cb44b0b652aa74c5394
2024-04-26 04:30:42 -07:00
Rajiv Sharma
cf479a270b Configuration for sleep time between incremental iterations of RepoMetadataLogger
Summary: We want to be able to run `RepoMetadataLogger` in incremental mode where we can process only subset of the repo instead of processing the whole repo in every iteration. Since the incremental operation will go over a much smaller subset of file and directories, we want to run the job more frequently than a day but at the same time we don't want it running every 10-20 minutes. This diff allows us to configure how long we want to wait before every iteration for a repo.

Differential Revision: D56421891

fbshipit-source-id: 7ba9afec35f49ed876488cf5f3f83527964b6b2e
2024-04-23 16:58:29 -07:00
Rajiv Sharma
d613daeba1 Define ShardedServiceType for RepoMetadataLogger
Summary: `RepoMetadataLogger` is going to be introduced as a new TW job that will be deep sharded. This diff adds the necessary sharding configuration parsing to make that happen. The corresponding configerator diff is D56354567

Differential Revision: D56354845

fbshipit-source-id: 1955215da1e19e51fe0bf7ee87fc130f78a67c69
2024-04-23 16:58:29 -07:00
David Tolnay
408a02b7da Add a -mocks subcrate exporting constructor function for mock clients
Summary:
According to the analysis in D54709575, about 60% of the compile time of Rust Thrift client crates is the mocks. Mocks are rarely used compared to the rest of the contents of the clients crate, and almost always just in tests. Moving mocks out to a separate crate therefore makes clients build 2.5× faster.

This diff keeps the mock implementations in the `-clients` crate for now, but adds a new `-mocks` crate matching the API that we'll need to migrate to. According to `fbgs -frs$ '>::mock()' -l` there are 769 call sites that need to be updated, which is small compared to the Thrift codemods from earlier in the year. Once the codemod is done, we get to cash in on the build speedup in {D56451418}.

The dependency graph is:

```lang=mermaid
flowchart BT;
    foo-clients --> foo["foo (#quot;types#quot;)"];
    foo-services --> foo;
    foo-mocks --> foo-clients;
```

Previously, mocks were constructed using an associated function on the client trait object: `<dyn FooClient>::mock()`. In the new API, the trait `FooClient` is defined in `foo-clients` whereas the mock client for the same Thrift service is defined in `foo-mocks`, so a different approach is needed because the mocks crate cannot add an inherent method onto a trait object defined in a different crate. We need to pick one of the following APIs to use instead:

1. An extension trait: `use foo_mocks::DynClient as _; <dyn FooService>::mock()`

2. `<dyn FooService as foo_mocks::DynClient>::mock()`

3. `foo_mocks:🆕:<dyn FooService>()`

4. `foo_mocks::FooService::new()`

5. `foo_mocks::FooServiceMock::new()` (append `Mock` suffix to service name)

Number 3 or 5 seems the most promising to me. 4 doesn't seem pleasant because you'd almost always want to have the client `trait FooService` imported in order to be able to make trait method calls on your mock, which gives rise to a name collision in the type namespace.

This diff implements option 3 but I am interested in feedback.

Reviewed By: Imxset21, shayne-fletcher

Differential Revision: D56451421

fbshipit-source-id: c23fd9a28f8dd5bd75306a913819bc0ed66fb4e5
2024-04-23 16:09:14 -07:00
Rajiv Sharma
f4c2761f40 Define git_memory_upper_bound in CommonConfig
Summary:
This diff is the fbsource counterpart of D56242448. For more context, refer that diff.

NOTE: The config change made here is backwards compatible. The new value is optional so clients without this value can still continue to function.

Reviewed By: singhsrb

Differential Revision: D56243061

fbshipit-source-id: 41997d4354048fd8f695c00fc84f290cdd065cc9
2024-04-19 05:08:41 -07:00
Pierre Chevalier
057cff134b Remove tunables library
Summary:
We switched to justknobs in past hack-a-thons.
The configuration-side of this were already removed a while back: D54004256

This is now fully unused.

Reviewed By: mitrandir77

Differential Revision: D56241092

fbshipit-source-id: f0d7c677d71f2cefcd287e393f54d1fa67c9690d
2024-04-17 11:02:38 -07:00
Luisa Vasquez Gomez
1c84cd6f77 commit cloud: Make xdb.commit_cloud visible to mononoke
Summary: After landing the configurator changes and creating a "test_db" for integration tests to use, this allows Commit Cloud to use xdb.commit_cloud (which will be added in the next diff

Reviewed By: mitrandir77

Differential Revision: D55679989

fbshipit-source-id: ddbef0c2c6aa6431ac9529bfe1b708303597da39
2024-04-11 16:49:45 -07:00
Youssef Ibrahim
6a086e3953 repo_metadata_logger: add repo config to specify bookmarks to log metadata for
Summary:
Context: repo_metadata_logger (https://www.internalfb.com/code/fbsource/[47c9910c86bc]/fbcode/scm/repo_metadata_logger/main.py) is a python script that requests metadata about all files and directories in repos from SCS and then logs it. As this script powers the dim_scm_repo_metadata hive table which is used for tracking developer productivity, we would like to make it faster and more reliable, and a good step towards this is to turn it into a Mononoke app.

Currently which bookmarks to log metadata for is hardcoded for each repo in the python script. Let's make it a repo config instead

Reviewed By: RajivTS

Differential Revision: D55426907

fbshipit-source-id: 3b7f53a3f1f6ce7634377bfb3af82eb538e8b6cf
2024-04-04 12:07:49 -07:00
Simon Marlow
51aca8fc36 Support picking the closest DBs to the user's revision
Summary:
When the request supplies a revision, and the `nearest_revision`
feature flag is enabled, and `exact_revision = False`, Glass will
choose DBs that are nearest to the supplied revision using a
site-specific `getGeneration` API to map revisions to a linear scale.

Reviewed By: pepeiborra

Differential Revision: D55519942

fbshipit-source-id: 56bf0e52a137b238fd839ab92ff082305f830cbf
2024-04-04 07:43:23 -07:00
J.T. Conklin
938997f48d rust/third-party: update to futures-0.3.30
Summary:
Changelog since last import:

```
# 0.3.30 - 2023-12-24

* Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` (#2797)
* Fix panic in `FuturesUnordered::clear` (#2809)
* Fix panic in `AsyncBufReadExt::fill_buf` (#2801, #2812)
* Improve support for targets without atomic CAS (#2811)
* Remove build scripts (#2811)

# 0.3.29 - 2023-10-26

* Add `TryStreamExt::try_ready_chunks` (#2757)
* Add `TryStreamExt::{try_all,try_any}` (#2783)
* Add `UnboundedSender::{len,is_empty}` (#2750)
* Fix `Sync` impl of `FuturesUnordered` (#2788)
* Fix infinite loop caused by invalid UTF-8 bytes (#2785)
* Fix build error with -Z minimal-versions (#2761)
```

I'm updating this as I need `TryStreamExt::try_all()` for a Sandcastle Worker change.

Reviewed By: krallin

Differential Revision: D55318002

fbshipit-source-id: 0f64b13570cd1644000c3639bf16c0746266cb8e
2024-03-27 16:23:45 -07:00
Jeremy Fitzhardinge
6d56d808ac third-party/rust: make tracing and tracing-subscriber available to no-std universe
Summary: They support no-std with a bunch of features turned off.

Reviewed By: dtolnay

Differential Revision: D55333115

fbshipit-source-id: e66ee699cb3bc3e74f6c7b4d9a81e488e9768e40
2024-03-25 21:40:59 -07:00
Rajiv Sharma
4e03ade4d0 Add Mononoke Git Server as a sharded service
Summary: The fbcode counterpart of D55313321. This diff needs to land before the configerator one due to config hot reloading

Reviewed By: clara-9

Differential Revision: D55314515

fbshipit-source-id: 78b3398b60cdbc00a8ed89cc966143533778aa11
2024-03-25 07:35:57 -07:00
Rajiv Sharma
dd5c7679d8 Config parsing for Git Concurrency Params
Summary: This diff adds the rust parsing code for the configerator changes in `RepoConfig` for `GitConcurrencyParams`. These params are used for controlling the concurrency during git protocol packfile stream generation.

Reviewed By: clara-9

Differential Revision: D55137452

fbshipit-source-id: 3d7b7f0d5dbe1d234ca68910b58d425bed74a06a
2024-03-25 07:35:57 -07:00
Gustavo Galvao Avena
cf72f10760 Sync thrift changes from D54812808
Summary:
Just syncs the changes from D54812808.
I'll only ship it once D54812808 is accepted and pushed.

Reviewed By: mitrandir77

Differential Revision: D54815705

fbshipit-source-id: fe148ebbbe15362e1ea95d26e96e9fff3ce75ed8
2024-03-15 02:53:48 -07:00
David Tolnay
577e80ae3a Remove _types suffix from Thrift Cargo package names
Summary:
This suffix was necessary prior to D54710352 because there used to be 2 distinct Thrift-generated packages and they needed to have different Cargo package names (`foo`, `foo_types`) in order to appear in the same Cargo workspace.

kuecks noticed failures like the following in `oss-eden-linux-getdeps-nosystem` since the above diff:

```lang=text,counterexample
error: failed to resolve patches for `https://github.com/facebook/fb303.git`

Caused by:
  patch for `fb303_core` in `https://github.com/facebook/fb303.git` failed to resolve

Caused by:
  The patch location `/data/sandcastle/temp/skycastle/fbcode_builder_getdeps/shipit/fb303/fb303/thrift` does not appear to contain any packages matching the name `fb303_core`.
```

I suspect this is related to:

https://www.internalfb.com/code/fbsource/[07765f7b56438645403907f8f314b21961d1e522]/fbcode/opensource/fbcode_builder/manifests/fb303?lines=1-2%2C13-14

using the crate's name (`fb303_core`) instead of the Cargo package name (`fb303_core_types`).

The `_types` suffix is no longer needed. This diff removes them and hopefully resolves that failure.

Reviewed By: zertosh

Differential Revision: D54859971

fbshipit-source-id: 538e64122bc7b57158d47ab4c2685b7bbbe2e3a1
2024-03-13 12:05:37 -07:00
David Tolnay
becf2cd06e Update autocargo component on FBS:master
Reviewed By: zertosh

Differential Revision: D54770836

fbshipit-source-id: 2417729ed8d0e2a7bdfca98aeed106fd30d7ab36
2024-03-11 13:55:15 -07:00
David Tolnay
3d7867de0d Remove -types suffix from Buck target of types subcrate
Summary:
Refer to the summary of D54709575. This diff implements Step 1: `:foo-rust-types` becomes an alias for `:foo-rust`, as opposed to `:foo-rust` being a separate crate containing re-exports from `:foo-rust-types`.

With this, a lot of targets now have a significantly smaller dependency graph. For example: `buck2 cquery 'kind("rust_library", deps(fbcode//zippydb/tools/zu_rs:))' | wc -l`

- **Before:** 7235
- **After:** 5608

Reviewed By: zertosh

Differential Revision: D54710352

fbshipit-source-id: d7dbcdf1fa80d3dc2fd50cc1a75d9ea98146ed3e
2024-03-11 10:22:23 -07:00
David Tolnay
cc7ec02f1a Update autocargo component on FBS:master
Reviewed By: zertosh

Differential Revision: D54758279

fbshipit-source-id: 701acb1991e1e29cfebc85ec8a266e915e48a462
2024-03-11 10:18:01 -07:00
David Tolnay
3d58b7fc1a Eliminate dependency of :foo-rust on :foo-rust-clients and :foo-rust-services
Summary:
And with that, a lot of targets now have a significantly smaller dependency graph. For example: `buck2 cquery 'kind("rust_library", deps(fbcode//zippydb/tools/zu_rs:))' | wc -l`

- **Before:** 9360
- **After:** 7148

After this diff, `:foo-rust` is almost completely vestigial. The summary of D54468159 describes how it will be eliminated next, leaving even less dependencies.

Context: https://fb.workplace.com/groups/rust.language/posts/25780668961555042

Reviewed By: zertosh

Differential Revision: D54500949

fbshipit-source-id: a7e4ea36f652d1820809945eab1c7fa9b15929ab
2024-03-04 13:37:15 -08:00
David Tolnay
b09140b832 Soft deprecate client, mock, and server modules
Summary:
This is the start of the codemod for https://fb.workplace.com/groups/rust.language/posts/25780668961555042.

It follows the same approach as {D53374511} by adding a comment above the re-exports to identify the correct Buck target to use instead. This way I can codemod all uses by locally changing the comment into a real `#[deprecated = "..."]` attribute, compiling all Rust targets with `-Awarnings -Wdeprecated` in rustflags, parsing the deprecation warnings, and programmatically applying the correct fix.

Note that the deprecation needs to be on a `pub mod` rather than a `pub use` because deprecation on re-exports is not supported by Rust.

Reviewed By: zertosh

Differential Revision: D54332814

fbshipit-source-id: 16358f211032a7b1a701c08d909078b86b53d65f
2024-02-28 20:20:39 -08:00
Shayne Fletcher
6d2a9bede4 verify use of structured annotations (2/2)
Summary:
the intent is to test conversion to rust structured annotations for a subset of fbcode (have chosen 'fbcode/configerator/structs/scm/mononoke')

this diff  relies on D53674463 (should land in conjunction with this one) where .thrift files are updated so that rust unstructured annotations are replaced by their structured equivalents.

Reviewed By: dtolnay

Differential Revision: D53676407

fbshipit-source-id: a3f71bd94354f2cf4f6400cf773c71f08b73966e
2024-02-23 12:57:31 -08:00
Gustavo Galvao Avena
4a2a9c9cd0 Sync thrift changes from D53406674
Summary: As title. Will update `SmallRepoCommitSyncConfig` and `GitSubmodulesChangesAction` structs in the next diff, along with the conversion layer.

Differential Revision: D53517922

fbshipit-source-id: 1575362448dbd6eb9e2f5770726e4e8a2453825e
2024-02-09 02:26:04 -08:00
David Tolnay
f31a683d77 Regenerate thrift_build.rs with labels
Summary:
Changes resulting from {D53374511}. I think this was supposed to be in that diff.

It doesn't necessarily make sense to have these fbcode target names in Autocargo-generated code that gets shipped to GitHub. I can look into getting autocargo to omit these.

Reviewed By: zertosh, shayne-fletcher

Differential Revision: D53379521

fbshipit-source-id: 6377e6181b0b1e0a86f6144e208773959fda0ac0
2024-02-03 06:25:38 -08:00
David Tolnay
df6405bf25 Disable Cargo documentation generation for Thrift targets
Summary:
I came across this failure in `oss-mononoke-linux-getdeps` likely caused by {D53302058}:

> error: document output filename collision
> The lib `bonsai_globalrev_mapping_thrift` in package `bonsai_globalrev_mapping_thrift_types v0.1.0 (/data/sandcastle/temp/skycastle/fbcode_builder_getdeps/build/mononoke/source/eden/mononoke/bonsai_globalrev_mapping/if/types)` has the same name as the lib `bonsai_globalrev_mapping_thrift` in package `bonsai_globalrev_mapping_thrift v0.1.0 (/data/sandcastle/temp/skycastle/fbcode_builder_getdeps/build/mononoke/source/eden/mononoke/bonsai_globalrev_mapping/if)`.
> Only one may be documented at once since they output to the same path.
> Consider documenting only one, renaming one, or marking one with `doc = false` in Cargo.toml.

We don't need Cargo-generated docs of Thrift targets.

Reviewed By: zertosh

Differential Revision: D53339579

fbshipit-source-id: 3dc0d404777ca436e0f6de7ae7491925d709e331
2024-02-02 07:45:58 -08:00
David Tolnay
4a1a0d6284 Remove _types suffix from name of types crate
Summary:
The Rust Thrift implementation presently compiles to 4 crates:

```lang=mermaid
flowchart TD;
    foo --> foo-clients;
    foo --> foo-types;
    foo --> foo-services;
    foo-clients --> foo-types;
    foo-services --> foo-types;
```

Sadly, the one with the best name is the most useless. That top-level foo crate just contains the following:

```
pub use ::foo_types as types;
pub use ::foo_clients as client;
pub use ::foo_services as server;

pub use ::foo_types::consts;
pub use ::foo_types::errors;
pub use ::foo_types::services;
pub use ::foo_clients::mock;

pub use self::consts::*;
pub use self::errors::*;
pub use self::types::*;
```

Furthermore, it is extremely uncommon for anything to want to be both a client and a server of the *same* Thrift interface. It arises occasionally for proxies, but otherwise you are either implementing the server for a particular service, or accessing it as a client, not both.

I am interested in eliminating the useless crate, and renaming the types subcrate to the nice name.

```lang=mermaid
flowchart TD;
    foo-clients --> foo;
    foo-services --> foo;
```

### Implementation plan

1. This diff
2. Migrate everything that uses `:foo-rust` and needs a client to `:foo-rust-clients`, and everything that needs a server to `:foo-rust-services` -- after this point, everything still depending on `:foo-rust` only uses types
3. In the macros, atomically delete `:foo-rust` and rename `:foo-rust-types` into its place (this will be a small diff)

Reviewed By: zertosh, shayne-fletcher

Differential Revision: D53302058

fbshipit-source-id: 8d28c90f3a13e71e0cedd3ce3c1cb6fe40cffe27
2024-02-01 10:26:41 -08:00
David Tolnay
7cdd8ec65a Eliminate deps from clients to servers and vice versa
Summary:
# Before:

If a Thrift library A depends on Thrift library B, all of the dependencies on B are bottlenecked through B's main library. That means building A's clients requires building B's servers, and building A's servers requires building B's clients, neither of which should be necessary.

```lang=mermaid
flowchart TD;
    A --> A-clients;
    A --> A-types;
    A --> A-services;
    A-clients --> A-types;
    A-services --> A-types;

    B --> B-clients;
    B --> B-types;
    B --> B-services;
    B-clients --> B-types;
    B-services --> B-types;

    A --> B;
    A-clients --> B;
    A-services --> B;
    A-types --> B;
```

# After:

A tidy lattice. Projects that implement a Thrift service can build only the servers for A and B, without also building all their clients. Projects that need Thrift clients for various services can build just the clients without also building a bunch of unused infrastructure for writing a server implementation.

```lang=mermaid
flowchart TD;
    A --> A-clients;
    A --> A-types;
    A --> A-services;
    A-clients --> A-types;
    A-services --> A-types;

    B --> B-clients;
    B --> B-types;
    B --> B-services;
    B-clients --> B-types;
    B-services --> B-types;

    A --> B;
    A-clients --> B-clients;
    A-services --> B-services;
    A-types --> B-types;
```

Reviewed By: shayne-fletcher

Differential Revision: D53246158

fbshipit-source-id: 37cc5cb111c39c567c69e8fb2eaf23fd940082b3
2024-02-01 07:14:06 -08:00
Ben Mehlow
7009abd992 add oncall annotation for TARGETS files in fbcode based on configerator acl information - /tmp/configerator_sorted_missing_oncalls_4_oncall_finder_fixed.csv
Summary:
This diff adds oncall to Buck TARGETS files in fbcode repository based on configerator acl information.

This diff was generated by this command:
    ./fbcode/ownership/coverage/submit_diff_with_file_oncall_mapping.sh /tmp/configerator_sorted_missing_oncalls_4_oncall_finder_fixed.csv

see more context here: https://fb.workplace.com/groups/fbcode/posts/6551897871513663 and https://fb.workplace.com/groups/fbcode.devx/permalink/3149549092006627/

drop_conflicts

Reviewed By: bayarmunkh

Differential Revision: D52751199

fbshipit-source-id: 9ae64a554edbc3639a3c0d8c0bc443c2277858d1
2024-01-19 10:15:14 -08:00
Mateusz Kwapich
01763fc058 thrift sync
Summary: I've changed the config in configerator in D52786201, let's sync the changes to fbsource.

Reviewed By: liubov-dmitrieva

Differential Revision: D52786217

fbshipit-source-id: 9e8cdd96915aee6624403dd1a288443b9b946426
2024-01-16 06:37:59 -08:00
Mark Juggurnauth-Thomas
dc2c2a638c repo_client: move unbundle commit limit to config
Summary: Replace the `unbundle_limit_num_of_commits_in_push` tunable with repo-level configuration.

Reviewed By: gustavoavena

Differential Revision: D52201415

fbshipit-source-id: da7fa9a0360901657701904b9d0e4733aac7a5b5
2023-12-19 06:23:40 -08:00
David Tolnay
47c8f223f2 update platform010 & platform010-aarch64 symlinks
Summary:
Release notes: https://blog.rust-lang.org/2023/10/05/Rust-1.73.0.html

This release is coupled with an update of the `anyhow` and `thiserror` crates because the unstable standard library API for backtraces has changed.

Fbcode changes:

- `feature(default_free_fn)` deleted (D50300881)
- `noop_method_call` lint becomes warn-by-default (D50486032, D50516201)
- stronger `invalid_reference_casting` detection (D50488164)
- `feature(unix_chown)` has been stabilized
- `feature(provide_any)` and `std::provider` deleted
- `clippy::unwrap_or_else_default` renamed to `clippy::unwrap_or_default`
- type inference ambiguities (D51780425)
- `nu-command` build error (D51779062)

Reviewed By: AndreasBackx, shayne-fletcher

Differential Revision: D50294321

fbshipit-source-id: 0fac87f6ba072ad029f9ce41ce94ed813e855b20
2023-12-02 13:52:50 -08:00
Andres Suarez
30e1a637f3 Update autocargo component on FBS:master
Reviewed By: dtolnay

Differential Revision: D51692353

fbshipit-source-id: 44864a348711875983de81758bbe05b46ad4c604
2023-11-29 18:35:29 -08:00
Clara Rull
c2cba6ffd3 RawOssDbCofig deprecate unused fields
Summary: See D51551917

Reviewed By: mitrandir77

Differential Revision: D51551872

fbshipit-source-id: d781f1609ee4f8329c9392956b6dfa1a613c2d0e
2023-11-29 06:26:29 -08:00
Clara Rull
0c656ac7b1 RawOssDBConfig thrift sync
Summary: See D51548653

Reviewed By: mitrandir77

Differential Revision: D51550339

fbshipit-source-id: aa4569a3d853b32797e6ff6cc3d803d3713f8136
2023-11-28 02:17:57 -08:00
Clara Rull
a37dd7a7fc Parse AWS S3 blobstore config
Summary: In this diff I sync the Thrift file from D51347853 and parse it into the actual struct that will create the s3 client to write to the blobstore

Differential Revision: D51350175

fbshipit-source-id: 0979582727499fdc13e97909949cbd7be3b4b642
2023-11-16 05:56:52 -08:00
Andres Suarez
5815940e22 Update (and unfork) tracing from 0.1.37 to 0.1.40
Summary:
Replaces the various `tracing` forks for [tokio-rs/tracing#2407] with
crates-io releases containing those changes.

[tokio-rs/tracing#2407]: https://github.com/tokio-rs/tracing/pull/2407

Reviewed By: capickett, davidbarsky

Differential Revision: D51266382

fbshipit-source-id: 5ad0b7b9477e5fa450e52c639357fe485e0e89ff
2023-11-13 18:18:35 -08:00
Clara Rull
28967f3f22 Thrift sync database in oss_remote
Summary: This is simply a sync of the changes made in to D51067227

Reviewed By: mitrandir77

Differential Revision: D51260726

fbshipit-source-id: 9be63518b2cb05ee9e850206b17cc9a87e9167b3
2023-11-13 15:19:58 -08:00
Gustavo Galvao Avena
024c238477 Sync thrift changes from D51110869
Summary:
## This stack
See summary of D50967891.

## This diff
As title.

See comments in D51107527 where the field is implemented in the Rust data types along with the necessary conversion.

Reviewed By: markbt

Differential Revision: D51202229

fbshipit-source-id: 1ccfc119ec6044596c0b096db9d0a956d6de7c22
2023-11-13 02:20:17 -08:00
Pierre Chevalier
049d8b7dd5 commitsync: Add "common pushrebase bookmarks map" from configerator
Summary:
Change automatically synced from configerator by running
```
configerator-thrift-updater scm/mononoke/repos/commitsync.thrift
```
on D51031202.

Then, fixed compilation.

Reviewed By: markbt

Differential Revision: D51069865

fbshipit-source-id: f00267f0e96831a2140e100d43f6adae08981ae8
2023-11-08 06:34:30 -08:00
Kevin Chen
29dc9ec0e6 Return service config paths from any root folder match
Summary:
Currently, the repo service throws if any of the repo service root folders don't match the provided ServiceID. This logic is incorrect; we should instead check if _any_ of the root folders _match_, and return the first one that does.

Context: https://fb.workplace.com/groups/826961712023862/posts/1169514477768582

Differential Revision: D50755264

fbshipit-source-id: 71e1f5e63a1c35268ca57d09a5064607eb2fa5e4
2023-10-27 17:34:53 -07:00
Facebook GitHub Bot
df8fba6e6d Re-sync with internal repository
The internal and external repositories are out of sync. This Pull Request attempts to brings them back in sync by patching the GitHub repository. Please carefully review this patch. You must disable ShipIt for your project in order to merge this pull request. DO NOT IMPORT this pull request. Instead, merge it directly on GitHub using the MERGE BUTTON. Re-enable ShipIt after merging.
2023-10-11 22:09:00 -07:00
Andres Suarez
f24cbe72d6 Update and pin anyhow to 1.0.72
Summary:
anyhow-1.0.73 [uses][1] the new `Error::provide` API. This API is
available starting in Rust 1.73. This means that if you want backtraces,
you need one:

- anyhow-1.0.72 & Rust 1.72
- anyhow-1.0.73 & Rust 1.73

Since we're still on 1.72, pin the version to avoid accidentally losing
backtraces.

There are no real changes between anyhow-1.0.71 and anyhow-1.0.72. But
update to anyhow-1.0.72 so that we're right up until the point where we
get backtrace support.

[1]: https://github.com/dtolnay/anyhow/pull/319

Reviewed By: shayne-fletcher

Differential Revision: D49970958

fbshipit-source-id: 1193611e6d16bc840e63b689e932ea3d33562152
2023-10-05 15:20:03 -07:00
Mark Juggurnauth-Thomas
d5f0f7132f metaconfig: add configuration for hook implementation and json config
Summary: Sync definitions from configerator and add local definitions for new hook config.

Reviewed By: RajivTS

Differential Revision: D49094388

fbshipit-source-id: aeba2d69d1be6ebd2f52fe61fdbd4ef5415c9681
2023-09-29 11:49:25 -07:00
Sergey Anpilov
638716e59f adding deprecated_default_enum_min_i32: multi-liners [3/n]
Reviewed By: zertosh

Differential Revision: D49064137

fbshipit-source-id: d6738790c967d41410fb5cbec79e0af52f6fbf96
2023-09-07 12:53:33 -07:00
generatedunixname89002005287564
9e06b9b7c3 Sync fbcode/configerator/structs/scm/mononoke/blobimport/state.thrift
Differential Revision: D48601561

fbshipit-source-id: 10be15fc3ae4f8a7cf987cf49acb0000b6f87c72
2023-08-23 09:29:33 -07:00
Andres Suarez
0f2d71f115 Update serde from 1.0.176 to 1.0.185
Summary:
This release most notably removes the precompiled serde_derive:
https://github.com/serde-rs/serde/releases/tag/v1.0.184

Reviewed By: shayne-fletcher

Differential Revision: D48516549

fbshipit-source-id: 077f650094f9424982de9283d04ede59306947b0
2023-08-21 06:07:02 -07:00
Shayne Fletcher
573cd203c1 @nocommit send consts to -types crate
Summary: move thrift generated `consts.rs` files into -types crates

Reviewed By: zertosh

Differential Revision:
D48158513

Privacy Context Container: L1124100

fbshipit-source-id: bcf9a1193a855d90f4f2d899a2a3e3208b9e2c85
2023-08-15 11:29:19 -07:00
David Tolnay
96e88771fd Update serde from 1.0.167 to 1.0.176
Reviewed By: quark-zju

Differential Revision: D47811862

fbshipit-source-id: 03cefc52f3d024a2d0fb5580bed079ff2b4651e0
2023-07-26 21:23:58 -07:00