Chris Smowton
23b8af3a56
Tolerate empty-string CODEQL_PLATFORM
...
This is normal when invoked with tracing disabled, so we also don't log when this happens.
2021-03-29 11:34:50 +01:00
Chris Smowton
aef0a07a50
Prefer CODEQL_* environment variables when set
2021-03-25 16:20:16 +00:00
Chris Smowton
c2c88b0835
Unify two implementations of GetExtractorPath
...
This retains both their features:
* The new util.go one cached its result.
* The old go-autobuilder.go one worked under ODASA, where CODEQL_GO_EXTRACTOR_ROOT is unset but os.Executable is a useful substitute.
2021-03-25 11:24:39 +00:00
Sauyon Lee
104b9cffbd
Extract extractor diagnostic information
2021-03-19 04:34:15 -07:00
Sauyon Lee
1ca2164058
Add GetExtractorPath util function
2021-03-19 04:34:14 -07:00
Sauyon Lee
95f93b8641
Add FileFor utility function for trap files
2021-03-19 04:34:14 -07:00
Sauyon Lee
d8885c580a
Add extractor diagnostic tables to the database
2021-03-19 04:34:13 -07:00
Sauyon Lee
25cc1b451d
Add support for float dbscheme columns
2021-03-19 04:30:01 -07:00
Sauyon Lee
8438b893ec
Add HTML tracing capability
2021-03-18 10:51:12 -07:00
Sauyon Lee
be14df042d
Explicitly set GO111MODULE to auto
2021-02-25 08:22:06 -08:00
Sauyon Lee
82849fe91a
Explicitly set GO111MODULE=off
2021-02-19 07:59:13 -08:00
Sauyon Lee
8c60c614db
Add -overlay to recognized go build flags
2021-02-09 17:09:48 +00:00
Sauyon Lee
920f7153c8
autobuilder: Add dependency check
...
Sometimes build scripts succeed without installing dependencies, for
example if they are unrelated to Go or if they simply always exit
successfully. Therefore, added a check that dependencies at least
resolve before skipping dependency installation.
2020-11-09 02:13:48 -08:00
Sauyon Lee
4a53bfdebf
autobuilder: Only set mod mode when go.mod exists
2020-11-09 02:13:47 -08:00
Chris Smowton
e9278b5477
Merge pull request #386 from smowton/smowton/admin/improve-error-messages
...
Improve error messages
2020-10-23 08:27:03 +01:00
Chris Smowton
82de513764
Merge pull request #384 from sauyon/gobuild
...
extractor: Extract the working directory if no packages are passed
2020-10-22 15:43:48 +01:00
Chris Smowton
3716f6d7e9
Improve error messages
2020-10-22 14:42:23 +01:00
Sauyon Lee
e22bf96ba3
extractor: Extract the working directory if no packages are passed
2020-10-22 05:22:33 -07:00
Chris Smowton
5cc695f1d5
Autobuilder: fall back when os.Executable fails
...
This can happen under tracing, perhaps because of https://github.com/github/codeql-tracer/issues/29
2020-10-22 13:19:55 +01:00
Chris Smowton
2b07e6a0f4
Merge pull request #324 from sauyon/tracing
...
Build tracing
2020-10-15 11:27:34 +01:00
Sauyon Lee
e5afd1dcb6
go-extractor: clarify --mimic error message
...
Co-authored-by: Chris Smowton <smowton@github.com >
2020-10-14 09:43:10 -07:00
Sauyon Lee
25eebe95e4
autobuilder: Clarify error message
2020-10-14 09:42:12 -07:00
Sauyon Lee
3242df4177
Use package root directory to find go.mod files
2020-10-14 09:13:57 -07:00
Sauyon Lee
85c92251d6
Add a new binary for tracing
2020-10-08 23:31:06 -07:00
Sauyon Lee
de0582a67f
autobuilder: extract out attempted build commands
2020-10-08 23:31:05 -07:00
Sauyon Lee
cd63ea84aa
extractor: revamp argument parsing
2020-10-08 23:31:05 -07:00
Sauyon Lee
2da89c6527
extractor: factor out run from autobuilder
2020-10-08 23:31:05 -07:00
Sauyon Lee
eaf5342b7d
Enable Go modules while determining module directory
2020-10-08 23:31:05 -07:00
Sauyon Lee
16796529fc
Add package directory as a wanted root
2020-10-08 23:31:05 -07:00
Chris Smowton
6b6c862274
Autobuilder: Use fully resolved path for GOPATH
...
Otherwise on systems where /tmp is a symlink (e.g. default OSX setup), GOPATH does not match the current working directory after os.Chdir'ing to that directory (os.Chdir resolves symlinks, unlike a shell's 'cd' command), which causes `dep` to fail complaining that it is being run from outside GOPATH.
2020-10-02 17:05:47 +01:00
Sauyon Lee
7ea3b34e4b
extractor: Reorganize code to be in a slightly more sensible order
2020-09-25 04:23:35 -07:00
Sauyon Lee
e158b39287
Improve extractor logging
...
Co-authored-by: Max Schaefer <54907921+max-schaefer@users.noreply.github.com >
2020-09-25 04:23:31 -07:00
Max Schaefer
65c449cff0
Merge pull request #325 from max-schaefer/revert-237
...
Revert "Revert "autobuilder: Add support for GITHUB_REPOSITORY environment variable""
2020-09-08 08:04:58 +01:00
Max Schaefer
52a659183d
Merge pull request #314 from smowton/smowton/admin/bump-golang-tools
...
Bump to latest version of golang.org/x/tools
2020-09-07 16:02:55 +01:00
Max Schaefer
655e229d1e
Revert "Revert "autobuilder: Add support for GITHUB_REPOSITORY environment variable""
...
This reverts commit ccfccb4828 .
2020-09-07 15:14:52 +01:00
Chris Smowton
47958e6de8
Go.mod comments: trim newlines
...
These weren't previously reported as part of the comment text, but are as of the latest version of golang.org/x/tools
2020-09-03 15:54:56 +01:00
Chris Smowton
e386346a25
Extractor: tolerate ast.File structures without a package declaration
...
In earlier versions of golang/x/tools these would be omitted entirely; now they can result in ast.File structures whose ast.Package field is zero (NoPos), and in my experience these contain no information in their other fields either.
2020-09-03 14:32:23 +01:00
Chris Smowton
246e8b1b27
Make failure to restore a file to its original location non-fatal
2020-09-02 11:44:43 +01:00
Chris Smowton
8de188a6ca
Restore repo layout post-autobuild
2020-09-02 11:44:43 +01:00
Max Schaefer
b4550f244b
Merge pull request #313 from github/rc/1.25
...
Merge rc/1.25 into main
2020-08-27 14:27:26 +01:00
Chris Smowton
4d084372b5
Fix autobuilder Go version comparison
...
The semver package requires versions of the form v1.2.3, and unhelpfully evaluates any malformed versions as equal.
2020-08-27 11:02:23 +01:00
Chris Smowton
c6dbb9fcb2
Tidy up -mod argument stringification
2020-08-27 10:46:36 +01:00
Chris Smowton
b13b54f7d7
Don't try to use -mod=... when go.mod doesn't exist
...
Also don't pass a blank argument to `go` when using an old version.
2020-08-26 13:56:36 +01:00
Chris Smowton
9ad2d6c119
Factor default and custom install paths
...
These now follow the same route:
* Run a default or custom build script
* If needed, check if vendor/ is usable
* If it isn't, or if their build failed, install dependencies using go get etc
This commit shouldn't cause any behavioural change.
2020-08-26 12:02:54 +01:00
Chris Smowton
859b427881
Check if the vendor/ directory is usable, even after a successful build
2020-08-26 11:53:50 +01:00
Sauyon Lee
8f6b25e0ac
autobuilder: Use -mod=mod for vendor directories wihtout modules.txt
2020-08-26 11:25:30 +01:00
Sauyon Lee
70d425d317
autobuilder: move vendor check before dependency installation check
...
This means dependency installation is still attempted when a vendor
directory is inconsistent.
2020-08-26 11:25:30 +01:00
Sauyon Lee
852ae9397b
autobuilder: Test for vendor inconsistency
2020-08-26 11:25:30 +01:00
Sauyon Lee
28c69743a4
Add workaround for go 1.14 explicit vendoring requirement
...
This only applies for module files for which no Go version has
been specified; Go will assume these should be parsed with the
latest Go version, which will cause them to fail if the vendor
directory has been generated with an old version of Go, as
the vendor/modules.txt will not meet the new requirements for
consistency.
2020-08-26 11:25:30 +01:00
Max Schaefer
bdfd1d131f
Teach extractor to record the presence of an ellipsis in a call expression.
2020-08-10 07:30:23 +01:00