commit | 58a9bb92f28d29d01971e4f97a6ff0f6be192a5c | [log] [tgz] |
---|---|---|
author | Oliver Newman <olivernewman@google.com> | Mon Jul 17 15:07:58 2023 +0000 |
committer | CQ Bot <fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com> | Mon Jul 17 15:07:58 2023 +0000 |
tree | 28b8e22543e94411f71b2721c87e8849101afc5b | |
parent | 0db297bd1ace83ca9db966e59902dc614203bdd8 [diff] |
[go] Vendor all dependencies Otherwise some checks like `ineffassign` will try to download dependencies at runtime. Generated by running `go mod vendor`. Also add the vendor/ directory to the files ignored by shac, since we don't want to block on linting/formatting issues in upstream code. For some reason, this caused ineffassign to fail with "error obtaining VCS status: exit status 128" on infra linux machines. I'm not sure why this is happening and can't reproduce locally, so taking the approach of setting GOFLAGS=-buildvcs=false for all checks. Change-Id: Icc5cdd5fc107b3f1373ef6dff64920e0fc4628c5 Reviewed-on: https://fuchsia-review.googlesource.com/c/shac-project/shac/+/879279 Commit-Queue: Oliver Newman <olivernewman@google.com> Reviewed-by: Marc-Antoine Ruel <maruel@google.com> Fuchsia-Auto-Submit: Oliver Newman <olivernewman@google.com>
Shac (Scalable Hermetic Analysis and Checks) is a unified and ergonomic tool and framework for writing and running static analysis checks.
Shac checks are written in Starlark.
go install go.fuchsia.dev/shac-project/shac@latest shac check shac doc shac.star | less
Planned features/changes, in descending order by priority:
shac.textproto
shac.star
files.shac
cache directory that checks can write toctx.scm
glob
arguments to ctx.scm.{all,affected}_files()
functions for easier filtering⚠ The source of truth is at https://fuchsia.googlesource.com/shac-project/shac.git and uses Gerrit for code review.
See CONTRIBUTING.md to submit changes.