These 73 commits are when the Protocol Buffers files have changed:
| Commit: | 33f66de | |
|---|---|---|
| Author: | Paul Witt | |
| Committer: | GitHub | |
[Allocation Manager] Encapsulate topo requests (#1242) First phase of Allocation Manager, able to allocate by topology name, and with foundational support for further criteria such as num_hosts, etc --------- Co-authored-by: Kevin Wang <kjw@enfabrica.net>
The documentation is generated from this commit.
| Commit: | 80e6a9e | |
|---|---|---|
| Author: | jrp-enf | |
| Committer: | GitHub | |
Add tar support to muk (#1238) Adds support for untarring files during a docker create operation. Jira: ENGPROD-1198 Tested: build container, worked
| Commit: | 910b957 | |
|---|---|---|
| Author: | jrp-enf | |
| Committer: | GitHub | |
Add setting environment variables to muk image builder (#1235) Added new command to muk.py, muk.proto to set environment variables. Jira: ENGPROD-1198 Tested: locally
| Commit: | 8a06e8d | |
|---|---|---|
| Author: | Gleb Kolobkov | |
| Committer: | GitHub | |
ENGPROD-1197: test affected targets with `bzlmod`, (#1234) - make some hard failures just to print warning - update `workspace_log.proto` to latest version
| Commit: | 0b56b8b | |
|---|---|---|
| Author: | Carlo Contavalli | |
In progress: inviter prototype.
| Commit: | bee7c02 | |
|---|---|---|
| Author: | Carlo Contavalli | |
| Committer: | GitHub | |
auth/server: introduce more verbose logging (... for counters). (#1150) Look at the individual commits, especially at the last one. Tl;Dr: once the PR is merged, the auth server will start logging authentication related events in a format suitable to define log based metrics on gcp and app engine. This is in preparation for the next PR, that will improve the logic in auth.go to make it more resilient to misbehaving clients/applications, and less susceptible to connection exhaustion by avoiding long lasting connections. - astore, auth: consistently propagate and use logger. - auth/server/auth/factory.go: run of go fmt. - auth/server/auth/auth.go: make GetChannel private. - auth: add minimal documentation on auth.proto and server/auth/auth.go. - auth/server: start logging authentication requests and events.
| Commit: | 4e97c03 | |
|---|---|---|
| Author: | Kevin Wang | |
| Committer: | GitHub | |
allocation manager first look (#1097) - At this point, the server compiles, and the client seems to reserve a dummy entry and release without crashing. Much more left to do, however. but commit'ing to checkpoint progress.
| Commit: | c6209d0 | |
|---|---|---|
| Author: | Brian Huynh | |
| Committer: | GitHub | |
Support Rocky Linux in muk (#1070) This change updates the `muk` tool to handle container builds based on the Rocky Linux distro. Tested: - `bazel run --override_repository=enkit=$HOME/enkit //infra/dev_container/mojave:mojave_base_image_builder -- --noclean_build_check` builds a new container from https://github.com/enfabrica/internal/pull/41200 JIRA: INFRA-8859
| Commit: | 3b1ee3b | |
|---|---|---|
| Author: | Brian Huynh | |
| Committer: | GitHub | |
Migrate muk and container rules from internal to enkit (#1050) This change migrates `muk` and container build/push rules from the internal repo to the enkit repo because there are some containers that need to be built in the enkit repo. The enkit repo should not import any bazel rules or libraries from the internal repo because this will cause a circular dependency. Tested: - `bazel test ...:all` - `bazel build ...:all` JIRA: INFRA-10368
| Commit: | efc0aa3 | |
|---|---|---|
| Author: | Scott Minor | |
| Committer: | GitHub | |
Copybara update from github.com/buildbuddy-io/buildbuddy (#1044) This change runs copybara on the current copybara definition to import old versions of buildbuddy protos. The BUILD files are manually changed to use the old protos but the new protobuf rules, rather than doing a straight rollback, as the new rules will serve us better moving forward. This won't be merged until: * [x] buildbuddy in staging is rolled back * [x] we've tested against the rolled-back buildbuddy in staging Tested: `bazel test //...` succeeds Jira: INFRA-10068 GitOrigin-RevId: 372b95b41a6ed82da632ee44ff0c48071c849c21 --------- Co-authored-by: Copybara <noreply@enfabrica.net>
| Commit: | 99f0bf3 | |
|---|---|---|
| Author: | Scott Minor | |
| Committer: | GitHub | |
Copybara update from github.com/buildbuddy-io/buildbuddy to //third_party/buildbuddy (#1036) See //third_party/buildbuddy/README.md for more details. The proto files changed in this PR are done automatically via Copybara. BUILD files are updated manually to get this PR to build correctly. GitOrigin-RevId: aedaeafdc7b6bc9faaf77494a4598d750bafdf8c Jira: INFRA-9988 Co-authored-by: Copybara <noreply@enfabrica.net>
| Commit: | a32c219 | |
|---|---|---|
| Author: | Copybara | |
| Committer: | Scott Minor | |
Copybara update from github.com/buildbuddy-io/buildbuddy to //third_party/buildbuddy See //third_party/buildbuddy/README.md for more details. GitOrigin-RevId: 08bf678c4530eb5a367486f520dc802e219e33b6
| Commit: | 6db166e | |
|---|---|---|
| Author: | Scott Minor | |
| Committer: | GitHub | |
license manager: Delete unused code (#1014) `flextape` has replaced `manager`, but the latter is still present in the source tree. This change removes it so that it no longer needs to be maintained. The astore upload of the `manager` client has been replaced with one of `flextape_client`, to finish the migration from one to the other. Tested: `bazel test //...` still passes as much as it is expected to
| Commit: | 8704e7f | |
|---|---|---|
| Author: | Scott Minor | |
| Committer: | GitHub | |
postsubmit: Add option to specify local disk space (#982) Some builds require extra local storage in order to run correctly. This change adds a field that allows for the amount of space required to be captured. Tested: N/A Jira: INFRA-8419
| Commit: | 2c87908 | |
|---|---|---|
| Author: | Scott Minor | |
| Committer: | GitHub | |
postsubmit: Add support for debugging steps (#978) This change adds a mechanism for adding user-friendly debugging steps for determining why a postsubmit isn't behaving properly. The first step added is a "large file printer", which will print out the largest N files in a particular directory; this will be useful for debugging INFRA-8302. Tested: N/A Jira: INFRA-8302
| Commit: | 6d4cc73 | |
|---|---|---|
| Author: | Scott Minor | |
| Committer: | GitHub | |
postsubmits: Add a container_image field to spec (#973) This change adds a field so that the container image + version can be manually overridden in postsubmit definitions. This will help us test an image in a specific postsubmit before pushing it to all postsubmits. Tested: N/A Jira: INFRA-7115
| Commit: | d3be0b7 | |
|---|---|---|
| Author: | Matthew Hallmark | |
| Committer: | GitHub | |
auth: Move server code out of astore dir (#961) Moves auth server implementation, along with its dependencies out of the astore directory and places it in its own root 'auth' directory. This is in an attempt to make it a bit more easy to spin up a local astore server for development testing. This does not yet change the astore server from including the auth server. This is just to move the files out, and point imports to the new location. A followup PR will be created to move the auth server out of the astore binary. No code was altered except for import paths and accompanying build file import path changes as well as `deps` renames. Tested by building the entire repo (bazel build //...)
| Commit: | b9e5385 | |
|---|---|---|
| Author: | Carlo Contavalli | |
| Committer: | Carlo Contavalli | |
ghinviter: gRPC working.
| Commit: | 3e587fa | |
|---|---|---|
| Author: | Carlo Contavalli | |
| Committer: | Carlo Contavalli | |
lib/khttp/kgrpc: add new library for grpc server code. This new library takes some of the code we added in lib/server and plumbs it with khttp/server.go. The end result is: - An http server supporting gRPC in all the known flavors (HTTP2, H2C, HTTPS - with plain gRPC or gRPC web). - An http server that can be fully configured with all the khttp modifiers. For example, see the added tests for now.
| Commit: | edbbcbf | |
|---|---|---|
| Author: | Carlo Contavalli | |
| Committer: | GitHub | |
lib/bazel: implement an included_tags, to limit to a subset of targets. (#802) In this PR: - add support to only execute tests *including* at least one of the specified tags.
| Commit: | 1792e4e | |
|---|---|---|
| Author: | Scott Minor | |
| Committer: | GitHub | |
bazel: Nuke all web frontend code, rules from orbit (#820) This change removes all frontend code, including: * the `//ui` dir * associated bazel rules/macros * loading of npm packages, frontend-related rules from WORKSPACE The catalyst for this is INFRA-4192 - use of these rules uses a `managed_directory` feature of WORKSPACE that is removed in bazel 6.0 and is thus blocking bazel updates. Fixing the UI code is: * probably time-consuming, to understand the nuances of JS/TS compilation, by looking at https://docs.aspect.build/guides/rules_js_migration/ * of little value, since none of this code is actually used in anything The only dependency that actually exists is on some font and CSS assets; these are inlined into the repo directly, with a note on how to update them if needed. This also has ancillary benefits: * reduced build times, since node modules don't need to be fetched * no build-out-of-sync-type errors that necessitated a `bazel clean --expunge && rm -rf ui/node_modules to resolve Tested: no Jira: INFRA-4192
| Commit: | e6e244f | |
|---|---|---|
| Author: | Carlo Contavalli | |
| Committer: | Carlo Contavalli | |
Libraries to write our own CODEOWNERS/OWNERS bot. Specifically, this PR includes: - an initial library to parse OWNERS/CODEOWNERS files as well as protocol buffers in our repository as owners files, and some tests. The thinking here is that we'd have backward compatibility with the existing CODEOWNERS file, and some simple syntax to support OWNERS file, as well as supporting a basic protocol buffer that allows full flexibility. The library - albeit "code complete/usable" - is unfinished, as I have not written the remaining tests, and there are some known bugs/missing features.
| Commit: | 1047975 | |
|---|---|---|
| Author: | Scott Minor | |
| Committer: | GitHub | |
enkit: Remove FUSE P2P FS commands (#745) These commands are not used or maintained, and require us to keep flaky tests alive. This change removes these features.
| Commit: | 9489918 | |
|---|---|---|
| Author: | Scott Minor | |
| Committer: | GitHub | |
astore: Move protos into package dirs (#702) This is part of a larger effort to make the repository `go get`-clean. This change moves protos around such that their import paths match their actual package paths in the repository. Their BUILD files are cleaned up such that `bazel run //:gazelle` creates no diffs, and gazelle doesn't complain about ambiguous imports. Tested: * `bazel run //:gazelle` creates no diffs * `bazel test //...` still works * `go get -u ./...` no longer complains about astore/rpc/* packages
| Commit: | dee3b6d | |
|---|---|---|
| Author: | Scott Minor | |
| Committer: | GitHub | |
postsubmit: Add ability to configure buildbarn instance (#673) This change adds a configuration setting to postsubmits that will allow users to configure which buildbarn instance builds should go to. This will be used in the short-term to migrate builds to buildbarn on gcp01 while leaving the majority of builds running on buildbarn in MTV. Jira: INFRA-1284
| Commit: | 0a10b14 | |
|---|---|---|
| Author: | Scott Minor | |
| Committer: | GitHub | |
postsubmits: Add method of disabling build in config (#660) This change adds a "disable" trigger that creates the build but prevents it from ever running. This can be used to disable builds on a temporary basis. Jira: INFRA-1232
| Commit: | c662094 | |
|---|---|---|
| Author: | Scott Minor | |
| Committer: | GitHub | |
flextape: Raise and parameterize timeouts (#545) All durations that the service uses are moved to a "server" config section, so that they are no longer hard-coded. At the same time, timeouts are greatly raised to reduce the number of expirations that happen because the client is too slow to refresh an active allocation. The client is modified to attempt a refresh earlier into the server-specified duration, but given the raised timeouts its minimum refresh duration is raised from 1s to 5s. Jira: INFRA-607
| Commit: | d0d80ab | |
|---|---|---|
| Author: | Scott Minor | |
| Committer: | GitHub | |
postsubmits: Add more necessary fields (#537) This change adds fields to the Build message that are necessary in order to migrate the two existing HW nightly regressions: * `fpga-fullchip` passes a bunch of arguments to `bazel test` that we need to preserve * `fpv-nightly` makes use of positive tags in `build_tag_filters`/`test_tag_filters`, and currently the proto message only handles negative tags. Jira: INFRA-875
| Commit: | d73cb4a | |
|---|---|---|
| Author: | Scott Minor | |
| Committer: | GitHub | |
postsubmit: Add timeout field (#536) This change adds a timeout field to the Build spec, which is the only missing piece to onboard the FPGA nightly regression. Tested: None Jira: INFRA-876
| Commit: | 5e18495 | |
|---|---|---|
| Author: | gpaussaenf | |
| Committer: | GitHub | |
bestie: Add py_proto_library target for test_metrics.proto (#471) The enkit repo owns the definition of test_metrics.proto and needs to produce each of the language-specific protobuf libraries being used, currently Go and Python. The latter is @enkit referenced by the internal repo for writing metrics to its test.metrics.pb file. Summary of changes: - Added py_proto_library() target in bestie/proto/BUILD.bazel. - Renamed KeyValuePair submessage to Tag in test_metrics.proto file. Tested: Using a local instance of BES Endpoint, sent simulated test metrics in a test.metrics.pb file for processing by the endpoint. Required use of the --override_repository command line arg by the client 'bazel test' command to reference the changes in the enkit repo. Jira: INFRA-593
| Commit: | 8252eb9 | |
|---|---|---|
| Author: | Carlo Contavalli | |
| Committer: | GitHub | |
flextape: introduce prioritization support. (#458) Background: Before this PR, licenses were always allocated in FIFO order. This addresses INFRA-501. In this PR: - allow to specify a prioritization strategy (per license). - define an interface to provide different prioritization strategies, refactor the code to allow for the plumbing. - create a strategy that spreads licenses evenly across users. - added extensive tests. Note that this PR still does not allow to allocate multiple licenses at once. The rough plan to allow for that is to expand the concept of "invocation", so it links to all the types it is trying to allocate, and extend the prioritizer to account for that. For now, I just wanted to allow better license spreading, and figure out a reasonable interface for queue reordering. Tested: added significant unit tests, all passing.
| Commit: | 8f0fecf | |
|---|---|---|
| Author: | gpaussaenf | |
| Committer: | GitHub | |
bestie: Add test metrics upload to BigQuery (#423) (#429) * bestie: Add test metrics upload to BigQuery (#423) This continues the work of #394 and #406 by adding support for uploading test metrics to BigQuery. The changes in this PR do the following: - Read and process metrics contained in *.metrics.pb file(s) produced during bazel test runs. Format and push these test metrics to the BigQuery 'bestie-builds.<dataset>.testmetrics' table, where <dataset> is specified by the --dataset command line parameter. - Supports both file:// and bytestream:// schemes for the outputs.zip file in the TestResult event, which correspond to local and cluster operation of the BES Endpoint, respectively, using APIs provided by enkit/lib/kbuildbarn. A new --baseurl command line parameter allows a deployment-specific base URL to be specified. - Adds several service metrics related to BigQuery interactions for monitoring the BES Endpoint operation. Tested: Ran BES Endpoint service both locally and in the staging cluster, where it detected the test.metrics.pb file produced by a standalone test app. Authentication issues prevented the staging cluster service from communicating with BigQuery, but that will be resolved in a separate PR by creating a new service account. Jira: INFRA-423 * bestie: Addressed code review comments Many changes in this commit to respond to the review comments in this PR. The most noteworthy of these are: - No longer creating non-existent datasets or tables. - Replaced all console print messages with a logger. - Added --debug support for additional log messages. - Revamped service stats implementation using counter IDs. - Using a goroutine to update Prometheus metrics.
| Commit: | 5a6acfc | |
|---|---|---|
| Author: | Scott Minor | |
| Committer: | GitHub | |
third_party: Import BuildBuddy protos (#411) This change uses Copybara to selectively import a few BuildBuddy protos needed to make HTTP RPC calls to fetch BES logs by invocation ID. Copybara is used to easily modify the protos as they are imported. This is necessary because even though BuildBuddy is itself a bazel workspace, it includes copied protos from the bazel repository that conflict with the same protos already imported under //third_party/bazel. Using Copybara allows for the import paths to be rewritten as they are imported. This change squashes the first import into the same change that adds the Copybara script, BUILD files, and README. Jira: INFRA-468
| Commit: | df9bc2b | |
|---|---|---|
| Author: | Copybara | |
| Committer: | Scott Minor | |
Copybara update from github.com/buildbuddy-io/buildbuddy to //third_party/buildbuddy See //third_party/buildbuddy/README.md for more details. GitOrigin-RevId: 1a389a55e562cc3f49bb95ef1984831664ffc443
| Commit: | 8917269 | |
|---|---|---|
| Author: | gpaussaenf | |
| Committer: | GitHub | |
bestie: Add test metrics processing to BEP server (#394) * bestie: Add test metrics processing to BEP server This change allows the BEP server to process TestResult events containing test metrics presented in the test_metrics.pb file that is incorporated in the outputs.zip file. The test_metrics.proto defines the protobuf message format, which reflects the data format needed by BigQuery for Prometheus consumption. A follow on PR is needed to continue this work, taking the test metric data and storing it in BigQuery. For now, the BEP server continues to display the Bazel event info same as before, and additionally displays the relevant metric information it finds in the TestResult events. Tested: Started server, ran 'bazel build //bestie/... --bes_backend=grpc://localhost:6433' and saw messages printed on stdout; bazel exited with no error. Jira: INFRA-326 * bestie: Improve error handling and propagation Changed the way the handler functions treat errors per Go best practices. Removed newline formatting from error messages that are propagated through fmt.Errorf(). Added comment for error handled within function (not propagated). Defined code owners of /bestie/ subtree for future reviewer notifications in GitHub. * bestie: Unzip test metrics directly into variable Instead of extracting the contents of outputs.zip into an exact replica of the directory and file structure, read the contents of test_metrics.pb and test_summary.pb into a byte slice variable and unmarshall the protobuf message from there. This eliminates contention for the temporary file name and is more efficient. Changed the file name search through outputs.zip to use regular expressions, accepting and processing all files named "test_metrics*.pb" and "test_summary*.pb", with the restriction that the * part begin with _ or -. For example, "test_metrics_foo.pb" or "test_summary-bar.pb". This is in anticipation that a given 'bazel test' command may need to output multiple metric protobuf messages, one per output file. * bestie: Protobuf message changes Changed test_metrics.proto to define the metrics tags field as repeated key/value pairs. Retained the BigQueryTable sub-message, but demoted it to an optional element, primarily for development testing. Cleaned up some protobuf API usage and defined a stream identity struct to carry information that uniquely identifies a stream. * bestie: Change metrics output filename regex Relaxed the regex used to find metrics files to process from the outputs.zip file. The general pattern is *.metrics.pb, with minor restrictions. Addressed another review comment related to passing a byte slice directly, instead of by pointer, when only reading from it.
| Commit: | c37fa55 | |
|---|---|---|
| Author: | Scott Minor | |
| Committer: | GitHub | |
postsubmit: Define build configuration proto (#384) This change adds a documented protobuf that lays out the configuration for postsubmit builds. Each configuration will be an `infra.postsubmit.Build` message in its own configuration file; Terraform and other configuration will be generated from this high-level config and applied to create the builds in GCP. Tested: Builds Jira: INFRA-361
| Commit: | 5096285 | |
|---|---|---|
| Author: | Adam Ahrens | |
| Committer: | GitHub | |
Better support for working with React and Javascript (#316) * working example * huzzah it works * get ptunnel working * add in babel * remove commit * add in jest testing directly
| Commit: | 5e4d1b9 | |
|---|---|---|
| Author: | Scott Minor | |
| Committer: | GitHub | |
flextape: Return queue details in LicensesStatus (#366) This change extends the LicensesStatus RPC to show details on each invocaition that has been allocated, and each invocation that is queued. This should help us answer questions about where particular builds are queued if asked. Tested: Unit tests, ran server plus clients with ``` for i in $(seq 1 10); do (LICENSE_SERVER_IMPL=flextape bazel-bin/manager/client/client_/client localhost 6433 xilinx vivado sleep 60 &); done ``` and then `LicensesStatus` with: ``` grpc_cli call localhost:6433 flextape.proto.Flextape.LicensesStatus '' ``` and verified that `allocated_invocations` and `queued_invocations` were filled as expected. Jira: INFRA-287
| Commit: | 0bf8e56 | |
|---|---|---|
| Author: | Scott Minor | |
| Committer: | GitHub | |
bestie: Implement logging BEP server (#344) This change implements the Build Event Protocol server in a minimal fashion, printing out all messages received on stdout in textproto format and acking them. To make this happen, protos are imported from the bazel repo via Copybara. This makes the protos easier to find during development, makes maintaining our custom BUILD files easier, and is faster during build as the bazel repo archive does not need to be fetched. This change does the following: * Adds a Copybara script for importing protos from the bazel repository * Imports protos under //third_party/bazel from the bazel repository using Copybara, modifying the import paths and adding go_package options that are required for our environment * Adds a README.md to //third_party/bazel that shows how it can be updated via Copybara * Adds me as a codeowner for //third_party to help with Copybara imports in the short-term * Replaces the "hello world" service with BEP in bestie, using handlers that log messages received to stdout. Tested: Started server, ran `bazel build //bestie/... --bes_backend=grpc://localhost:6433` and saw messages printed on stdout; bazel exited with no error. Jira: INFRA-193
| Commit: | f16bc54 | |
|---|---|---|
| Author: | Copybara | |
| Committer: | Scott Minor | |
Copybara update from github.com/bazelbuild/bazel to //third_party/bazel See //third_party/bazel/README.md for more details. GitOrigin-RevId: 75a16b7107479441274fa983c04264cdf8556479
| Commit: | e55bafd | |
|---|---|---|
| Author: | Scott Minor | |
| Committer: | GitHub | |
bestie: Add initial skeleton (#331) This change adds enough of a gRPC and HTTP application to: * get something running on Google Cloud Run * develop Bazel rules to deploy a container to Google Cloud Run The initial gRPC service is a hello-world type service that is expected to be deleted quickly; this is simply the quickest path to a working RPC service for testing Cloud Run. The binary also exports a /metrics endpoint, which we can use to test HTTP fetches as a surrogate for an actual UI. Tested: `bazel run //bestie/server:bestie` and successfully: * did `grpc_cli` call of `Greet` RPC: `grpc_cli call localhost:6433 bestie.proto.Greeter.Greet 'name: "Scott"'` * fetched metrics: `curl localhost:6433/metrics` Jira: INFRA-193
| Commit: | 545dec7 | |
|---|---|---|
| Author: | Scott Minor | |
| Committer: | GitHub | |
Revert "Add working example of react dashboard with grpc (#312)" (#324) This reverts commit cd303d79d42248acf8308f3f25af000cbd8025f3. Fixes a `yarn install` error when running `bazel build //...`. Jira: INFRA-189
| Commit: | 5785e4b | |
|---|---|---|
| Author: | Scott Minor | |
| Committer: | GitHub | |
flextape: Add config definition and Xilinx config (#309) This change adds: * A protobuf config definition, for a config file passed to the server on startup * A flag on the server to provide the config file at runtime * Server code to parse the config Jira: INFRA-159
| Commit: | cd303d7 | |
|---|---|---|
| Author: | Adam Ahrens | |
| Committer: | GitHub | |
Add working example of react dashboard with grpc (#312)
| Commit: | ae03334 | |
|---|---|---|
| Author: | Scott Minor | |
| Committer: | GitHub | |
flextape: Return queue position to client (#304) The client should log to the user the status of the license acquisition progress when queued. Currently, there's not much progress the client can communicate, other than that it's queued. This change modifies the server to return the queue position so that clients can communicate this to the user, providing user visibility that in fact progress is being made (or the queue appears to be stalled). Tested: Unit tests Jira: INFRA-139
| Commit: | 8ef9d25 | |
|---|---|---|
| Author: | Scott Minor | |
| Committer: | GitHub | |
INFRA-107: Implement flextape support in existing client (#294) This change creates: * a client library for Flextape communication * unit tests for said library * a codepath in the existing license manager client that uses Flextape communication, triggered via environment variable Tested: In addition to the above: ``` # Ran flextape server bazel run //flextape/server:flextape # Monitor license status watch -x -n 1 grpc_cli call localhost:6433 Flextape.LicensesStatus '' # Run a bunch of client instances wrapping a `sleep` call for i in $(seq 1 10); do (LICENSE_SERVER_IMPL=flextape bazel-bin/manager/client/client_/client localhost 6433 xilinx bar sleep 5 &); sleep 1; done # Watch licenses get allocated, invocations get queued ``` Jira: INFRA-107
| Commit: | ef25ca4 | |
|---|---|---|
| Author: | Scott Minor | |
| Committer: | GitHub | |
INFRA-105: Add configuration file, filter options (#276) This change adds filter options to the presubmit driven by a configuration file. Filter options include: * including targets by patterns such as `//foo/bar:baz` or `//foo/bar/...` * excluding targets by patterns * excluding targets by tags The above should give us enough control to: * incrementally add directories to the presubmit * exclude broken/expensive tests by either exact label or tag To achieve this, the change contains the following: * a protobuf definition of the config file. * a first config file in the repository root: `presubmit.textproto`. * logic to parse the config file and parse patterns from the config file * logic to filter targets based on patterns and tags Tested: Unit tests, run locally to confirm both `exclude_patterns` and `exclude_tags` filtering functions as expected Jira: INFRA-105
| Commit: | 64af785 | |
|---|---|---|
| Author: | Scott Minor | |
| Committer: | GitHub | |
INFRA-115: Rename license_manager to flextape (#287) This change renames our license manager server to flextape by: * changing the top-level directory name * changing the proto and service names A README is added to explain what this is since it is no longer clear from the file name. Jira: INFRA-115
| Commit: | 732aec5 | |
|---|---|---|
| Author: | Adam Ahrens | |
| Committer: | GitHub | |
Fuse Over RPC (#222) * commiting to switch * basics working * remove added flag * added in wrong ui * change back go version * reset build * update gazelle and run Close() on file * gazelle * fix recursive test from enkit //... * changes for PR, renaming to be cleaner * add in rename to fusepb * net.JoinHostPort * separate types * change package name * rename interfaces * remove allowother in test
| Commit: | 58e91e9 | |
|---|---|---|
| Author: | Scott Minor | |
| Committer: | GitHub | |
bazel: Parse workspace_log during query (#255) This change modifies Query to return a struct of query results. These results include targets that match the query, as well as other optional information. The first useful such piece of information is the workspace log, which details when: * WORKSPACE caused a download to happen, including the SHA256 of the download * WORKSPACE caused a command execution to happen among other events. These events will be useful in reducing external dependencies down to the SHA256s of their corresponding downloads, rather than needing to resort to hashing individual files of the external dependencies. Depends-On: #252
| Commit: | b785e2a | |
|---|---|---|
| Author: | Scott Minor | |
| Committer: | GitHub | |
bazel: Add workspace_log proto (#252) The workspace_log proto is from the bazel repository and is required for parsing workspace logs; these logs will be used to determine SHA hashes for third-party dependencies, allowing for the detection of changes without hashing each file individually. This file is copied over integrating directly the WORKSPACE because: * it saves fetch time (the bazel repository is large) * BUILD files fetched in the bazel repository do not grant us visibility to the proto, necessitating patches
| Commit: | a883f9a | |
|---|---|---|
| Author: | Scott Minor | |
| Committer: | GitHub | |
license_manager: Implement server handlers (#244) This change contains the bulk of the server handler implementation, along with associated unit tests. The service proto is tweaked: * More fields are added to `RefreshRequest` to better handle the case where the server is adopting existing allocations after a restart. The client must pass all the information (license type, owner, build_tag, etc.) during RefreshRequests in case the server has restarted; otherwise, the server won't know which license to allocate, who it is allocated to, etc. * Common fields between RefreshRequest and AllocateRequest are deduplicated to an Invocation message. * Repeated fields are pluralized * Queued license count added to LicensesStats response Jira: INFRA-90
| Commit: | ef67c0b | |
|---|---|---|
| Author: | Scott Minor | |
| Committer: | GitHub | |
license_manager: Add proto definition file (#229) This change adds a gRPC definition for the license_manager service, intended to supplant the existing license service under `//manager` with a protocol that uses multiple unary RPCs instead of a bidirectional streaming RPC, in an effort to clarify the implementation of both the client and the server. Requirements and more info can be found in: https://docs.google.com/document/d/1TNqbBprpcNU9tTHVCFzRwaQoHlGFdjkw221C5p9UsAw/edit Tested: All targets build: ``` bazel build //license_manager/... ``` Jira: INFRA-90
| Commit: | fc3e844 | |
|---|---|---|
| Author: | Adam Ahrens | |
| Committer: | GitHub | |
Machinist DNS Polling (#91) * Adds in polling for Registering DNS entries * Adds in registering and keepalives * Adds in e2e testing
| Commit: | f78c01c | |
|---|---|---|
| Author: | Brian Huynh | |
| Committer: | GitHub | |
Work in Progress: License Manager (#55) First draft of generic license manager for EDA tools especially for Xilinx. Not necessary for Cadence tools because -licqueue argument automatically queues Cadence jobs and polls for a license.
| Commit: | 20a40a0 | |
|---|---|---|
| Author: | Adam Ahrens | |
add periods
| Commit: | dd63d1f | |
|---|---|---|
| Author: | Adam Ahrens | |
revert proto numbering
| Commit: | 05f89ed | |
|---|---|---|
| Author: | Adam Ahrens | |
initial commit
| Commit: | 6e67a00 | |
|---|---|---|
| Author: | aaahrens | |
initial commit
| Commit: | aadcd82 | |
|---|---|---|
| Author: | aaahrens | |
change for pr
| Commit: | d9802bc | |
|---|---|---|
| Author: | aaahrens | |
update for PR
| Commit: | e8d4bd5 | |
|---|---|---|
| Author: | aaahrens | |
add rpc for host certificates
| Commit: | c56c6aa | |
|---|---|---|
| Author: | Adam Ahrens | |
| Committer: | GitHub | |
Change auth response proto (#53) Changes the shape of the general auth response to include signed certificates.
| Commit: | 3559d27 | |
|---|---|---|
| Author: | aaahrens | |
Revert "checking in before friday nap" This reverts commit 6640c8cbaecf23212b0b122df1f4bb39abc5819f.
| Commit: | 6640c8c | |
|---|---|---|
| Author: | aaahrens | |
checking in before friday nap
| Commit: | 6440618 | |
|---|---|---|
| Author: | Carlo Contavalli | |
| Committer: | GitHub | |
initial skeleton of client and server for machinist. Basic .proto file defining the structure of the communication protocol, and an initial implementation of a ping message.
| Commit: | 72712d9 | |
|---|---|---|
| Author: | Carlo Contavalli | |
[WIP]: initial skeleton of client and server for machinist. Basic .proto file defining the structure of the communication protocol, and an initial implementation of a ping message.
| Commit: | 7af87bb | |
|---|---|---|
| Author: | Adam Ahrens | |
| Committer: | GitHub | |
[WIP] initial draft of adding astore deletion (#6) * initial draft commit * changes for PR, adding skip confirm flag and fmt
| Commit: | def24f6 | |
|---|---|---|
| Author: | aaahrens | |
changes for PR, adding skip confirm flag and fmt
| Commit: | 8725766 | |
|---|---|---|
| Author: | aaahrens | |
initial draft commit
| Commit: | 3c316fe | |
|---|---|---|
| Author: | Carlo Contavalli | |
Placeholder for machinist, a daemon to manage machines. machinist will be able to: - register machines by name, provide name resolution. - dynamically allocate and free machines. - run tests on those machines.
| Commit: | 49b83d2 | |
|---|---|---|
| Author: | Carlo Contavalli | |
astore: refactor download command. Before this change: - download command did not support tags - did not work correctly when uids were used - had a set of defaults used for every downloaded file After this change: - update download command to use the same style as other commands - no longer defaults, options are per file - support for tags and archs now working correctly
| Commit: | 3e3b50e | |
|---|---|---|
| Author: | Carlo Contavalli | |
Initial commit of utilities.