# Copyright (c) 2020 The DAML Authors. All rights reserved. # SPDX-License-Identifier: Apache-2.0 parameters: name: '' 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: ./fmt.sh --test displayName: 'Platform-agnostic lints and checks' condition: and(succeeded(), eq(variables['Agent.OS'], 'Linux')) - 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: ./build.sh "_$(uname)" displayName: 'Build' - task: PublishBuildArtifacts@1 condition: succeededOrFailed() displayName: 'Publish the bazel execution logs' inputs: pathtoPublish: '$(Build.ArtifactStagingDirectory)' artifactName: 'Execution logs' - task: PublishBuildArtifacts@1 condition: failed() displayName: 'Publish the bazel test logs' inputs: pathtoPublish: 'bazel-testlogs/' artifactName: 'Test logs' - bash: ci/release.sh displayName: 'Release' condition: and(succeeded(), eq(variables['System.PullRequest.IsFork'], 'False')) env: # to connect to bintray JFROG_CONFIG_CONTENT: $(JFROG_CONFIG_CONTENT) # For signing artifacts to be uploaded to Maven Central. GPG_KEY: $(gpg-code-signing) # Configuration the Sonatype Open Source Repository Hosting MAVEN_USERNAME: $(MAVEN_USERNAME) MAVEN_PASSWORD: $(MAVEN_PASSWORD) MAVEN_URL: "https://oss.sonatype.org" # For uploading npm packages to npm registry. NPM_TOKEN: $(NPM_TOKEN) name: release - bash: | set -euo pipefail ARTIFACT=daml-sdk-$(release_tag)-${{ parameters.name }}.tar.gz cp bazel-bin/release/sdk-release-tarball.tar.gz $(Build.StagingDirectory)/$ARTIFACT echo "##vso[task.setvariable variable=artifact;isOutput=true]$ARTIFACT" name: publish condition: eq(variables['release.has_released'], 'true') - task: PublishPipelineArtifact@0 condition: eq(variables['release.has_released'], 'true') inputs: targetPath: $(Build.StagingDirectory)/$(publish.artifact) artifactName: $(publish.artifact)