Commit Graph

216 Commits

Author SHA1 Message Date
Gary Verhaegen
474bbe1327
restore compat update (#13663)
With the new 2.0.0 release process, we're not releasing from the main CI
build anymore, so the compat update PRs are not getting created.

This restores that by making those PR creations part of the daily CI
build.

CHANGELOG_BEGIN
CHANGELOG_END
2022-04-22 17:28:16 +02:00
Moritz Kiefer
9e1e42d27c
Drop dependency on hosted nodes (#12901)
This should hopefully get CI working again.

There are two changes in here:

1. We can no longer change our patched Bazel. I didn’t switch away
   from the current patched version for now (we upload it to gcp bucket
   so it still works fine even if we cannot build it) but if we upgrade,
   we need to go to an unpatched version for now.
2. We need to get `az` from dev-env. I tested the self service compat
   job stuff and it works fine with this but there is a chance other
   parts don’t.

changelog_begin
changelog_end
2022-02-14 02:49:38 +01:00
Gary Verhaegen
ca976fe3d7
nightly split releases (#12744)
Because there's no reason not to. The only obstacle to automating the
normal release process is that we need an explicit manual validation
step for our audit log when creating a release, but split-releases are
created in the Assemblty repo, so we can have the audit log over there.

The diff is going to be very messy because there's a lot of stuff moving
around. The only thing that is not just moving a job to a separate file
is the `ci/daily-snapshot.yml` file, which is 100% new and is meant as
a new Azure Pipelines entrypoint (which I will create after this gets
approved). I have made a reasonable effort to create individual commits
that simplify reviewing, but I expect it's still going to be kind of a
mess. I'm open to opening separate PRs to ~bump my stats~ move one job
at a time if that makes reviewing (and testing) easier.

CHANGELOG_BEGIN
CHANGELOG_END
2022-02-03 19:05:35 +00:00
Gary Verhaegen
5cccec2fe3
release: use-devenv (#12583)
CHANGELOG_BEGIN
CHANGELOG_END
2022-01-25 20:58:51 +00:00
Gary Verhaegen
0afc4a5553
split: do not tag (#12569)
We use tags to track releases; in particular, we want tags to correspond
to GitHub releases. In the split release process, the `assembly` repo is
responsible for creating GitHub releases, so it would make sense that it
is also the one responsible for creating tags.

I would also like to take this opportunity to manually remove all the
tags that have been created by the split release process so far and that
don't correspond to any release (which is all of them as we haven't done
a full split release yet), since they have already caused some
confusion.

CHANGELOG_BEGIN
CHANGELOG_END
2022-01-25 15:39:12 +01:00
Gary Verhaegen
fdb034ca94
split-release: Canton dependencies to public GCS (#12552)
CHANGELOG_BEGIN
CHANGELOG_END
2022-01-24 13:19:18 +00:00
Gary Verhaegen
502b21f830
split-release: publish temp files to artifactory (#12435)
See discussion on #12412 for details.

CHANGELOG_BEGIN
CHANGELOG_END
2022-01-17 15:40:20 +01:00
Moritz Kiefer
79428bb7b4
Add artifactory & SDK EE artifacts to split-release process (#12345)
Apologies for doing two things in one PR but they seemed somewhat
entangled.

For artifactory we follow the approach we use for Maven artifacts and
publish there directly.

For the SDK EE tarball, we just throw it in the split-release
directory and then the assembly repo can pick it up.

changelog_begin
changelog_end
2022-01-11 12:55:14 +01:00
Moritz Kiefer
c8bbeed0d2
Switch to daml-data gcs bucket for split-releases (#12322)
This is a private bucket which allows us to publish EE artifacts.

We could separate public from private artifacts but keeping everything
in a single location is easier to manage.

changelog_begin
changelog_end
2022-01-10 15:29:26 +01:00
Gary Verhaegen
d2e2c21684
update copyright headers (#12240)
New year, new copyright, new expected unknown issues with various files
that won't be covered by the script and/or will be but shouldn't change.

I'll do the details on Jan 1, but would appreciate this being
preapproved so I can actually get it merged by then.

CHANGELOG_BEGIN
CHANGELOG_END
2022-01-03 16:36:51 +00:00
Moritz Kiefer
d283b428d8
Upload split-releases directory for split-releases (#12085)
clearly noone could have expected that this is required

changelog_begin
changelog_end
2021-12-09 20:02:38 +01:00
Moritz Kiefer
ec86210637
Set GCS credentials env var in split_release job (#12034)
changelog_begin
changelog_end
2021-12-08 08:44:08 +01:00
Gary Verhaegen
be088c6c68
pipeline: fix pie failure (#12017)
CHANGELOG_BEGIN
CHANGELOG_END
2021-12-07 14:45:36 +00:00
Moritz Kiefer
505a37fb01
Fix yaml again … (#12004)
changelog_begin
changelog_end
2021-12-07 10:47:21 +00:00
Moritz Kiefer
fa88836b10
Fix main build after broken yaml config (#12002)
I love yaml

changelog_begin
changelog_end
2021-12-07 09:42:51 +00:00
Moritz Kiefer
5a019eaaa6
Split release process (PoC) (#11991)
* Split release process (PoC)

This PR adds the necessary infrastructure for the new split release
process. Releases are still triggered via the LATEST file but you can
choose between the old and the new release process by adding
SPLIT-RELEASE at the end of the line.

As a first step this publishes all artifacts we currently publish to
Github releases to our GCP bucket.

changelog_begin
changelog_end

* drop report-start

changelog_begin
changelog_end

* fix gcp bucket

changelog_begin
changelog_end

* review feedback

changelog_begin
changelog_end

* Update azure-pipelines.yml

Co-authored-by: Gary Verhaegen <gary.verhaegen@digitalasset.com>

* SPLIT-RELEASE ->SPLIT_RELEASE

changelog_begin
changelog_end

Co-authored-by: Gary Verhaegen <gary.verhaegen@digitalasset.com>
2021-12-06 19:25:00 +01:00
Gary Verhaegen
9fa3c76b64
ci: more reliable compat_pr (#11989)
Potentially running code from the future is a bit scary in terms of
compatibility.

CHANGELOG_BEGIN
CHANGELOG_END
2021-12-06 15:13:37 +00:00
Moritz Kiefer
0285eaaac1
Drop snapshots from compat tests (#11976)
* Drop snapshots from compat tests

We don’t really give strict compatibility guarantees on snapshots and
we actively break them (e.g. you cannot migrate across snapshots). So
this PR stops including snapshots in the compat tests which should
both speed them up a bit and stop irrelevant failures.

changelog_begin
changelog_end

* hlint

changelog_begin
changelog_end
2021-12-06 13:44:30 +01:00
Gary Verhaegen
4e50060021
self-service compat: set branch name to not main (#11902)
The "tell slack about failures" step is conditional on the branch name
being main; for whatever reason if we don't supply a branch name Azure
sets it to `main`, regardless of the fact that the commit is not in that
branch at all.

CHANGELOG_BEGIN
CHANGELOG_END
2021-11-26 16:50:53 +00:00
Gary Verhaegen
d858873c44
fix main (#11868)
sorry!

CHANGELOG_BEGIN
CHANGELOG_END
2021-11-24 23:11:59 +00:00
Gary Verhaegen
b8937ad81b
ci: self-service compat test start (#11853)
It should now be possible for anyone to trigger the daily compat build
by adding a `run-full-compat: true` trailer to their commit message.

CHANGELOG_BEGIN
CHANGELOG_END

run-full-compat: true
2021-11-24 18:05:04 +00:00
Gary Verhaegen
fcd4549569
test release rotation: factor out selection (#11161)
CHANGELOG_BEGIN
CHANGELOG_END
2021-10-07 12:46:55 +00:00
Stefano Baghino
265e36255c
Add a notice to the release testing rotation file (#11142)
Reminds people adding new users to the rotation that they should also
be added to DACH-NY/daml-language-ad-hoc to have a box in the cloud
for Windows testing.

Adds the possibility of adding comments at the beginning of the rotation file.

changelog_begin
changelog_end
2021-10-06 21:08:11 +00:00
Moritz Kiefer
c44f33736e
Simplify speedy benchmark (#10079)
This PR drops two things:

1. The check that the benchmark hasn’t been modified. This hasn’t ever
been useful and it keeps being annoying.
2. It stops the comparison against the old version and instead just
benchmarks the current version. We really only care about the day to
day changes. Comparing against an arbitrary year old version has lost
all meaning at this point.

changelog_begin
changelog_end
2021-06-22 15:11:47 +00:00
Moritz Kiefer
8399039a8a
Remove broken dep from release job (#9963)
Now that we skip the scala_2_12 job this dep results in us never
running the release job which is clearly not intentional.

changelog_begin
changelog_end
2021-06-11 07:53:50 +02:00
Gary Verhaegen
df0f3ff7b0
maybe fix deleted release tags (#9891)
* maybe fix deleted release tags

Hard to know for sure until the next broken release.

CHANGELOG_BEGIN
CHANGELOG_END

* Update azure-pipelines.yml

Co-authored-by: Moritz Kiefer <moritz.kiefer@purelyfunctional.org>

Co-authored-by: Moritz Kiefer <moritz.kiefer@purelyfunctional.org>
2021-06-02 16:06:56 +00:00
Moritz Kiefer
e033277804
Switch to our own nodes for releases (#9845)
Ubuntu 16.04 nodes are about to go away and there dosen’t seem to be a
compelling reason to use the hosted nodes here anyway.

This is obviously hard/impossible to test without a release but I did
do some basic sanity checks: The release build seems to rely on the
following tools (+ things like rm which are clearly there)
1. git
2. gpg
3. sha256sum
4. gcloud
5. curl

All of those are installed on our own nodes. If this doesn’t work we
could also run (parts of) this in dev-env but for now this should do
the job.

changelog_begin
changelog_end

.

changelog_begin
changelog_end

.

changelog_begin
changelog_end
2021-05-31 09:18:56 +00:00
Gary Verhaegen
646c956457
new windows signing (#9786)
CHANGELOG_BEGIN
CHANGELOG_END
2021-05-25 16:23:17 +02:00
Gary Verhaegen
fb6f72c81d
debug signtool on main (#9780)
I don't know what's going on. I was hoping I could try to debug from
PRs, but that doesn't seem to work.

CHANGELOG_BEGIN
CHANGELOG_END
2021-05-24 13:26:41 +00:00
Gary Verhaegen
61293c3ec4
maybe fix azuresigntool invocation (#9779)
🤷

CHANGELOG_BEGIN
CHANGELOG_END
2021-05-21 17:01:27 +00:00
Gary Verhaegen
45bca6e68b
test_windows_signing: install for u (#9776)
Turns out "`--global`" means "for this user".

CHANGELOG_BEGIN
CHANGELOG_END
2021-05-21 15:49:31 +02:00
Gary Verhaegen
b8afa02e12
test_windows_signing: add quotes (#9773)
Otherwise Bash interprets the baskslashes and it's not a path anymore.

CHANGELOG_BEGIN
CHANGELOG_END
2021-05-21 11:12:09 +00:00
Gary Verhaegen
5717356a42
fix test_windows_signing job name (#9771)
😢

CHANGELOG_BEGIN
CHANGELOG_END
2021-05-21 10:33:25 +00:00
Gary Verhaegen
f5c5b634eb
prepare for EV Windows signing (#9758)
Setting up a non-disruptive way to test out EV signing of our Windows
artifacts.

CHANGELOG_BEGIN
CHANGELOG_END
2021-05-21 10:46:45 +02:00
Moritz Kiefer
b1738c7202
Switch Scala default to 2.13 (#9699)
changelog_begin
changelog_end
2021-05-17 15:04:53 +00:00
Gary Verhaegen
17f8bcd37d
fix release job (#9166)
Three issues here:

1. The release job runs on an Azure-hosted agent, so it doesn't have the
   `reset_caches.sh` script (and doesn't need it).
2. The `bash-lib` step should not run if the current job has already
   failed.
3. The `skip-github` jobs should also not run if the job  has failed.

CHANGELOG_BEGIN
CHANGELOG_END
2021-03-17 09:46:02 +00:00
Gary Verhaegen
089a11443c
release job: remove extra bash-lib (#9136)
The filesystem is not reset between steps in the same job, so there is
no need to add the `bash-lib` multiple times.

CHANGELOG_BEGIN
CHANGELOG_END
2021-03-15 07:53:26 +00:00
Moritz Kiefer
5dddf0aead
Add missing checkout step (#9133)
The revamped release process relies on publish.sh coming from the
release tag. However without the checkout that doesn’t work. This
resulted in us trying to push the EE tarball for a branch that does
not have it yet.

changelog_begin
changelog_end
2021-03-14 13:58:21 +01:00
Moritz Kiefer
707c86aa93
Fix GCS upload on releases (#9111)
* Fix GCS upload on releases

changelog_begin
changelog_end

* Update azure-pipelines.yml

Co-authored-by: Gary Verhaegen <gary.verhaegen@digitalasset.com>

Co-authored-by: Gary Verhaegen <gary.verhaegen@digitalasset.com>
2021-03-12 11:39:56 +01:00
Moritz Kiefer
d1031ba1e9
Fix typo in azure-pipelines.yml (#9087)
changelog_begin
changelog_end
2021-03-11 13:27:18 +00:00
Moritz Kiefer
979e12fa68
Move artifact publishing out of yaml files (#9071)
* Move artifact publishing out of yaml files

The current publishing process pretty much hardcodes the set of
artifacts we publish in the yaml config. This is a problem because we
always release from `main` so the yaml files are always
identical. However, we will add new artifacts over time and this
starts falling apart. This PR changes this such that the process
described in the yaml files is very generic and just uploads and
downloads everything in a directory whereas the details are handled in
bash scripts that will come from the respective release branch and are
therefore version-dependent.

As usual for these type of changes, I don’t have a great way to test
this. I did do some due diligence to test that at least the artifacts
are published correctly and I can download them but I can’t test the
actual publishing.

changelog_begin
changelog_end

* Update ci/copy-unix-release-artifacts.sh

Co-authored-by: Gary Verhaegen <gary.verhaegen@digitalasset.com>

* Update ci/copy-windows-release-artifacts.sh

Co-authored-by: Gary Verhaegen <gary.verhaegen@digitalasset.com>

* Update ci/publish-artifactory.sh

Co-authored-by: Gary Verhaegen <gary.verhaegen@digitalasset.com>

Co-authored-by: Gary Verhaegen <gary.verhaegen@digitalasset.com>
2021-03-11 11:44:02 +01:00
Gary Verhaegen
f0ca332983
fix release notification (#9075)
CHANGELOG_BEGIN
CHANGELOG_END
2021-03-10 17:12:14 +00:00
Gary Verhaegen
32e8c66d8d
fix typo in release notification (#9069)
So that on non-automated releases we get nothing instead of an empty
diamond.

CHANGELOG_BEGIN
CHANGELOG_END
2021-03-10 11:38:12 +00:00
Gary Verhaegen
41d62ea5c0
send CI failures on separate channel (#9038)
This will send CI failures to `#ci-failures-daml`.

CHANGELOG_BEGIN
CHANGELOG_END
2021-03-05 14:10:30 +00:00
Gary Verhaegen
e26d006f6f
slack: reduce @here mentions (#9037)
The people who care about these alerts monitor the channel closely
enough anyway, and having frequent automated @here bells ringing makes
it harder for individuals to highlight important messages.

CHANGELOG_BEGIN
CHANGELOG_END
2021-03-05 13:55:58 +00:00
Moritz Kiefer
ba6ba9019f
Release Scala 2.13 artifacts (#8858)
* Release Scala 2.13 artifacts

changelog_begin
changelog_end

* Dedup default scala version

changelog_begin
changelog_end
2021-02-17 14:32:04 +01:00
Gary Verhaegen
cd33c2015c
ci: use setvar to set variables (#8664)
My goal here is to investigate the new warning Azure has been showing
for the past few days:

> ##[warning]%25 detected in ##vso command. In March 2021, the agent command parser will be updated to unescape this to %. To opt out of this behavior, set a job level variable DECODE_PERCENTS to false. Setting to true will force this behavior immediately. More information can be found at https://github.com/microsoft/azure-pipelines-agent/blob/master/docs/design/percentEncoding.md

As far as I'm aware we are not deliberately passing in any `%25` in any
of our `vso` commands, so I was a bit surprised by this.

CHANGELOG_BEGIN
CHANGELOG_END
2021-02-09 11:42:34 +01:00
Gary Verhaegen
2143862a79
ci/prs: add artifactory credentials (#8752)
Changes already made on both Artifactory and Azure; this is mainly to
test.

CHANGELOG_BEGIN
CHANGELOG_END
2021-02-09 10:36:15 +00:00
Gary Verhaegen
fef712bf60
Upgrade linux nodes to 20.04 (#8617)
CHANGELOG_BEGIN

- Our Linux binaries are now built on Ubuntu 20.04 instead of 16.04. We
  do not expect any user-level impact, but please reach out if you
  do notice any issue that might be caused by this.

CHANGELOG_END
2021-01-27 17:38:34 +01:00
Andreas Herrmann
5693394650
Publish JARs for trigger service and OAuth 2.0 middleware (#8614)
* include oauth2 logback config in release tarball

overlooked in https://github.com/digital-asset/daml/pull/8611

* Release trigger-service and oauth2-middleware JARs

changelog_begin
changelog_end

* drop from artifacts.yaml

Co-authored-by: Andreas Herrmann <andreas.herrmann@tweag.io>
2021-01-25 09:14:13 +00:00