These 55 commits are when the Protocol Buffers files have changed:
| Commit: | 9b4a806 | |
|---|---|---|
| Author: | Leandro Ostera | |
| Committer: | GitHub | |
feat(tricorders/rust): generate binary and library signatures (#64) + move to nightly + use our own cargo manifest representation (cargo_toml is insuficient, cargo's own repr is not thread safe) + add tests for generating cargo toml signatures + better tree walking using ripgrep's ignore crate + fixed a bunch of tests + introduce `subpath` to dependency requirement + add better logger support using the `WARP_TRICORDER_LOG` env var + add e2e test for booting + update all deps + add anyhow test repository + add external crate support for rust libraries + add signature configuration to transitive dependencies
The documentation is generated from this commit.
| Commit: | b01df32 | |
|---|---|---|
| Author: | Leandro Ostera | |
| Committer: | Leandro Ostera | |
feat(schemas): send Goal when generating subtrees
| Commit: | f2e4d2e | |
|---|---|---|
| Author: | Leandro Ostera | |
| Committer: | Leandro Ostera | |
feat(core): support saving multiple signatures in code database Since a single Task now can be turned into several signatures, this changeset supports saving multiple signatures into the Code database, and rehydrating them when reading them out. Also, because tree-splitting should return several ASTs (one for each one of the subtrees that match the test matcher), we now support storing them individually as well.
| Commit: | b1d5d32 | |
|---|---|---|
| Author: | Leandro Ostera | |
| Committer: | Leandro Ostera | |
fix: remove unused rule tests
| Commit: | 40d91bf | |
|---|---|---|
| Author: | Leandro Ostera | |
Add 'rules/' from commit 'b48f99f7e2e9aeeb67aad904380a681a919d5da6' git-subtree-dir: rules git-subtree-mainline: 3d8e2bac62af08db2a3467cecca55e3f63fb86de git-subtree-split: b48f99f7e2e9aeeb67aad904380a681a919d5da6
| Commit: | 7d61437 | |
|---|---|---|
| Author: | Leandro Ostera | |
feat(core): restore AST splitting
| Commit: | df77fac | |
|---|---|---|
| Author: | Calin Capitanu | |
feat(schemas): remove symbol, add test_matcher to get_ast
| Commit: | 224de93 | |
|---|---|---|
| Author: | Leandro Ostera | |
| Committer: | Leandro Ostera | |
feat(core): support multiple signatures This changeset allows us to handle multiple signatures coming from the resolution phase, including maintaining references as a task gets replaced by another due to the signature split. For this to work, the unit of work has to go from a single Target, to a compound key including the Target _and_ the Signature that is being built. Tasks were the clearest place where we could add the signature information to make all tasks in the queue and in the results unique. Since signatures are rather heavy objects, we introduce the SignatureRegistry to keep track of our signatures while issuing lightweight copyable handlers (SignatureIds). Because some Tasks get replaced by others when they are split into several new tasks due to the signature resolution, we needed also to be able to _replace_ what a Task was, without needing to replace all of the references to that task. For that we introduced the TaskId handler, that is issued by the TaskRegistry, which keeps track of all the tasks in place. And lastly, to avoid anyone being able to build a Task that will go unaccounted for or that will not be possible to _update_ through the TaskRegistry, we introduced the UnregisteredTask struct. This struct is used to capture the intent of creating a task, without actually creating one. Other than this, all the code has been updated to work with the `Task` struct instead of receiving individual Goal, TargetId, and SignatureId information. fix(core): rule expander double-root append The Rule Expander now makes sure that it does not add the root of a Signature to the paths contained in the Rule Config IF the paths already have that root as a prefix. Example: * root=./a/b path=./a/b/file => ./a/b/file * root=./a/b path=./file => ./a/b/file feat(core): send goal to tricorders In order to avoid filtering sigantures in the core, we will send the current Goal to tricorders to let them figure out what are the necessary signatures.
| Commit: | 4b6a47e | |
|---|---|---|
| Author: | Leandro Ostera | |
feat(core): send TestMatcher to tricorders
| Commit: | 367eeb6 | |
|---|---|---|
| Author: | Leandro Ostera | |
| Committer: | Leandro Ostera | |
feat(schemas): new fields for better dep resolution We extend the UrlRequirement message to include a subpath. This can be used to specify what subpath of a specific url is relevant as a requirement. For example, if the URL is a Git repository, this can help us do subtree clones. If the URL is a tarball, this is used to narrow in the uncompressed output, etc. The Dependency message now includes a list of all the outputs that Dependency has generated. This makes it easier to write rules that rely on paths for includes. The PrepareDependency RPC now also includes the name of the package that is being prepared. We also regenerate all relevant code.
| Commit: | 0bcde1c | |
|---|---|---|
| Author: | Leandro Ostera | |
| Committer: | Leandro Ostera | |
feat(core): reintroduce dependency preparation rpc for tricorders
| Commit: | 625ad1c | |
|---|---|---|
| Author: | Calin Capitanu | |
| Committer: | Calin Capitanu | |
chore: cleanup schemas
| Commit: | 3ad94e4 | |
|---|---|---|
| Author: | Leandro Ostera | |
| Committer: | Leandro Ostera | |
feat(schemas): add new field for tricorder urls
| Commit: | e4ed66a | |
|---|---|---|
| Author: | Leandro Ostera | |
chore: clean up old mark1 files from the tricorders
| Commit: | f14cf1d | |
|---|---|---|
| Author: | Leandro Ostera | |
| Committer: | Leandro Ostera | |
chore(MarkII): move all rules from label->target
| Commit: | 3ce11b1 | |
|---|---|---|
| Author: | Leandro Ostera | |
| Committer: | Leandro Ostera | |
feat(tricorder/beam): prepare for bootstrapping To make the new tricorder flow work, we'll need a less involved tricorder bootstrapping process. Right now this is a regular Elixir release that has all code-generation pre-done (so no need to install protoc to bootstrap it).
| Commit: | d627c3b | |
|---|---|---|
| Author: | Leandro Ostera | |
| Committer: | Leandro Ostera | |
chore: move schemas to top of the repo
| Commit: | fe1fe58 | |
|---|---|---|
| Author: | Leandro Ostera | |
Add 'tricorders/' from commit '278bc98f0f8e2348c09abb5c6881c9a8c86d13c4' git-subtree-dir: tricorders git-subtree-mainline: b2cfc72f21cde0a32190635b8e181d42d4a968d0 git-subtree-split: 278bc98f0f8e2348c09abb5c6881c9a8c86d13c4
| Commit: | 116d031 | |
|---|---|---|
| Author: | Leandro Ostera | |
chore: restructure Mark I
| Commit: | 4875a82 | |
|---|---|---|
| Author: | Leandro Ostera | |
chore(docs): start preparing repo for publishing
| Commit: | 395ab77 | |
|---|---|---|
| Author: | Leandro Ostera | |
| Committer: | Leandro Ostera | |
fix(tricorder): define missing messages
| Commit: | b370409 | |
|---|---|---|
| Author: | Leandro Ostera | |
chore: sync protos
| Commit: | c96fe6d | |
|---|---|---|
| Author: | Leandro Ostera | |
| Committer: | Leandro Ostera | |
feat(tricorder): begin new tricorder service schema
| Commit: | e04ea37 | |
|---|---|---|
| Author: | Leandro Ostera | |
| Committer: | Leandro Ostera | |
chore: sync protos
| Commit: | d8da250 | |
|---|---|---|
| Author: | Leandro Ostera | |
| Committer: | Leandro Ostera | |
feat(beam): improve analyzer
| Commit: | db9bae0 | |
|---|---|---|
| Author: | Leandro Ostera | |
fix: pass deps to tree splitting, and fix lift database entry labeling
| Commit: | b8ef86c | |
|---|---|---|
| Author: | Leandro Ostera | |
feat: include dependencies during tree splitting
| Commit: | f70f4ec | |
|---|---|---|
| Author: | Leandro Ostera | |
feat(beam): receive and use dependency during signature generation
| Commit: | 4f716c2 | |
|---|---|---|
| Author: | Leandro Ostera | |
feat: feed in dependencies into the signature generation
| Commit: | f64fbac | |
|---|---|---|
| Author: | Leandro Ostera | |
chore: sync protos
| Commit: | 6697736 | |
|---|---|---|
| Author: | Leandro Ostera | |
chore: bump schemas with new fields
| Commit: | c6e4970 | |
|---|---|---|
| Author: | Leandro Ostera | |
feat: get dependencies is now relocatable
| Commit: | 3cf166b | |
|---|---|---|
| Author: | Leandro Ostera | |
chore: bump schemas
| Commit: | 5dbcd03 | |
|---|---|---|
| Author: | Leandro Ostera | |
feat(beam): implement new rpcs and split up sources
| Commit: | c15c3c8 | |
|---|---|---|
| Author: | Leandro Ostera | |
chore: update schemas
| Commit: | db005a0 | |
|---|---|---|
| Author: | Leandro Ostera | |
feat(schemas): introduce dependency requirement
| Commit: | ee5f34b | |
|---|---|---|
| Author: | Leandro Ostera | |
fix: make build work again
| Commit: | 4ed4572 | |
|---|---|---|
| Author: | Leandro Ostera | |
| Committer: | Leandro Ostera | |
feat: bring in new dependency requirement in proto schemas
| Commit: | e6a302a | |
|---|---|---|
| Author: | Leandro Ostera | |
feat: introduce resolver services fix: codedb will override symbols now feat: emit new events for a label skipping and entering the queue feat: emit new service started event refactor: migrate all service communications to gRPC refactor: dependency resolver is now split into stages feat: implement experimental-regenerate-signatures flag feat: implement finding signatures by label chore: update protobuf schemas
| Commit: | a320674 | |
|---|---|---|
| Author: | Leandro Ostera | |
feat(3rdpary): bootstrap tools by vendoring their dependencies
| Commit: | 8fd92d3 | |
|---|---|---|
| Author: | Leandro Ostera | |
| Committer: | Leandro Ostera | |
feat(github, gitlab): move git resolvers to gRPC protocol
| Commit: | 8ab3bbd | |
|---|---|---|
| Author: | Leandro Ostera | |
| Committer: | Leandro Ostera | |
feat(beam): rewrite resolver using gRPC protocol
| Commit: | 9dcfd28 | |
|---|---|---|
| Author: | Leandro Ostera | |
fix: clean up rfcs, update protos and namespaces
| Commit: | 5b3ef46 | |
|---|---|---|
| Author: | Leandro Ostera | |
feat: import new get interested paths request rpc
| Commit: | 71859b2 | |
|---|---|---|
| Author: | Leandro Ostera | |
fix(erlang): implement get_interested_paths api
| Commit: | 179a454 | |
|---|---|---|
| Author: | Leandro Ostera | |
chore: sync schemas
| Commit: | d266e6c | |
|---|---|---|
| Author: | Leandro Ostera | |
feat(schemas): clean up and update analyzer service rpcs
| Commit: | 63884d0 | |
|---|---|---|
| Author: | Leandro Ostera | |
chore: sync proto schemas
| Commit: | 381b682 | |
|---|---|---|
| Author: | Leandro Ostera | |
fix: update signature service schema
| Commit: | e5ce0f9 | |
|---|---|---|
| Author: | Leandro Ostera | |
| Committer: | Leandro Ostera | |
chore(beam): refactor proto libraries to not depend on symlinks Symlinks break when pulling repositories as tarballs.
| Commit: | 5112dce | |
|---|---|---|
| Author: | Leandro Ostera | |
fix: add symbol/ast to analyze file req/res
| Commit: | d832a76 | |
|---|---|---|
| Author: | Leandro Ostera | |
chore(schemas): bump!
| Commit: | 7dadf92 | |
|---|---|---|
| Author: | Leandro Ostera | |
test(protobuf): add test workspace for protobuf + elixir rules/toolchains
| Commit: | 0469319 | |
|---|---|---|
| Author: | Leandro Ostera | |
chore(schemas): copy over proto schemas
| Commit: | 09980c9 | |
|---|---|---|
| Author: | Leandro Ostera | |
feat: start defining grpc interfaces for the codedb