Commit graph

15150 commits

Author SHA1 Message Date
Florian Klink
192835278c submitqueue.submitqueue: document Result functions 2019-11-27 19:32:14 +01:00
Griffin Smith
2f2e5a0b68 Gitignore source before passing to nix
Call hercules-ci's gitignoreSource on the src path before passing to
nix, which both prevents spurious rebuilds and also makes compilation
via `nix build` (which under the hood uses cabal v1-build) work while
also doing development using `cabal new-build`
2019-11-27 13:20:46 -05:00
Florian Klink
fdfcf7967a submit-queue.tmpl: fix accordion, remove "Current Queue"
The Current Queue in fact is just the latest log element.
2019-11-27 19:18:15 +01:00
Florian Klink
917db9e9fd submit-queue.tmpl.html: remove stray </code> 2019-11-27 19:17:22 +01:00
Vincent Ambo
9d6792609f
Merge pull request #10 from tazjin/feat/buildGo-dot-nix
Introduce Bazel-style Nix build system for Go
2019-11-27 15:47:52 +00:00
Vincent Ambo
0bd085f5d6 chore(overrides): Import buildGo.nix from external repository 2019-11-27 15:20:24 +00:00
Vincent Ambo
28e587b348 docs: Add README file that describes project usage & background 2019-11-27 15:14:43 +00:00
Florian Klink
a00a24d459 submit-queue.tmpl.html: navbar-expand-{lg->sm} 2019-11-27 13:13:48 +01:00
Florian Klink
e6482a9725 submit-queue.tmpl.html: add history visualizer 2019-11-27 13:05:22 +01:00
Florian Klink
91deabe4b3 submitqueue.Run: copy series into result object after loading them from gerrit
So we have them in the history later.
2019-11-27 13:03:17 +01:00
Florian Klink
87d09f6163 submitqueue: Result: record startTime during a new MakeResult constructor, return EndTime properly
even without any LogEntries
2019-11-27 13:02:20 +01:00
Florian Klink
089e551b72 tmpl: move #region-queue to heading
the series block will get reused, and we don't want the same ID to
appear twice.
2019-11-27 13:01:21 +01:00
Florian Klink
d81ae74999 frontend: reorder things passed to template 2019-11-27 13:00:50 +01:00
Florian Klink
69f0963a17 render series via a separate block 2019-11-27 11:41:45 +01:00
Florian Klink
151cc75532 render serie via a separate block 2019-11-27 11:40:52 +01:00
Florian Klink
1b249600e5 render changeset via a separate block 2019-11-27 11:35:07 +01:00
Florian Klink
97eb1fae38 loadTemplate: support loading mulitple templates 2019-11-27 11:24:04 +01:00
Abseil Team
0514227d25 Export of internal Abseil changes
--
2ba0e41a21fbdab36b2f4f3b0dd4b112bd788604 by Derek Mauro <dmauro@google.com>:

Remove the include of <intsafe.h>, which is missing on
some versions of MinGW. DWORD is easily replaced by uint32_t.

PiperOrigin-RevId: 282576177

--
238fd41114b3e83fcb91d2afe1e6dcce7cfd53b0 by Samuel Benzaquen <sbenza@google.com>:

Remove assertion in erase(iterator) that tries to use the comparator.
Add missing this-> qualifier.
Fix bug where node elements are not being destroyed properly.

PiperOrigin-RevId: 282427096

--
6b9446e3b38ed97451c010933e86a572ab659ab2 by Derek Mauro <dmauro@google.com>:

Improves/fixes feature detection in thread_identity

Only use ABSL_PER_THREAD_TLS_KEYWORD when it is supported (previously
on some platforms it evaluated to nothing, which completely breaks
everything), but prefer it to thread_local since benchmarks indicate
it is slightly faster in this critical code path.

Disable the calls to pthread_sigmask on MinGW where it is not
supported.

