daml/ci/upload-bazel-metrics.yml
Gary Verhaegen e40aad897f
move to subdir 3.0 (#18520)
* move most files

* update CI configuration
2024-03-22 02:27:46 +01:00

67 lines
3.2 KiB
YAML

# Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
steps:
- template: bash-lib.yml
parameters:
var_name: bash_lib
- bash: |
set -euo pipefail
if [ -d sdk ]; then
cd sdk
fi
if [[ $(Agent.OS) = Windows* ]]; then
export PATH="$PATH:$(cygpath "$(powershell "./dev-env/windows/bin/dadew.ps1 enable >\$2; dadew where")/scoop/shims")"
else
eval "$(dev-env/bin/dade assist)"
fi
source $(bash_lib)
jq -nc >job-md.json '{
timestamp: "$(pipeline_timestamp)",
id: "$(pipeline_id)",
agent_id: "$(Agent.Id)",
agent_job_name: "$(Agent.JobName)",
agent_machine_name: "$(Agent.MachineName)",
agent_name: "$(Agent.Name)",
agent_os: "$(Agent.OS)",
agent_os_architecture: "$(Agent.OSArchitecture)",
build_build_id: "$(Build.BuildId)",
build_build_number: "$(Build.BuildNumber)",
build_definition_name: "$(Build.DefinitionName)",
build_source_branch: "$(Build.SourceBranch)",
build_source_branch_name: "$(Build.SourceBranchName)",
build_source_version: "$(Build.SourceVersion)",
system_job_attempt: "$(System.JobAttempt)",
system_job_display_name: "$(System.JobDisplayName)",
system_job_id: "$(System.JobId)",
system_job_name: "$(System.JobName)",
system_pullRequest_pullRequestId: "'"${SYSTEM_PULLREQUEST_PULLREQUESTID:-}"'",
system_pullRequest_pullRequestNumber: "'"${SYSTEM_PULLREQUEST_PULLREQUESTNUMBER:-}"'",
system_pullRequest_mergedAt: "'"${SYSTEM_PULLREQUEST_MERGEDAT:-}"'",
system_pullRequest_sourceBranch: "'"${SYSTEM_PULLREQUEST_SOURCEBRANCH:-}"'",
system_pullRequest_targetBranch: "'"${SYSTEM_PULLREQUEST_TARGETBRANCH:-}"'",
system_pullRequest_sourceRepositoryUri: "'"${SYSTEM_PULLREQUEST_SOURCEREPOSITORYURI:-}"'",
system_pullRequest_sourceCommitId: "'"${SYSTEM_PULLREQUEST_SOURCECOMMITID:-}"'",
git_branch_sha: "$(git_branch_sha)",
git_main_sha: "$(git_main_sha)",
git_fork_point: "$(git_fork_point_sha)",
git_current_branch: "'"$(git branch --show-current)"'",
git_current_commit: "'"$(git rev-parse HEAD)"'",
git_current_tree: "'"$(git rev-parse HEAD:./)"'",
}'
jq <job-md.json .
target_dir="$(Build.StagingDirectory)/$(pipeline_id)"
mkdir -p "$target_dir"
cp "job-md.json" "$target_dir/job-md.json"
for log_file in 'build-profile.json' 'build-events.json' 'test-profile.json' 'test-events.json' 'scala-test-suite-name-map.json'; do
[[ -f "$log_file" ]] && cp "$log_file" "$target_dir/$log_file" || echo "$log_file not found"
done
cd "$(Build.StagingDirectory)"
GZIP=-9 tar --force-local -c -z -f "build-event-logs.tar.gz" "$(pipeline_id)"
date="$(echo $(pipeline_id) | cut -c1-7)/$(echo $(pipeline_id) | cut -c9-10)"
gcs "$GCRED" cp "build-event-logs.tar.gz" "gs://daml-data/bazel-metrics/$date/$(pipeline_id).tar.gz"
condition: and(succeededOrFailed(), eq(variables['System.PullRequest.IsFork'], 'False'))
displayName: 'Upload Bazel metrics'
env:
GCRED: $(GOOGLE_APPLICATION_CREDENTIALS_CONTENT)