Commit Graph

59 Commits

Author SHA1 Message Date
Andreas Herrmann
655e4b3b55
Update CI nix version (#4443)
* Update CI nix version

For `--option http2 false` to take effect requires Nix 2.3.2.

CHANGELOG_BEGIN
CHANGELOG_END

* Set option `http2 = false` dev-env nix config

This is less likely to overlook an instance than manually adding
`--option http2 false` to each Nix invocation.

Setting `--option htt2p false` also had no effect on the multi-user Nix
installation on the Linux CI machines due to
```
WARNING: option '--disk_cache' was expanded to from both option '--config linux' (source /nix/store/2xnfb2l39d2b4nxw5vwmqz5hjwhw0caw-daml-bazelrc) and option '--config linux' (source /nix/store/2xnfb2l39d2b4nxw5vwmqz5hjwhw0caw-daml-bazelrc)
```

Co-authored-by: Andreas Herrmann <andreash87@gmx.ch>
2020-02-07 15:05:52 +00:00
Gary Verhaegen
47bd131f15
add copyright headers to yml files (#4407)
We seem to have forgotten about them in the copyright scripts.

CHANGELOG_BEGIN
CHANGELOG_END
2020-02-06 12:54:07 +01:00
Gary Verhaegen
babc390869
fix status in Slack notifications (#4376)
The $(Agent.JobStatus) variable unfortunately only tracks the status of
the current _job_, whereas what we really want here is the status of the
whole build. Azure does not have an easy way to do that, but fortunately
we already have logic to determine the current build status in
`collect_build_data`, so here we can just piggyback on that.

CHANGELOG_BEGIN
CHANGELOG_END
2020-02-04 15:53:39 +01:00
Gary Verhaegen
af37752686
fix ci alerts (#4358)
PR #4286 introduced new jobs that do not work well when ran against the
master branch, rather than as part of a PR. This hopefully fixes that,
though it's hard to test for obvious reasons.

CHANGELOG_BEGIN
CHANGELOG_END
2020-02-03 19:25:37 +01:00
Gary Verhaegen
00224c2480
ci: alert Slack on PR build completion (#4286)
One of the outputs of our brainstorming about how to make CI better was
that it is annoying to have to "babysit" pull requests. This PR attempts
to introduce a notification mechanism by which Azure will notify people
on Slack when a build finishes, so they know they need to go and rerun
or merge the corresponding PR.

This commit also changes the existing $Slack.URL variable to
$Slack.team-daml, to make more explicit where the Slack message is being
sent to (Slack works with one token per destination channel). Both
$Slack.URL and $Slack.team-daml are currently defined as the same token
in Azure.

CHANGELOG_BEGIN
CHANGELOG_END
2020-02-03 16:29:13 +01:00
Gary Verhaegen
d7a9d541c2
ci: fix collect_build_data checkout failures (#4144)
Azure builds on the merge commit provided by GitHub as
refs/pull/<pr-number>/merge. Either GitHub recently changed to clear out
such commits faster than they used to, or Azure recently changed to
cache the resulting commit sha rather than go through the indirection
again.

Either way, the end result is that, currently, if the other jobs take
"long enough", and `master` has changed in-between the build starting
and the `collect_build_data` step running, the latter will fail to
checkout the commit it is looking for, and the build will irredeemably
fail. The only option is to re-run the entire build (`/azp run` or
rebase/push), which is sort of the entire opposite of the whole reason
for introducing `collect_build_data` in the first place.

This patch aims to address this by not relying on Azure to fetch the
daml repo in the `collect_build_data` job. This is definitely a hack,
but hopefully one that can alleviate the problem for now.

CHANGELOG_BEGIN
CHANGELOG_END
2020-01-21 19:14:46 +01:00
Gary Verhaegen
fed3e76ed1
fix collect-build-data status (#4001)
The main goal of this job is to fail when other, required jobs are
canceled. The reason for this is that the communication between Azure
and GitHub does not always work very well, particularly around canceled
jobs, so that when a job gets canceled GitHub does not always know about
it, and furthermore GitHub does not provide a "re-run" button for
canceled jobs.

Thus, this one provides a failed job that doe sdisplay a "re-run"
button, which re-runs all the failed/canceled jobs in the current build.

Therefore, this only needs to detect canceled jobs, not failed ones
(because those will have their own "re-run" button).

Additionally, we recently changed the standard-change label check to not
run on master (as it really only makes sense on PRs), resulting in a
Skipped status instead of Succeeded, which made this job fail.

CHANGELOG_BEGIN
CHANGELOG_END
2020-01-09 17:31:32 +01:00
Gary Verhaegen
7260de61c4
add more information to collect_build_data output (#3996)
This commit:
- fixes an issue introduced by e2015e2ec whereby the data was never
saved to GCS, because if the variable _is_ set, then Azure will
substitute the right side of the comparison as well as set the
environment variable, so the two sides will still be equal. The new
approach skips the first character of the env var and removes the dollar
from the (intended) literal expression, ensuring Azure does not
substitute.
- adds output to the failure case because we have recently seen all
commits on master fail that step, regardless of success of other jobs.

CHANGELOG_BEGIN
CHANGELOG_END
2020-01-09 13:03:54 +01:00
Gary Verhaegen
89af1550b1
check for changelog (#3963)
* check for changelog
2020-01-07 17:19:50 +01:00
Gary Verhaegen
0f3d9a3e5e
ci: improve failed job detection (#3828) 2019-12-13 11:44:39 +01:00
Gary Verhaegen
e9e3f1bf5d add check for Standard-Change label (#3493) 2019-11-15 16:46:42 +00:00
Gary Verhaegen
59d1ad8e22 write ledger dumps on release (#3376) 2019-11-07 21:55:25 +00:00
Moritz Kiefer
355e32d843
Clean Azure nix cache (#3323)
Somehow our current cache seems to be broken. Forcing a clean cache by
changing the cache key seems to fix this.
2019-11-04 13:30:57 +01:00
Gary Verhaegen
156edf7432 fix release check (#3112) 2019-10-04 13:57:49 +00:00
Gary Verhaegen
7ef1e63275
restore full has_release check (#2967) 2019-09-26 15:10:25 +01:00
Gary Verhaegen
afe789f22e
decode gpg credentials (#3008) 2019-09-25 00:24:02 +01:00
Gary Verhaegen
4576aed986
sign releases (#2968) 2019-09-24 12:02:29 +01:00
Gary Verhaegen
d2c8d46873
fix build data encoding (#2980)
There was an issue where multiline commit messages were not encoded at
all, yielding invalid JSON. This should fix it. This commit message is
designed to test it before it gets to master.

$(exit 1)
`exit 1`
end quote: "
invalid json input
2019-09-23 22:02:33 +01:00
Gary Verhaegen
cf13a98d7a
check JSON formatting of build results (#2935) 2019-09-18 14:00:53 +01:00
Gary Verhaegen
6815304bee
fix release job condition for broken Azure Pipelines (#2753) 2019-09-11 14:30:02 +02:00
Moritz Kiefer
f7befca723
Get ghcide from the new upstream repo (#2867)
* Get ghcide from the new upstream repo

* Update azure-pipelines.yml

Co-Authored-By: Gary Verhaegen <gary.verhaegen@digitalasset.com>
2019-09-11 08:57:48 +02:00
Moritz Kiefer
d2b68d45d4 Rename hie-core to ghcide (#2820)
* Rename hie-core to ghcide

The name `hie-core` has caused a lot of confusion as to how we relate
to haskell-ide-engine so changing it should hopefully help with that.
I also think that ghcide is still a good name once we hopefully
integrate with haskell-ide-engine more closely.

The name ghcide seems to have a reasonable amount of support on
Twitter https://twitter.com/ndm_haskell/status/1170681262987710464
which is of course the only good way to come up with names.

* Add a readme that points people to the new directory.

* Fix bogus replacements

* Use a proper link

* links are hard
2019-09-09 13:55:16 +00:00
Gary Verhaegen
c97c1b1569
fix azure (#2750)
fix release job condition for broken Azure Pipelines
2019-09-04 19:54:50 +01:00
Gary Verhaegen
97e289e548
make release step idempotent (#2705)
At the moment, if we try to run the build of a release commit after it
has succeeded, the `git tag` step fails. We do not normally try to
rebuild old commits that had succeeded, but sometimes Azure gets
confused when we ask for rerunning specific jobs within a build, and
reruns the whole build.

This creates two (small, bubt annoying) problems:
1. It adds noise to the #team-daml channel as it notifies of the build
failure, and
2. It marks the commit as failed with a red cross on the github list of
commits, which obviously doesn't look great for release commits.

This fixes that. Note that if a release does fail after the `git tag`
step (e.g. some network error between Azure and GitHub), this **does
not** change the necessary steps to remediate, as that situation would
already be broken in the current setup. (Steps to remediate would
essentially boil down to deleting the tag on GitHub before rerunning so
the build can create it again.)
2019-08-29 15:51:37 +01:00
Andreas Herrmann
5481f85030 hie-core tests flaky (#2646)
Rerun up to three times. Previous attempt only changed the display name
not the actual command.
2019-08-23 08:42:29 +00:00
Andreas Herrmann
f4f9aa9b97 hie-core stack tests: Mark as flaky (#2607) 2019-08-20 14:22:02 +00:00
Gary Verhaegen
a15256571a
macOS: cache the bazel repo cache (#2420) 2019-08-07 11:04:49 +01:00
Gary Verhaegen
351bc0021f
Revert "work around flaky Azure cache (#2377)" (#2385)
This reverts commit 9da11c92d8.
2019-08-02 18:47:46 +01:00
Gary Verhaegen
5222c081ea
record build times for hie_core_stack_86 job (#2381) 2019-08-02 16:09:22 +01:00
Moritz Kiefer
a633dbd107
Adapt stack cache key to new format (#2375)
Azure currently emits a warning that the key format will switch to
single lines so this PR changes the key to the new format.
2019-08-02 15:22:05 +02:00
Gary Verhaegen
9da11c92d8
work around flaky Azure cache (#2377) 2019-08-02 12:57:55 +01:00
Moritz Kiefer
4cd35cccca
Add a Stack based pipeline for testing hie-core (#2348)
This is in preparation for #2326 as well as for splitting hie-core
into a separate repo. Given that, it explicitely avoids using our
dev-env.

We do need to install a few system packages, so for now this uses the
hosted builder so we can do this. Another option would be to just add
those to our builders. I don’t really have a preference either
way. The builds are < 5 minutes so I don’t expect issues from using
the hosted builders.
2019-07-31 11:24:37 +02:00
Gary Verhaegen
4fadebc4ab
cache nix on macos (#2344) 2019-07-31 10:23:43 +01:00
Gary Verhaegen
e2015e2ec4
fix forks for reals (#2225) 2019-07-19 12:33:15 +01:00
Gary Verhaegen
25fd46b2b2 fix forks (#2220) 2019-07-18 18:13:29 +02:00
Gary Verhaegen
7f64d90f48
fail build on cancel (#2092) 2019-07-10 20:52:50 +01:00
Gary Verhaegen
f23fe7cd98 record build times & statuses (#2016) 2019-07-05 11:35:30 +00:00
Gary Verhaegen
03cbb2efe9
extract slack fail message (#2009) 2019-07-04 15:22:22 +01:00
Gabor Aranyossy
9de01124e6 increasing default JMH timeout for manySmallContracts (#1851)
* increaseing default JMH timeout for manySmallContracts

* reenable perf tests
2019-06-25 07:24:11 +00:00
Gary Verhaegen
1fe592c6dc temporarily disable perf test (#1778) 2019-06-20 15:24:44 +02:00
Moritz Kiefer
0c8070bbd5
Sign the Windows installer (#1274)
* Sign the Windows installer

* Address review comments

* Mention signing in release notes
2019-05-22 09:26:15 +02:00
Michał Majcherski
f3055dd0cb ci: use windows-pool (#1069)
* ci: use windows-pool

* dev-env: add scoop reset to ensure env variables are correctly set
2019-05-13 09:20:21 +00:00
Gary Verhaegen
f737d6d7f7 capitalize ci job names (#1013) 2019-05-08 22:44:36 +00:00
Gary Verhaegen
fe8a7d11ce don't annoy people with broken master (#936) 2019-05-06 16:15:40 +00:00
Gary Verhaegen
c36055ddf9 tweak azure build file (#922)
- change jobs names to match the names Azure uses, so GitHub doesn't get
  confused. These were the names when the pipeline was originally set
  up; since I changed them it looks like Azure and GitHub don't agree on
  test names, resulting in some occurrences of GitHub forever expecting
  more info about `linux` while `Linux` is completed.
- add `-i` to cURL invocations, so we can see the response headers. This
  is an attempt to debug a situation I have seen three times now where
  Azure says it executed the cURL step successfully, yet no message
  appears in Slack.
- add test name to failure message sent to Slack.
2019-05-06 00:21:06 +00:00
Moritz Kiefer
f389045c94
Add windows installer to release process (#762) 2019-04-30 14:39:28 +02:00
Gary Verhaegen
5b26f68ee6 correct syntax for @channel mention (#782) 2019-04-30 10:29:55 +00:00
Gary Verhaegen
f9318bf5d9 slack on master failure (#560) 2019-04-26 23:45:28 +00:00
Gary Verhaegen
1780982fd6 add Windows tarball to github releases (#677) 2019-04-25 01:57:32 +00:00
Moritz Kiefer
416b0949fa Fix termination of scenario service on Windows (#629)
* Fix termination of scenario service on Windows

The lack of a proper Windows IO manager resulted in us being unable to
kill the conduits reading the output of the scenario service so `damlc
test` and `damlc ide` blocked forever. This PR fixes the problem by
shutting down the scenario service (by closing its stdin) before
killing the conduits .

* Use fail instead of error

* Add debugging output

* Remove debug output

* Bump timeout of perf test
2019-04-23 19:43:23 +00:00