mirror of
https://github.com/digital-asset/daml.git
synced 2024-09-20 01:07:18 +03:00
67f214b1d1
I also changed CI config so we run this on every build but only upload on releases. That should hopefully make sure we catch this immediately next time. The script is fast enough that this shouldn’t slow this down meaningfully. changelog_begin changelog_end
96 lines
3.3 KiB
YAML
96 lines
3.3 KiB
YAML
# Copyright (c) 2022 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
parameters:
|
|
is_release: ''
|
|
name: ''
|
|
release_tag: ''
|
|
scala_version: ''
|
|
|
|
steps:
|
|
- bash: ci/dev-env-install.sh
|
|
displayName: 'Build/Install the Developer Environment'
|
|
|
|
- bash: |
|
|
source dev-env/lib/ensure-nix
|
|
ci/dev-env-push.py
|
|
displayName: 'Push Developer Environment build results'
|
|
condition: eq(variables['System.PullRequest.IsFork'], 'False')
|
|
env:
|
|
# to upload to the Nix cache
|
|
GOOGLE_APPLICATION_CREDENTIALS_CONTENT: $(GOOGLE_APPLICATION_CREDENTIALS_CONTENT)
|
|
NIX_SECRET_KEY_CONTENT: $(NIX_SECRET_KEY_CONTENT)
|
|
|
|
- bash: ci/configure-bazel.sh
|
|
displayName: 'Configure Bazel'
|
|
env:
|
|
IS_FORK: $(System.PullRequest.IsFork)
|
|
# to upload to the bazel cache
|
|
GOOGLE_APPLICATION_CREDENTIALS_CONTENT: $(GOOGLE_APPLICATION_CREDENTIALS_CONTENT)
|
|
|
|
- bash: ./fmt.sh --test
|
|
displayName: 'Platform-agnostic lints and checks'
|
|
condition: and(succeeded(), eq(variables['Agent.OS'], 'Linux'))
|
|
|
|
- bash: ./build.sh "_${{parameters.name}}"
|
|
displayName: 'Build'
|
|
env:
|
|
DAML_SDK_RELEASE_VERSION: ${{parameters.release_tag}}
|
|
DAML_SCALA_VERSION: ${{parameters.scala_version}}
|
|
|
|
- template: publish-platform-independence-dar.yml
|
|
parameters:
|
|
platform: '${{parameters.name}}'
|
|
is_release: '${{parameters.is_release}}'
|
|
|
|
- task: PublishBuildArtifacts@1
|
|
condition: succeededOrFailed()
|
|
continueOnError: true
|
|
inputs:
|
|
pathtoPublish: '$(Build.StagingDirectory)/logs'
|
|
artifactName: 'Bazel Logs'
|
|
|
|
- task: PublishBuildArtifacts@1
|
|
condition: failed()
|
|
displayName: 'Publish the bazel test logs'
|
|
inputs:
|
|
pathtoPublish: 'bazel-testlogs/'
|
|
artifactName: 'Test logs ${{parameters.name}}'
|
|
|
|
- bash: |
|
|
set -euo pipefail
|
|
eval "$(./dev-env/bin/dade-assist)"
|
|
./bazel-bin/release/release --release-dir "$(mktemp -d)" --upload
|
|
env:
|
|
DAML_SDK_RELEASE_VERSION: ${{parameters.release_tag}}
|
|
DAML_SCALA_VERSION: ${{parameters.scala_version}}
|
|
GPG_KEY: $(gpg-code-signing)
|
|
MAVEN_USERNAME: $(MAVEN_USERNAME)
|
|
MAVEN_PASSWORD: $(MAVEN_PASSWORD)
|
|
MAVEN_URL: "https://s01.oss.sonatype.org"
|
|
NPM_TOKEN: $(NPM_TOKEN)
|
|
name: publish_npm_mvn
|
|
condition: and(succeeded(),
|
|
eq(${{parameters.is_release}}, 'true'),
|
|
eq('${{parameters.scala_version}}', ''),
|
|
eq(variables['Build.SourceBranchName'], 'main'),
|
|
in('${{parameters.name}}', 'linux', 'linux-scala-2.12'))
|
|
- template: bash-lib.yml
|
|
parameters:
|
|
var_name: bash-lib
|
|
- bash: |
|
|
set -euo pipefail
|
|
eval "$(./dev-env/bin/dade-assist)"
|
|
mkdir -p $(Build.StagingDirectory)/release
|
|
./ci/copy-unix-release-artifacts.sh ${{parameters.release_tag}} ${{parameters.name}} $(Build.StagingDirectory)/release
|
|
env:
|
|
DAML_SDK_RELEASE_VERSION: ${{parameters.release_tag}}
|
|
name: publish
|
|
- task: PublishPipelineArtifact@0
|
|
inputs:
|
|
targetPath: $(Build.StagingDirectory)/release
|
|
artifactName: ${{parameters.name}}-release
|
|
condition: and(succeeded(),
|
|
eq(${{parameters.is_release}}, 'true'),
|
|
eq(variables['Build.SourceBranchName'], 'main'))
|