mirror of
https://github.com/digital-asset/daml.git
synced 2024-09-20 09:17:43 +03:00
beb33f2ab1
As requested on #6530. CHANGELOG_BEGIN CHANGELOG_END
106 lines
3.4 KiB
YAML
106 lines
3.4 KiB
YAML
# Copyright (c) 2020 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
# Do not run on PRs
|
|
pr: none
|
|
|
|
# Do not run on merge to master
|
|
trigger: none
|
|
|
|
# Do run on a schedule (daily)
|
|
#
|
|
# Note: machines are killed every day at 4AM UTC, so we need to either:
|
|
# - run sufficiently before that that this doesn't get killed, or
|
|
# - run sufficiently after that that machines are initialized.
|
|
#
|
|
# Targeting 6AM UTC seems to fit that.
|
|
schedules:
|
|
- cron: "0 6 * * *"
|
|
displayName: daily checks and reporting
|
|
branches:
|
|
include:
|
|
- master
|
|
always: true
|
|
|
|
jobs:
|
|
- job: compatibility_ts_libs
|
|
timeoutInMinutes: 60
|
|
pool:
|
|
name: linux-pool
|
|
demands: assignment -equals default
|
|
steps:
|
|
- checkout: self
|
|
- template: ../compatibility_ts_libs.yml
|
|
- template: ../daily_tell_slack.yml
|
|
|
|
- job: compatibility
|
|
dependsOn: compatibility_ts_libs
|
|
timeoutInMinutes: 360
|
|
strategy:
|
|
matrix:
|
|
linux:
|
|
pool: linux-pool
|
|
macos:
|
|
pool: macOS-pool
|
|
pool:
|
|
name: $(pool)
|
|
${{ if eq(variables['pool'], 'linux-pool') }}:
|
|
demands: assignment -equals default
|
|
steps:
|
|
- checkout: self
|
|
- ${{ if eq(variables['pool'], 'macos-pool') }}:
|
|
- template: ../clear-shared-segments-macos.yml
|
|
- template: ../compatibility.yml
|
|
- template: ../daily_tell_slack.yml
|
|
|
|
- job: compatibility_windows
|
|
dependsOn: compatibility_ts_libs
|
|
timeoutInMinutes: 360
|
|
pool:
|
|
name: windows-pool
|
|
demands: assignment -equals default
|
|
steps:
|
|
- checkout: self
|
|
- template: ../compatibility-windows.yml
|
|
- task: PublishBuildArtifacts@1
|
|
condition: succeededOrFailed()
|
|
inputs:
|
|
pathtoPublish: '$(Build.StagingDirectory)'
|
|
artifactName: 'Bazel Compatibility Logs'
|
|
- template: ../daily_tell_slack.yml
|
|
|
|
- job: performance_report
|
|
timeoutInMinutes: 120
|
|
pool:
|
|
name: "linux-pool"
|
|
demands: assignment -equals default
|
|
steps:
|
|
- checkout: self
|
|
- bash: ci/dev-env-install.sh
|
|
displayName: 'Build/Install the Developer Environment'
|
|
- bash: ci/configure-bazel.sh
|
|
displayName: 'Configure Bazel for root workspace'
|
|
env:
|
|
IS_FORK: $(System.PullRequest.IsFork)
|
|
# to upload to the bazel cache
|
|
GOOGLE_APPLICATION_CREDENTIALS_CONTENT: $(GOOGLE_APPLICATION_CREDENTIALS_CONTENT)
|
|
- bash: |
|
|
set -euo pipefail
|
|
eval "$(dev-env/bin/dade assist)"
|
|
BASELINE="cebc26af88efef4a7c81c62b0c14353f829b755e"
|
|
TEST_SHA=$(cat ci/cron/perf/test_sha)
|
|
OUT="$(Build.StagingDirectory)/perf-results.json"
|
|
if git diff --exit-code $TEST_SHA -- daml-lf/scenario-interpreter/src/perf >&2; then
|
|
# no changes, all good
|
|
ci/cron/perf/compare.sh $BASELINE > $OUT
|
|
cat $(Build.StagingDirectory)/perf-results.json
|
|
else
|
|
# the tests have changed, we need to figure out what to do with
|
|
# the baseline.
|
|
echo "Baseline no longer valid, needs manual correction." > $OUT
|
|
fi
|
|
displayName: measure perf
|
|
- template: ../daily_tell_slack.yml
|
|
parameters:
|
|
success-message: '$(cat $(Build.StagingDirectory)/perf-results.json | jq . | jq -sR ''"perf for ''"$COMMIT_LINK"'':```\(.)```"'')'
|