Commit graph

563 commits

Author SHA1 Message Date
Daiderd Jordan ceef89c8cc
add tracing
An alternative logging library with support for structured logging as
well as slightly nicer default output.
2020-05-01 19:05:25 +02:00
Graham Christensen 3b6947cd20
Merge pull request #478 from LnL7/publish-persistent
make messages persistent
2020-04-30 15:42:20 -04:00
Daiderd Jordan 3223f32f5c
make messages persistent
Should ensure we don't loose pending builds or evaluations when rabbitmq
restarts.
2020-04-30 20:01:34 +02:00
Daiderd Jordan e0fce0e2fe
limit prefetch count to one for lapin channels
Otherwise the consumer will pull all messages in the queue so other
instances don't have a chance to share the load.
2020-04-30 19:19:28 +02:00
Daiderd Jordan 7d611646d3
ofborg: 0.1.8 -> 0.1.9 2020-04-30 00:12:47 +02:00
Daiderd Jordan 5b8d7e079a
remove glob imports in easylapin 2020-04-30 00:11:05 +02:00
Daiderd Jordan fb8b4249f1
remove unwraps in lapin
Might help a little bit with debugging if any of these unexpected cases
occur.
2020-04-29 23:00:54 +02:00
Daiderd Jordan 8cb5bfd225
remove unwraps from builder
Mostly the same behaviour, but the result syntax is a bit nicer.
2020-04-29 23:00:54 +02:00
Daiderd Jordan 8dfcccb93e
set content_type for lapin 2020-04-29 23:00:54 +02:00
Daiderd Jordan 7dc8d407a2
implement all declare options for lapin
Many of these are actually not used, probably better to remove them.
2020-04-29 23:00:54 +02:00
Daiderd Jordan 737871ea84
implement ofborg version property for lapin 2020-04-29 23:00:53 +02:00
Daiderd Jordan eae94fe00a
convert builder to easylapin
This is probably the safest thing to start with since it can be tested
separately from the main deployment and isn't only used for secondary
checks.
2020-04-29 23:00:53 +02:00
Daiderd Jordan 0ecd8cc74c
add easylapin module
This isn't very nice, but should implement everything needed to drop in
lapin as the amqp library.
2020-04-29 23:00:53 +02:00
Daiderd Jordan a3618c84b6
add lapin dependencies
An async amqp library, but more importantly unlike the current amqp
library it implements heartbeats.
2020-04-29 23:00:53 +02:00
Daiderd Jordan 5a75be23ca
generalize SimpleNotifyWorker trait 2020-04-29 23:00:53 +02:00
Daiderd Jordan 3722158a05
generalize SimpleWorker trait 2020-04-29 23:00:52 +02:00
Daiderd Jordan 5ad80e878b
make amqp consume generic and split traits
This removes the final library specfic type from the traits.
2020-04-27 22:40:51 +02:00
Daiderd Jordan 98723462a0
remove amqp return types 2020-04-27 22:21:25 +02:00
Daiderd Jordan a34a4accaf
make amqp error type generic 2020-04-27 22:12:31 +02:00
Daiderd Jordan a87cf357d0
remove amqp arguments
These are not used anywhere and the table is a type specific to the amqp
library.
2020-04-27 22:09:10 +02:00
Graham Christensen bef27f6ab9
Merge pull request #471 from LnL7/carnix-workspace
carnix workspace
2020-04-25 08:49:14 -04:00
Daiderd Jordan 96639e9d7e
work around carnix workspace issue
Carnix doesn't properly handle includes for workspace members, this
works around the issue by specifying what should be generated directly
in Cargo.toml.

