about summary refs log tree commit diff
path: root/tools (follow)
AgeCommit message (Collapse)AuthorFilesLines
2022-04-20 r/3982 chore(nixery): Housekeeping for depot compatibilityVincent Ambo28-457/+186
Cleans up a whole bunch of things I wanted to get out of the door right away: * depot internal references to //third_party/nixery have been replaced with //tools/nixery * cleaned up files from Github * fixed SPDX & Copyright headers * code formatting and inclusion in //tools/depotfmt checks Change-Id: Iea79f0fdf3aa04f71741d4f4032f88605ae415bb Reviewed-on: https://cl.tvl.fyi/c/depot/+/5486 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su>
2022-04-20 r/3979 refactor(nixery): Adapt Nix build instructions for readTreeVincent Ambo2-7/+11
This does not fully change the build structure of Nixery to be depot-compatible yet, but should allow most targets to be built in depot CI. This contains some hacks to work around surface incompatibilities which we'll clear away later. Change-Id: I84e7734334abbe299983956f528c0897f49fa8c2 Reviewed-on: https://cl.tvl.fyi/c/depot/+/5485 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2022-04-20 r/3978 feat(tools/nixery): Absorb Nixery into depotVincent Ambo46-1/+5065
This absorbs a josh-filtered Nix subtree into depot, at //tools/nixery. This subtree was created through `josh-filter ':prefix=tools/nixery'`, which allows a filter on tools/nixery to yield the same commit hashes as the original Nixery repository (allowing for history continuity). Change-Id: Icc1a99bf1248226b91f437b0a90361d36fb0d327
2022-04-20 docs: change references to repo URLRaphael Borun Das Gupta3-5/+5
The Nixery main Git repo has moved from https://github.com/google/nixery to https://github.com/tazjin/nixery . So change it in README and on the https://nixery.dev/ website.
2022-04-17 r/3972 chore(cheddar): Bump dependenciesVincent Ambo1-39/+59
Change-Id: Id8be05cadb4284cca78875c36a886c9ae0aa027d Reviewed-on: https://cl.tvl.fyi/c/depot/+/5476 Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2022-03-08 r/3897 chore(cheddar): Bump rouille and other dependenciesVincent Ambo2-187/+154
This mitigates the chrono & brotli-sys CVE reports for cheddar. Change-Id: I2f37cd7575e5ea38f4ca3aac71275652c343753d Reviewed-on: https://cl.tvl.fyi/c/depot/+/5353 Tested-by: BuildkiteCI Autosubmit: tazjin <tazjin@tvl.su> Reviewed-by: sterni <sternenseemann@systemli.org>
2022-02-26 r/3870 chore(tools): drop depot-nixpkgs-updatesterni1-44/+0
This tool has been replaced by niv. Change-Id: I011059b7d8890d0456b22f066e723584cc1d9a2b Reviewed-on: https://cl.tvl.fyi/c/depot/+/5329 Autosubmit: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2022-02-26 r/3869 chore(tools): Remove deprecated depot-build toolVincent Ambo1-8/+0
This has been superseded by magrathea. Change-Id: Ief4a3d1b81e51e7a9c9a0112584fa7efc8aca63f Reviewed-on: https://cl.tvl.fyi/c/depot/+/5328 Autosubmit: tazjin <tazjin@tvl.su> Reviewed-by: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
2022-02-18 r/3857 feat(tools/magrathea): implement run commandsterni1-0/+48
This command builds the desired target and runs the executable produced by it. If a directory is produced, it looks for a single (!) executable in the bin directory. Dot files are ignored, so wrappers should generally work. In the future we could provide a flag to select one of multiple executables. All arguments following the target are passed to the executable as is. Examples: mg run ops/mq_cli ls mg run web/bubblegum:examples Change-Id: I6490668af68e028520973196d9daa5f1d58969ee Reviewed-on: https://cl.tvl.fyi/c/depot/+/5277 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2022-02-13 r/3818 feat(rust-crates-advisories): check 3p crates together w/ lock filessterni1-74/+20
Instead of the strict check-all-our-crates, generate a fake Cargo.lock and add it to the report generated by check-all-our-lock-files. check-all-our-crates was a reimplementation of cargo-audit anyways and prevented us from updating the advisory db due to its strict model (failing on any advisory). Change-Id: I264a7f1a5058a527cbc46d26225352ecd437a22b Reviewed-on: https://cl.tvl.fyi/c/depot/+/5230 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2022-02-13 r/3817 refactor(rust-crates-advisory): split code for buildkite and reportsterni1-20/+28
Rename check-all-our-lock-files to tree-lock-file-report and pull out all the buildkite-specific code which makes the code less awkward. check-all-our-lock-files is then only executed in extraSteps and runs tree-lock-file-report on depot, adding it as a warning to the pipeline if it is non-empty. Change-Id: If6bd236d90cc680cba0ed4e988f2f28ddb8012d6 Reviewed-on: https://cl.tvl.fyi/c/depot/+/5229 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
2022-02-13 r/3816 refactor(rust-crates-advisory): move report generation into scriptsterni1-22/+28
This script is somewhat usable by humans (it even has a help screen!) and can be reused in //users/sterni/nixpkgs-crate-holes. We are using bash since that allows us to exit with the actual exit code of cargo-audit - something that's not possible in execline. Change-Id: I3331ae8222a20e23b8e30dc920ab48af78f0247c Reviewed-on: https://cl.tvl.fyi/c/depot/+/5228 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
2022-02-13 r/3813 fix(magrathea): print [mg] messages to stderrsterni1-2/+2
I want to add a shortcut to build and run e.g. scripts that are depot targets - for which it would be useful to not have stdout polluted by magrathea itself. Change-Id: Ic58fe28eafb4d0715e53beae041bfaa5d1745812 Reviewed-on: https://cl.tvl.fyi/c/depot/+/5276 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2022-02-08 r/3792 feat(depotfmt): Check & format Rust code with rustfmtVincent Ambo1-0/+7
The rustfmt configuration of the depot is moved to `rustfmt.toml` (it is recognised more reliably from this path than from the hidden .rustfmt.toml). Nested configuration is theoretically possible, but detection of nested config files is flaky. Paths with nested config files need to be disabled in the top-level check (I've excluded my user directory). Change-Id: I385ce3ef529bda28fac03bfba86fc204c81b8a61 Reviewed-on: https://cl.tvl.fyi/c/depot/+/5241 Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi>
2022-02-08 r/3791 style(rust): Format all Rust code with rustfmtVincent Ambo4-30/+84
Change-Id: Iab7e00cc26a4f9727d3ab98691ef379921a33052 Reviewed-on: https://cl.tvl.fyi/c/depot/+/5240 Tested-by: BuildkiteCI Reviewed-by: kanepyork <rikingcoding@gmail.com> Reviewed-by: Profpatsch <mail@profpatsch.de> Reviewed-by: grfn <grfn@gws.fyi> Reviewed-by: tazjin <tazjin@tvl.su>
2022-02-08 r/3790 chore: move some meta.targets definitions to meta.ci.targetsVincent Ambo1-1/+1
Change-Id: Icdec1dec89158fb596c5185ac7105892081947f5 Reviewed-on: https://cl.tvl.fyi/c/depot/+/5252 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org> Autosubmit: tazjin <tazjin@tvl.su>
2022-02-07 r/3783 fix(tools/depotfmt): clear cache when running checksVincent Ambo1-0/+1
apparently the cache can get out-of-sync or something; either way we had a build where it missed a file that was misformated. Change-Id: I2967aec99ee1c7c8b978a3dfdfed4ff213bb6591 Reviewed-on: https://cl.tvl.fyi/c/depot/+/5249 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
2022-02-07 r/3782 feat(tools/crfo-approve): Add tool for CRFO depot-interventionsVincent Ambo1-0/+52
In some cases we want to be able to "emergency approve" something on behalf of a different user. Example cases: * clean up of abandoned directories with restrictive OWNERS * security fixes blocked on people in different timezones This script can be used to perform these approvals if the user is a member of depot-interventions. Note that access to depot-interventions is audit logged. The user on behalf of whom approval is performed is always added to the attention set to ensure that they are made aware of the CRFO approval. Note: This depends on nixpkgs#156466. Keeping WIP until we have a channel with that patch. Change-Id: I16e5f9d7baa9daab49c88b629bb8f024aad9d94c Reviewed-on: https://cl.tvl.fyi/c/depot/+/5085 Tested-by: BuildkiteCI Reviewed-by: kn <klemens@posteo.de> Reviewed-by: sterni <sternenseemann@systemli.org>
2022-02-04 r/3764 fix(format-audit-results.jq): use advisories over vulnerabilitiessterni1-1/+1
Many of the vulnerabilities (in the respective crates) reported are not actually exploitable vulnerabilties of the packages we report them for. Consequently it is more accurate to state that they are advisories. Change-Id: I02932125b77fc9c71e583ae49e822fd3438dce05 Reviewed-on: https://cl.tvl.fyi/c/depot/+/5202 Reviewed-by: sterni <sternenseemann@systemli.org> Autosubmit: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
2022-02-04 r/3763 feat(tools/rust-crates-advisory): omit GHFM checklist in buildkitesterni2-1/+6
Buildkite doesn't understand GitHub Flavored Markdown and having a read only checklist in there is probably not much use. Change-Id: I41538487087e8c817b1a5e653f077bb0fbe6eb47 Reviewed-on: https://cl.tvl.fyi/c/depot/+/5201 Reviewed-by: sterni <sternenseemann@systemli.org> Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
2022-02-04 r/3762 chore: move format-audit-result.jq out of //users/sternisterni3-1/+75
In the spirit of the readTree filter we should also not include files in user directories from the outside. Change-Id: I1abe36a721048900d2758b5986063b68b8d1af93 Reviewed-on: https://cl.tvl.fyi/c/depot/+/5200 Reviewed-by: sterni <sternenseemann@systemli.org> Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
2022-02-04 r/3761 feat(tools/rust-crates-advisory): also check all our Cargo.lockssterni1-1/+92
check-all-our-lock-files works very similarly to //users/sterni/nixpkgs-crate-holes, even reusing some parts of it, but is much simpler since we don't need to extract the lock files — they are already in tree. It is implemented as a very simple script which just traverses the subtree of the current directory, collecting all warnings. When executing this script in buildkite via extraSteps, it never fails, instead annotating the pipeline run with a warning. Change-Id: I0a0bc26deffe7b20b99f5aa7238fb3c3bb9deb92 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3721 Reviewed-by: sterni <sternenseemann@systemli.org> Autosubmit: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
2022-02-03 r/3760 refactor: expose cheddar-about script from cheddarsterni1-0/+11
Any other cgit configuration in depot would need this script wrapper as well. Change-Id: Ifa04e1c9de9c925eb3f60c5d3854221ae02ef06c Reviewed-on: https://cl.tvl.fyi/c/depot/+/5206 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: sterni <sternenseemann@systemli.org>
2022-01-31 r/3724 feat(depotfmt): format Nix code using nixpkgs-fmtVincent Ambo1-0/+8
Change-Id: Ieffd04e1654e37500a6f6f5e4f29d09137bbc4e9 Reviewed-on: https://cl.tvl.fyi/c/depot/+/5142 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
2022-01-31 r/3723 style: format entire depot with nixpkgs-fmtVincent Ambo9-84/+157
This CL can be used to compare the style of nixpkgs-fmt against other formatters (nixpkgs, alejandra). Change-Id: I87c6abff6bcb546b02ead15ad0405f81e01b6d9e Reviewed-on: https://cl.tvl.fyi/c/depot/+/4397 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org> Reviewed-by: lukegb <lukegb@tvl.fyi> Reviewed-by: wpcarro <wpcarro@gmail.com> Reviewed-by: Profpatsch <mail@profpatsch.de> Reviewed-by: kanepyork <rikingcoding@gmail.com> Reviewed-by: tazjin <tazjin@tvl.su> Reviewed-by: cynthia <cynthia@tvl.fyi> Reviewed-by: edef <edef@edef.eu> Reviewed-by: eta <tvl@eta.st> Reviewed-by: grfn <grfn@gws.fyi>
2022-01-21 r/3653 refactor(depotfmt): Move formatting check into an extra stepVincent Ambo1-1/+5
Change-Id: I7e4cf6bb2351bd11a5396f1663c0d4cc97c0d94e Reviewed-on: https://cl.tvl.fyi/c/depot/+/5009 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org> Reviewed-by: grfn <grfn@gws.fyi> Reviewed-by: ezemtsov <eugene.zemtsov@gmail.com>
2022-01-17 r/3622 refactor(tools/emacs-pkgs): move sly-from-depot to tvl.elsterni2-35/+36
The function is depot specific and thus uses tvl-depot-path, so it belongs in `tvl.el`. Since non-sly-users won't need it, we tie its definition to loading the sly package. Change-Id: I8b104deab455d218d3df6a800e35cc104220a841 Reviewed-on: https://cl.tvl.fyi/c/depot/+/4960 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2022-01-17 r/3621 refactor(tools/emacs-pkgs/nix-util): drop unused var nix-depot-pathsterni1-2/+0
Change-Id: Iffff21277a35e8da8125425412a4a3a3f5ffd1ce Reviewed-on: https://cl.tvl.fyi/c/depot/+/4942 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2022-01-15 r/3599 fix(tools/emacs-pkgs/nix-util): require missing dependenciessterni2-1/+5
We can't use cl-lib as that apparently doesn't contain lexical-let*. Change-Id: I8e65d20215ae5667bb92b71e6318ad9d66125320 Reviewed-on: https://cl.tvl.fyi/c/depot/+/4941 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2022-01-04 r/3516 fix(emacs-pkgs/nix-util): Fix nix/sly-from-depot functionVincent Ambo1-6/+4
A formatting error broke this at some point (the let clauses were outside of the definition list). Change-Id: Iaa2dc9ad02d2f7e909ca9bf28705e782ad26060b Reviewed-on: https://cl.tvl.fyi/c/depot/+/4765 Tested-by: BuildkiteCI Autosubmit: tazjin <tazjin@tvl.su> Reviewed-by: sterni <sternenseemann@systemli.org> Reviewed-by: grfn <grfn@gws.fyi>
2021-12-28 r/3492 refactor(tools/depotfmt): Move depotfmt check into a real build stepVincent Ambo1-6/+6
Produces more useful output and also makes for a good target for the upcoming extraSteps logic. Change-Id: Ifd389d433d9e27f97940a48999f4fba35646e37a Reviewed-on: https://cl.tvl.fyi/c/depot/+/4727 Tested-by: BuildkiteCI Autosubmit: tazjin <mail@tazj.in> Reviewed-by: sterni <sternenseemann@systemli.org>
2021-12-27 feat: set SSL_CERT_FILE and provide a CmdJérôme Petazzoni2-7/+20
Two minor "quality of life" improvements: - automatically set SSL_CERT_FILE environment variable, so that programs relying on OpenSSL for certificate validation can actually validate certificates (the certificates are included no matter what since we add the "cacert" package to all iamges) - if the requested image includes an interactive shell (e.g. if it includes the "shell" metapackage), set the image Cmd to "bash", which allows to execute "docker run nixery.dev/shell" and get a shell) I'm happy to split this PR in two if you'd like, but since both features touch the Config structure and are rather small, I thought it would make sense to bundle them together.
2021-12-27 r/3462 refactor(tvl.el): use flags of gerrit-ref for WIPzseri1-1/+1
Change-Id: I858070ff8e48ca7e556f33d276e89b6ae940519c Reviewed-on: https://cl.tvl.fyi/c/depot/+/4630 Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi>
2021-12-26 r/3424 fix(depotfmt): handle multiple terraform filesVincent Ambo1-2/+7
`terraform fmt` can only handle a single path, but treefmt expects formatters to be able to handle multiple paths at once. this wraps it in a small shell script that calls `terraform fmt` with at most one path at a time. Change-Id: I2b9c1b89b5a276f3d4915b95608ce36b2509e334 Reviewed-on: https://cl.tvl.fyi/c/depot/+/4639 Tested-by: BuildkiteCI Autosubmit: tazjin <mail@tazj.in> Reviewed-by: grfn <grfn@gws.fyi>
2021-12-25 r/3388 feat(depot-scanner): forward non-processed stderr outputzseri1-0/+5
previously, depot-scanner swallowed/ignored all non-processed stderr output of nix-instantiate, which makes diagnosing failures of nix-instantiate (e.g. failed with exit status 1) difficult. This commit fixes that by always forwarding the remaining stderr messages. Example previous error message: panic: nix-instantiate failed: exit status 1 goroutine 1 [running]: main.main() /nix/store/8vb2j13bd7j5ipl7dhsnwvgr7nrrsqsi-main.go:160 +0xeb4 Example new error message: nix-inst> error: unrecognised flag '--trace-file-access' nix-inst> Try '/run/current-system/sw/bin/nix-instantiate --help' for more information. panic: nix-instantiate failed: exit status 1 goroutine 1 [running]: main.main() /nix/store/qy7v79a3harddirzmc0432vbzqhyf91i-main.go:165 +0xeb4 Change-Id: I666f3490fc648f77a5384b95edd74f6115f7920d Reviewed-on: https://cl.tvl.fyi/c/depot/+/4553 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2021-12-24 r/3371 feat(depotfmt): run formatting checks in CIVincent Ambo1-6/+19
Right now this only includes Go, but more is to come. Change-Id: Idd8fc27c0eb25e82688ef8337ba20810d834f4b6 Reviewed-on: https://cl.tvl.fyi/c/depot/+/4504 Reviewed-by: zseri <zseri.devel@ytrizja.de> Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI Autosubmit: tazjin <mail@tazj.in>
2021-12-24 r/3370 feat(depotfmt): add terraform formatting to depotfmtVincent Ambo1-0/+5
Change-Id: I235e7fcbd49f11e71127ce31da9c11da4d220ff6 Reviewed-on: https://cl.tvl.fyi/c/depot/+/4584 Autosubmit: tazjin <mail@tazj.in> Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi>
2021-12-24 feat: add /tmpJérôme Petazzoni1-5/+7
Examples of programs that fail when /tmp doesn't exist: - terraform - anything using mktemp and similar helpers
2021-12-24 docs: mention arm64 metapackageEthan Davidson1-2/+4
2021-12-24 chore: fix env var name in error messageJérôme Petazzoni1-1/+1
The error message shows the wrong variable name, which might be confusing for new users.
2021-12-24 docs: update installation instructionsJérôme Petazzoni1-12/+60
These instructions were not up-to-date (they didn't mention the different storage backends, and some variables were tagged as optional while they were mandatory). With this update, they should (hopefully) be more accurate! :) I also added instructions if someone wants to run Nixery outside of the container image (I found it convenient when working on Nixery's code).
2021-12-24 r/3344 fix(depot-scanner): Reenable CI runsVincent Ambo2-2/+2
(zseri:) It seems like relativePath should be replaced with relativeFlag, as no variable with the former name exists, a boolean is as far as I can tell expected, and a boolean with a similar name exists. Lets give it a try in the CI. Change-Id: I0e7e522a41a517a38222dcda3b66731344613c1e Reviewed-on: https://cl.tvl.fyi/c/depot/+/3581 Reviewed-by: tazjin <mail@tazj.in> Autosubmit: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2021-12-21 r/3329 fix(tvl.el): Change prompt for different commandsGriffin Smith1-4/+4
Prompting with "Checkout CL" for the gerrit cherry-pick command doesn't make any sense. Change-Id: I51495e7975202146fae2da0807e525596f2d490e Reviewed-on: https://cl.tvl.fyi/c/depot/+/4516 Autosubmit: grfn <grfn@gws.fyi> Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2021-12-18 r/3295 feat(tools/depotfmt): add a treefmt wrapper with depot configurationVincent Ambo1-0/+16
Right now the only included formatter is gofmt, but we will extend this over time. The version of treefmt is bumped to 0.3.0 (which supports custom config files) until this lands in nixpkgs. Change-Id: I1e1aafd05ec7427c616f90c90490c528ecb2615c Reviewed-on: https://cl.tvl.fyi/c/depot/+/4399 Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi>
2021-12-18 r/3294 fix(tools/magrathea): prevent trailing slash for // in pathsterni1-6/+7
All targets would have no trailing slash, so it was at least ugly that // had one as the only legal target. Change-Id: I1b60850ac86d8c550f262841694fb00c518413b8 Reviewed-on: https://cl.tvl.fyi/c/depot/+/4404 Autosubmit: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2021-12-18 r/3293 feat(tools/cheddar): shortlink depot revisionssterni2-0/+12
r/3000 will now be shortlinked to show the commit in cgit. Going via atward probably doesn't make sense at this point, since the depot refs are not available in sourcegraph at all (for reasons I can't repeat). Switching to atward might be interesting when/if we introduce support for shortlinking // paths. Fixes: b/163 Change-Id: I57c1a7d02d881e4f8b3ee1f71755dd7930925dc4 Reviewed-on: https://cl.tvl.fyi/c/depot/+/4402 Tested-by: BuildkiteCI Autosubmit: sterni <sternenseemann@systemli.org> Reviewed-by: tazjin <mail@tazj.in>
2021-12-18 r/3292 feat(tools/magrathea): let users override the repository rootVincent Ambo1-3/+4
for global installations of magrathea, setting MG_ROOT can be a way to switch quickly between different repositories (esp. in combination with `cd (mg path)`). Change-Id: I4627fe78b7cc112b75ab57e7806ffd85c6d38aee Reviewed-on: https://cl.tvl.fyi/c/depot/+/4396 Tested-by: BuildkiteCI Reviewed-by: wpcarro <wpcarro@gmail.com>
2021-12-18 r/3291 feat(tools/magrathea): add a path commandVincent Ambo1-4/+19
this command prints the absolute directory for a given target. it can be combined with shell aliases to add quick navigation commands. unfortunately due to the nature of computers implementing something like `mg cd` directly is not possible. Change-Id: Icc88eb97384812c620c49fe2de8fa331f4d7153b Reviewed-on: https://cl.tvl.fyi/c/depot/+/4395 Tested-by: BuildkiteCI Reviewed-by: wpcarro <wpcarro@gmail.com>
2021-12-18 r/3290 feat(tools/magrathea): wire up parsed targets with commandsVincent Ambo1-24/+61
magrathea now does what it says on the tin - build and shell commands can be used with the targets specified on the command line. implementation notes: * string representation of target has been changed to look like the target spec format, this is now used in user-facing messages * errors returned by the target parser make the program exit with status 1 * normalisation could be done better (for example, maybe it makes sense to always do it) but it's good enough for now Change-Id: Ib85f389a5cec92b3c2f3b9c0b40764435bbcc68b Reviewed-on: https://cl.tvl.fyi/c/depot/+/4394 Tested-by: BuildkiteCI Reviewed-by: wpcarro <wpcarro@gmail.com>
2021-12-17 r/3287 feat(tools/magrathea): add weirdly overengineered target spec parserVincent Ambo1-1/+105
i'm not sure what happened here, but it works (yes, the fancy target printing is completely unnecessary, but oh well): #;152> (parse-target "foo") #target(foo) #;153> (parse-target "//foo") #target(//foo) #;154> (parse-target "//foo/bar") #target(//foo/bar) #;155> (parse-target "//foo/bar/") #target(//foo/bar) #;156> (parse-target "//foo/bar:baz") #target(//foo/bar:baz) #;157> (parse-target "//foo/bar/:baz") #target(//foo/bar:baz) #;158> (parse-target "//foo/bar:") (error . "unexpected end of input while parsing virtual target") #;159> (parse-target "//foo//") (error . "unexpected root-anchor while parsing normal target") the most notable thing is that trailing slashes are allowed in the physical targets, since people may be autocompleting these on the shell from folder names. Change-Id: I32975ad77fe2a327130dc9574011fe92cce49f84 Reviewed-on: https://cl.tvl.fyi/c/depot/+/4393 Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi> Reviewed-by: wpcarro <wpcarro@gmail.com>