Commit Graph

696 Commits

Author SHA1 Message Date
Bolek@DigitalAsset
2b5c25fa48
webide: build webide image when sdk releases (#1568)
* webide: build webide image when sdk releases

* add scripts which check the latest version of sdk. If webide docker
image version does not exist or is older than the sdk version, it will
kick off a build of the webide docker image

* add job to azure cron

* webide: minor response to review
2019-06-11 19:02:19 -04: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
e6c7421580
windows: CI agent diagnostics (#1146) 2019-05-15 11:59:56 +02:00
Michał Majcherski
fdbc1f51ce
windows: fixed daml-lf tests for Windows by using Bazel's rlocation (#1053)
* windows: fixed daml-lf tests for Windows by using Bazel's rlocation

* more consistent logging on CI; publishing Windows test logs on failure

* windows: fix daml-lf engine tests

* windows: add diff tool to msys
2019-05-14 16:18:55 +02:00
Gary Verhaegen
5ab5ced2e3 add GCS bucket for docs (#1062)
This is a first step towards improving our docs release process. The
goal here is to get rid of the manual "publish docs" step. This is done
as a periodic check because we only want to run this for "published"
releases, i.e. the ones that are not marked as prerelease. Because the
act of publishing a release is a manual step that Azure cannot trigger
on, we instead opt for a periodic check.

Not included in this piece of work:
- Any change to the docs themselves; the goal here is to automate the
current process as a first step. Future plans for the docs themselves
include adding links to older versions of the docs.
- A better way to detect docs are already up-to-date, and abort if so.
- Including older versions of the docs.
- Switching the DNS record from the current AWS S3 bucket to this new
GCS bucket. That will be a manual step once we're happy with how the
new bucket works.
2019-05-11 03:27:17 +00:00
Michał Majcherski
8fe6e2d564
windows: whole compiler, daml-lf, extractor and ledger builds + cleanup (#1044) 2019-05-10 14:13:30 +02:00
Moritz Kiefer
55d5fa5dea
Upgrade to nixpkgs 19.03 (again) (#962)
* Upgrade to nixpkgs 19.03 (#871)

* Fix nix-build restart

Without || true we will never get to the next line.
2019-05-07 13:55:30 +02:00
Moritz Kiefer
569fb1b2d2
Retry nix-build on unexpected end-of-file errors (#938) 2019-05-06 14:52:12 +02:00
Moritz Kiefer
9deb4ae7b2 Revert "Upgrade to nixpkgs 19.03 (#871)" (#917)
This reverts commit 3d8acde916.

For some reason that commit seems to have resulted in a lot of
"unexpected end of file" errors during cache downloads. I do not know
what is going on here or how to fix it so let’s revert it for now.
2019-05-05 09:10:20 +00:00
Moritz Kiefer
3d8acde916 Upgrade to nixpkgs 19.03 (#871) 2019-05-04 20:01:48 +00:00
Moritz Kiefer
f389045c94
Add windows installer to release process (#762) 2019-04-30 14:39:28 +02:00
gleber
c095a2e20c Ledger api test tool release (#756)
* release: make 'ci/release.sh' runnable for dry runs.

release-dry-run.sh is outdated and duplicates logic from ci/release.sh, so it
got deleted.

* ledger-api-test-tool: release the tool together with the SDK components.

* ledger-api-test-tool: update docs to reflect distribution mechanism.

* ledger-api-test-tool: further docs refinements.

* Add Ledger API Test Tool mention into release notes.
2019-04-29 12:16:19 +00:00
Gary Verhaegen
f9318bf5d9 slack on master failure (#560) 2019-04-26 23:45:28 +00:00
Andreas Herrmann
f27d8aaa4d
Enable Bazel execution logs on Windows CI (#648) 2019-04-26 12:23:13 +02:00
Gary Verhaegen
c6fa7c3d77 fix Windows release to GitHub (#697) 2019-04-26 01:14:50 +00:00
Nick Smith
cee09f6c43
Fixes #659 build-system: Fix failure of ci/release.sh on unset variable (#662)
The ci/release.sh fails if the BUILD_SOURCEBRANCHNAME environment
variable is not set. Although this variable is normally set by the
CI system, it is sometimes useful to run the script manually and
simply adding an 'invalid' default to the check of the env variable
means that the script still works if the variable is unbound.
2019-04-25 08:50:53 +02:00
Gary Verhaegen
1780982fd6 add Windows tarball to github releases (#677) 2019-04-25 01:57:32 +00:00
Michał Majcherski
e8e5c3e42e
windows: full build; more targets (#529) 2019-04-17 10:56:28 +02:00
Francesco Mazzoli
9fd5b525b5
store sandbox perf test results as artifacts (#540) 2019-04-16 17:43:29 +02:00
Gary Verhaegen
2eeba4180e
add extension to build artifacts (#515) 2019-04-16 15:00:17 +01:00
Jonas Chevalier
a061db34d3
ci: publish the bazel test logs (#476)
As a developer I want to be able to inspect the detailed test logs when those are
failing.
2019-04-16 11:34:21 +02:00
Moritz Kiefer
6e7988eea0
Downgrade nix from 2.2.2 to 2.2.1 (#517)
The newer version seems to segfault on MacOS quite often so let’s
downgrade for now. We should also try to see if we can find a
reasonable way of reproducing this and report it upstream.
2019-04-16 09:14:20 +02:00
Gary Verhaegen
c11b511338
fix release pipeline (#499)
1. Only try to release if all tests have passed
2. Specifically push build product, rather than entire worktree
2019-04-15 17:01:53 +01:00
Gary Verhaegen
de4101b8c3
include artifacts in github releases (#487) 2019-04-15 13:54:04 +01:00
Gary Verhaegen
d80b660210
fix GitHub tag conflict on release (#451)
As multiple platforms will create different annotated tags (because an
annotated tag includes a tag time), they will conflict on trying to
push. Therefore, we go for a lightweight tag for now, as those are
simple pointers to a commit and git will recognize that they are the
same and there is no conflict.
2019-04-12 15:55:20 +01:00
moritzkiefer-da
77033a6a69 Refactor and speed up release script (#431)
This rewrites the release script to be a lot simpler and significantly
faster:

- The artifacts are now declared in a separate yaml file which should
  make it easier for people to modify and doesn’t clutter the actual
  code.
- There is only a constant number of calls to Bazel which speeds up
  the script quite a bit.

I verified that the release artifacts are the same that we got
before and I traced the calls to the jfrog binary in a fake release
and ignoring order they are identical.
2019-04-12 14:57:37 +02:00
Florian Klink
5f962ebf82 CI: Add script to purge old agents (#402)
This adds `ci/azure-cleanup`, containing a script that talks to azure pipelines, removing agents older than 25 hours in a specific pool.
Machines are meant to be killed after 24 hours anyway, make sure they're properly unregistered from Azure Pipelines, too.
By doing this, we don't need to unregister nodes manually on shutdown.

Idea is to execute this every time a new agent is provisioned, it has cloned the repo. We intend to clone the repo and pre-warm the caches there anyhow.

WIP until the repo fetching and cache pre-warming is present, too.

cc @zimbatm 

### Pull Request Checklist

- [x] Read and understand the [contribution guidelines](https://github.com/digital-asset/daml/blob/master/CONTRIBUTING.md)
- [x] Include appropriate tests
- [x] Set a descriptive title and thorough description
- [x] Add a reference to the [issue this PR will solve](https://github.com/digital-asset/daml/issues), if appropriate
- [x] Add a line to the [release notes](https://github.com/digital-asset/daml/blob/master/docs/source/support/release-notes.rst), if appropriate

NOTE: CI is not automatically run on non-members pull-requests for security
reasons. The reviewer will have to comment with `/AzurePipelines run` to
trigger the build.
2019-04-12 14:56:20 +02:00
Gary Verhaegen
b37474b0e9
require manual publication of GitHub releases (#435)
Because automated testing is not yet part of our release pipeline, we
need to manually publish releases after manual testing.
2019-04-12 13:15:19 +01:00
Michał Majcherski
79bbf5c794
windows: working //:git-revision target (#434) 2019-04-12 13:25:31 +02:00
Gary Verhaegen
6110d4be3a
push releases to github (#413)
Azure Pipelines has direct integration with GitHub, so we're just using
that. Releases on GitHub have to target a tag, so we also need to push
the tag as an intermediate step; we also need to include the platform
name in the artifact to avoid overwriting from different builds.

The two "GitHub release" steps depend on two Azure variables that are
not defined in the pipeline script. This may look like it should not
work, but in fact it does, because these variables are set by the
release script.

In Azure Pipelines, any build step can set variables for the next build
steps by outputting specially-formatted text to stdout. This text will
not appear in the build output displayed by Azure Pipelines, e.g.:

```
echo '##vso[task.setvariable variable=sauce]tomatoes'
```

would define the Azure variable `sauce` to have the string `tomatoes` as
its value for the next build steps.

See [0] for details.

[0]: https://docs.microsoft.com/en-us/azure/devops/pipelines/process/variables?view=azure-devops&tabs=yaml%2Cbatch#set-in-script
2019-04-12 11:30:13 +01:00
Michał Majcherski
08bd36a10c Windows CI (#364)
* ci: remove the old Jenkins files

* WORKSPACE: remove unuset this_breaks_windows

* ci: add Windows builds to Azure Pipeline
2019-04-11 14:26:55 +02:00
Jonas Chevalier
7c08c86d63
fmt.sh: format and lint checks (#349)
* load dev-env in ./build.sh

one less thing for the user to do

* fmt.sh: extract platform-agnostic checks
2019-04-10 14:22:35 +02:00
Gary Verhaegen
e2aecc2877
build with full history (#333) 2019-04-09 18:19:07 +01:00
zimbatm
430a85649c add more Azure Pipeline agents (#230)
* nix: add the more providers to terraform
* docs: make tarballs more reproducible
* ci: use the linux-pool pool
* ci: tweak the nix installation

handle the case where the user is root and on ubuntu

* infra: terraform fmt

* infra: add Azure Pipeline agents

* ci: only enable linux-pool for internal PRs
2019-04-09 18:59:37 +02:00
moritzkiefer-da
eaa4a1ab47
Fix IS_FORK variable (#246)
Without this PR, this variable ends up being set to the string
"variables['System.PullRequest.IsFork']" which meant that we never
uploaded to the Bazel cache.
2019-04-05 14:24:23 +02:00
Florian Klink
1301a004a8 ci/dev-env-push: use "".format() instead of % 2019-04-04 17:47:40 +02:00
Florian Klink
b3fc3d3cb6 ci/dev-env-push: revert f-string usage
This might be run with a python3 different from the one provided by
dev-env, and not support f-strings yet.
2019-04-04 17:47:40 +02:00
Florian Klink
f0e1b3e3e0 Update ci/build-unix.yml
Co-Authored-By: zimbatm <zimbatm@zimbatm.com>
2019-04-04 16:16:40 +02:00
Florian Klink
2cd3dcb385 Update ci/dev-env-push.py
Co-Authored-By: zimbatm <zimbatm@zimbatm.com>
2019-04-04 16:16:40 +02:00
Florian Klink
a0992cedcc Update ci/build.sh
Co-Authored-By: zimbatm <zimbatm@zimbatm.com>
2019-04-04 16:16:40 +02:00
Florian Klink
3ae87ce775 Update ci/dev-env-push.py
Co-Authored-By: zimbatm <zimbatm@zimbatm.com>
2019-04-04 16:16:40 +02:00
Florian Klink
b49b669ad5 Update ci/build.sh
Co-Authored-By: zimbatm <zimbatm@zimbatm.com>
2019-04-04 16:16:40 +02:00
zimbatm
4e7cba018d fixup! Merge pull request #193 from digital-asset/fixing-sandbox-port-inconsistencies 2019-04-04 16:16:40 +02:00
zimbatm
77c5a4fb4e ci: restore caching on non-forks 2019-04-04 16:16:40 +02:00
zimbatm
ff1c17fd4e ci: disable credentials for now
if forked, the value is `$(SECRET_NAME)` which isn't handled right now
2019-04-04 13:26:26 +02:00
Digital Asset GmbH
05e691f558 open-sourcing daml 2019-04-04 09:33:38 +01:00