PiperOrigin-RevId: 282425291
GitOrigin-RevId: 2ba0e41a21fbdab36b2f4f3b0dd4b112bd788604
Change-Id: I34073ecbb4a43ad71f54161c136d88fc728888f1
2019-11-26 12:37:42 -05:00
Vincent Ambo
9280cf9715 feat(buildGo): Add support for gRPC packages
Introduces buildGo.grpc which is like buildGo.proto, but adds
dependencies on the gRPC libraries.
2019-11-26 12:28:10 +00:00
Vincent Ambo
d3e8774a8e feat(proto): Add protobuf & gRPC dependencies via external
Moves the Protobuf & gRPC dependencies to a separate file which uses
buildGo.external to build the dependencies.

The versions are pinned at master of 2019-11-26.
2019-11-26 12:28:10 +00:00
Vincent Ambo
8b6b08b814 feat(buildGo): Add 'srcOnly' and 'targets' parameters for external
Adds two new parameters to buildGo.external:

* `srcOnly` toggles whether the created derivation should contain only
  the source code, or the built package.

  This is useful in situations where some sub-packages of a larger
  package are needed and the build should be deferred to the package
  depending on them.

  It defaults to false, meaning that external packages are built by
  default.

* `targets` controls which "sub-packages" of the target package are
  built. It defaults to building all sub-packages.
2019-11-26 12:21:58 +00:00
Abseil Team
7f4fe64af8 Export of internal Abseil changes
--
44efc1bb0e0a47eabf0569eaab81c66710d5b9c3 by Mark Barolak <mbar@google.com>:

Update "strings::Substitute" to "absl::Substitute" in the absl::Substitute error messages.

PiperOrigin-RevId: 282388042

--
9ec7e9385f5469473f76857dc5b067d869bbc65b by Abseil Team <absl-team@google.com>:

Remove deprecated ExponentialBiased::Get()

PiperOrigin-RevId: 282045123
GitOrigin-RevId: 44efc1bb0e0a47eabf0569eaab81c66710d5b9c3
Change-Id: I915bf0ff5fa7ac2bd5f9fb653d1fbd9ece6af9fc
2019-11-25 14:57:06 -05:00
Florian Klink
6bb7689a7b removed unused views/ folder 2019-11-25 18:27:13 +01:00
Florian Klink
b0f08a99ee frontend: expose the currentlyRunning value 2019-11-25 18:26:19 +01:00
Florian Klink
b65f56c6e2 frontend: return state atomically, remove GetSubmitQueue 2019-11-25 18:12:38 +01:00
Florian Klink
3898495d56 .envrc: enable go modules 2019-11-25 17:48:08 +01:00
Vincent Ambo
7d26550c11 feat(buildGo): Add support for building "external" Go libraries
Adds a buildGo.external function that can build packages following the
default go-tool package layout. Dependencies work the same way as they
do for other buildGo-packages, but instead of being passed straight to
the compiler a fake GOPATH is assembled using a symlink forest.

External currently supports very few direct configuration options and
was primarily created to build the protobuf packages, but it is also
useful for including external dependencies in buildGo-native projects.

The previous complex build logic for the protobuf package has been
replaced with a call to `external`.
2019-11-25 16:45:21 +00:00
Florian Klink
16e197b154 TODO: log last update 2019-11-25 17:43:56 +01:00
Florian Klink
ad27d963f2 submitqueue: remove updateHEAD function
This is already done during the Run() function
2019-11-25 17:42:58 +01:00
Florian Klink
266c27d1d0 foo 2019-11-25 17:42:48 +01:00
Florian Klink
10b2c6e365 frontend: we already add hyperlinks 2019-11-25 17:36:39 +01:00
Florian Klink
40b2f11543 frontend: only pass runner to MakeFrontend, add Runner.GetSubmitQueue() 2019-11-25 17:35:11 +01:00
Vincent Ambo
580bd88622 feat(buildGo): Add x_defs support 2019-11-25 15:34:59 +00:00
Vincent Ambo
43f91c44bd feat(read-tree): Pass in-tree location to imported package sets
Passes the location from the root at which packages are imported on to
all packages.