https://nest.pijul.com/pmeunier/carnix/discussions/46
2020-04-25 14:28:29 +02:00
Daiderd Jordan 0139cd5621
move carnix files to workspace 2020-04-25 13:54:57 +02:00
Graham Christensen 041d96d890
Merge pull request #470 from cole-h/missing-variants
ghevent: add missing variants
2020-04-24 17:33:06 -04:00
Cole Helbling db165abf99
ghevent: add missing variants
So we don't see log messages that are literal pages long. Pulled from
here: https://developer.github.com/v3/activity/events/types/#pullrequestevent
2020-04-24 14:18:21 -07:00
Daiderd Jordan 7ccb4943a1
move simple-build to a separate project
This is mostly intended as an example and since this is only useful for
testing it should be relatively safe.
2020-04-24 22:17:12 +02:00
Daiderd Jordan 1c0c5e304c
init cargo workspace
Enables splittig up the code a bit more, and hopefully helps keep the
compilation time down.
2020-04-24 21:27:33 +02:00
Cole Helbling a3475d1c0d
Revert "Bump amqp"
This reverts commit fa299dedaa.
2020-04-23 08:21:34 -07:00
Cole Helbling fa299dedaa
Bump amqp
Hopefully this will deal with (or at least help address) our
`SendError(..)` panics and log collector unavailability.
2020-04-22 09:53:53 -07:00
Cole Helbling f5e0318f9f
nix: fix failing test
Nix 2.3.4 now shows the assertion that failed since NixOS/nix@307bcb9, changing
the message we need to check against.
2020-04-12 11:06:16 -07:00
Cole Helbling b33d3de6cf
tasks/evaluate: show issue number not id
The `id` field is not the GitHub PR or issue number; the `number` field
is.
2020-04-09 14:06:58 -07:00
Cole Helbling db190207a2
{checkout,clone}: redirect output to /dev/null
It fills the logs with typically-useless information. We don't really
care about the novels people write in their commit messages.

The only `git` commands that were left unmodified are the ones where we
use their output in some way (and thus, it isn't printed to stdout/err
anyways).
2020-04-09 13:47:10 -07:00
Graham Christensen 83d748169c
Merge pull request #457 from cole-h/logging
More logging
2020-04-07 16:39:28 -04:00
Cole Helbling 5de114c151
tasks/build: don't use \n to split log line
Otherwise, we have one line that has the log prefix, and one line
immediately following that doesn't.
2020-04-07 13:27:37 -07:00
Cole Helbling 5fd48be23d
tasks/eval/nixpkgs: don't request review from PR author
GitHub doesn't let us, so we silently skip them.
2020-04-07 13:27:21 -07:00
Graham Christensen 284a7bfeaa
Merge pull request #456 from NixOS/retryon-bad-creds
Retry on bad creds
2020-04-07 08:29:02 -04:00
Graham Christensen 3dc7498211
retry a job if we get an expired creds error 2020-04-07 08:16:08 -04:00
Graham Christensen e65a24aa89
commitstatuserror: handle each error case separately, not based on 'internal' error 2020-04-07 08:14:02 -04:00
Cole Helbling 8e284c5b6b
Cargo.toml: enable debug symbols in release profile
Maybe now we'll be able to read the backtraces generated by
`error-chain` via `hubcaps`.
2020-04-06 13:01:40 -07:00
Graham Christensen 3bc29be475
labeling: make log messages one-line 2020-04-06 10:52:32 -04:00
Graham Christensen a1e8dcc1e5
evaluate: handle evaluation errors, and posting errors while posting eval errors better 2020-04-06 07:05:56 -04:00
Graham Christensen 00478e9dee
update_status: also return a CommitStatusError 2020-04-06 07:02:49 -04:00
Graham Christensen f02c7382cc
commitstatus: distinguish internal and external error factors 2020-04-06 07:02:45 -04:00
Cole Helbling c9d4bb1fd8
bin/*: replace {e,}println!s with log macros
May as well be consistent.
2020-04-05 23:52:21 -07:00
Cole Helbling 1b8cec63f2
treewide: replace {e,}println!s with log macros
Currently, our logs are a bit inconsistent, with some being
`{e,}println!`s and others utilizing macros from the `log` crate. One
line might look like `INFO:ofborg::tasks::evaluate: Removing labels:
[]`, while the next might look like `Already: []`.
2020-04-05 23:52:21 -07:00
Cole Helbling 5c1a85ca31
treewide: replace {:#?} with {:?}
Cleans up logging output so that things that belong together stay
together.
2020-04-05 12:32:19 -07:00
Daiderd Jordan f6c22bfc4f
rename nixpkgs entry in NIX_PATH
This ensures the local sources are still allowed in restricted mode, but
referencing <nixpkgs> in expressions inside nixpkgs is not.
2020-04-05 20:09:34 +02:00
Cole Helbling a907ffb488
checkout: silence diffs when checking validity of a commit
Otherwise, when people submit treewide PRs to nixpkgs, the logs get
cluttered with thousands of useless diffs.
2020-04-05 09:44:19 -07:00
Cole Helbling 9736cf08fe
nixenv: remove unnecessary single quotes
The debug representation of a `PathBuf` provides double quotes already.
2020-04-03 17:37:21 -07:00
Cole Helbling 42b4bb2118
nixenv: warn when removing the stats file fails
If the `nix` invocation fails, a stats file won't get created. We log a
warning, but it is generally safe to ignore this failure.
2020-04-03 17:25:58 -07:00