The path is passed in as a parameter called 'locatedAt' which contains
a list of strings with each individual path component.

For example, the blog source in `services/tazblog` will have a list
with `[ "services" "tazblog" ]` passed in as the `locatedAt`
attribute.

This can be used for enabling features such as path-specific imports
when using things like buildGo.
2019-11-25 15:32:02 +00:00
Vincent Ambo
48ed487bdd refactor(read-tree): Idiomatic 'attrsToList' instead of weird hack 2019-11-25 15:10:31 +00:00
Vincent Ambo
473421dbb8 feat(example): Demonstrate usage of x_defs flag to buildGo.program 2019-11-24 20:41:29 +00:00
Vincent Ambo
0fd7466922 feat(buildGo): Add support for x_defs option in buildGo.program
This lets users define an attribute set with link time options.
2019-11-24 20:41:01 +00:00
Vincent Ambo
071babf148 feat(example): Add an example for how to use buildGo builders 2019-11-24 20:34:30 +00:00
Vincent Ambo
d441e035aa feat: Add support for Protobuf-generated libraries
Adds a 'buildGo.proto' function which takes a single .proto file as
its source and generates a corresponding Go library which can then be
imported.

'proto' takes these arguments (Yants-style type definition):

struct "protoArgs" {
  # required:
  name = string;
  proto = path;

  # optional:
  extraDeps = list goLib; # defaults to [ ]
  protocFlags = option string;
}

Note that proto libraries will automatically have dependencies for the
required protobuf Go libraries added to them.

gRPC is not (yet) supported.
2019-11-24 20:17:17 +00:00
Vincent Ambo
24225580e8 feat: Check in buildGo with program & package builders 2019-11-23 15:25:11 +00:00
Vincent Ambo
5126815846 chore: initial commit 2019-11-23 15:24:50 +00:00
Florian Klink
fecbf8b3e2 WIP: build binary and container 2019-11-22 19:51:16 +01:00
Abseil Team
16d9fd58a5 Export of internal Abseil changes
--
db8dbd0e8a7b0125a4819dfc81c9bd2496849c71 by Abseil Team <absl-team@google.com>:

Create GetSkipCount() and GetStride() methods and add rounding bias correction.

PiperOrigin-RevId: 281780897
GitOrigin-RevId: db8dbd0e8a7b0125a4819dfc81c9bd2496849c71
Change-Id: I56a97288b1cb38a9357c065747f8d9bc4b187fee
2019-11-22 11:35:22 -05:00
Vincent Ambo
f1655c5cbb fix(tools): Enable CI runs for tools.gotest 2019-11-22 16:29:43 +00:00
Vincent Ambo
1619f58d78 feat(tools): Add 'gotest' program to demonstrate pkgs.buildGo
This is a tiny program that does nothing but exists to demonstrate
pkgs.buildGo by building a program that depends on a local library as
well as a protobuf definition.
2019-11-22 16:28:22 +00:00
Vincent Ambo
9ea0363e6f fix(buildGo): Use stable build ID when linking outputs
This is another step towards build reproducibility, which Go is
traditionally very bad at.
2019-11-22 16:14:52 +00:00
Vincent Ambo
8710df08c8 fix(buildGo): Ensure names of proto-generated files are correct 2019-11-22 16:14:35 +00:00
Vincent Ambo
5a89a0265b refactor(buildGo): Minor cleanups of buildGo implementation 2019-11-22 16:14:14 +00:00
Florian Klink
9c36bb0e6c frontend: add menu, info box and log area 2019-11-22 16:41:19 +01:00
Florian Klink
a77beee02b submit-queue.tmpl.html: use table to make it more usable 2019-11-22 13:35:48 +01:00