Skip to content

Commit

Permalink
try out checkboxes
Browse files Browse the repository at this point in the history
  • Loading branch information
paulbrauner-da committed Sep 24, 2024
1 parent e7401ae commit db6a117
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 133 deletions.
7 changes: 7 additions & 0 deletions ci/bash-lib.yml
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,13 @@ steps:
jq -n --arg message "$message" '{"text": $message}' \
| curl -XPOST -i -H 'Content-Type: application/json' -d @- $channel
}
tell_slack_blocks() {
local message channel
message="$1"
channel=${2:-$(Slack.team-daml)}
jq -n "{\"blocks\": $message}" \
| curl -XPOST -i -H 'Content-Type: application/json' -d @- $channel
}
wrap_gcloud() (
cred="$1"
cmd="$2"
Expand Down
147 changes: 14 additions & 133 deletions ci/prs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,143 +12,24 @@ pr:
- release/*

jobs:
- template: build.yml
parameters:
test_mode: pr
- template: check-for-release-job.yml


- job: check_standard_change_label
dependsOn:
- check_for_release
condition: and(eq(variables['Build.Reason'], 'PullRequest'),
eq(dependencies.check_for_release.outputs['out.is_release'], 'true'))
pool:
name: 'ubuntu_20_04'
demands: assignment -equals default
steps:
- checkout: self
- bash: |
set -euo pipefail
curl https://api.github.com/repos/digital-asset/daml/pulls/$PR -s | jq -r '.labels[].name' | grep -q '^Standard-Change$'
env:
PR: $(System.PullRequest.PullRequestNumber)
# required for collect_build_data
- job: release
condition: false

- job: notify_release_pr
condition: and(not(canceled()),
or(startsWith(variables['Build.SourceBranchName'], 'auto-release-pr-'),
startsWith(variables['System.PullRequest.SourceBranch'], 'auto-release-pr-')),
eq(dependencies.check_for_release.outputs['out.is_release'], 'true'))
dependsOn:
- git_sha
- collect_build_data
- check_for_release
- platform_independence_test
pool:
name: 'ubuntu_20_04'
demands: assignment -equals default
variables:
branch_sha: $[ dependencies.git_sha.outputs['out.branch'] ]
status: $[ dependencies.collect_build_data.result ]
is_release: $[ dependencies.check_for_release.outputs['out.is_release'] ]
steps:
- checkout: self
persistCredentials: true
- job: report
pool:
name: ubuntu_20_04
demands: assignment -equals default
steps:
- template: bash-lib.yml
parameters:
var_name: bash-lib
var_name: bash_lib
- bash: |
set -euo pipefail
source $(bash-lib)
cd sdk
eval "$(./dev-env/bin/dade-assist)"
source $(bash_lib)
AUTH="$(get_gh_auth_header)"
PR=$(curl -H "$AUTH" \
-H "Accept: application/vnd.github.groot-preview+json" \
-s -f \
"https://api.github.com/repos/digital-asset/daml/commits/$(git rev-parse HEAD)/pulls" \
| jq '.[0].number' \
|| echo "")
# Note: if we somehow fail to resolve the PR number from the GitHub
# API, there is still value in getting the notification on Slack, as
# we do have the build number and from there we can click through to
# the PR. Hence the `|| echo ""`.
PR_HANDLER=$(next_in_rotation_slack)
case "$(status)" in
Succeeded*)
msg="has succeeded! Next step is to approve & merge. This is probably a good time to start your Windows testing machine."
;;
Failed*)
msg="has failed. Please investigate."
;;
*)
# Should not be reached, but who knows?
msg="has completed with status $(status). See <https://github.com/digital-asset/daml/blob/main/release/RELEASE.md|RELEASE.md> for what to do next."
;;
esac
tell_slack "<@${PR_HANDLER}> <https://dev.azure.com/digitalasset/daml/_build/results?buildId=$(Build.BuildId)|Build $(Build.BuildId)> for release PR <https://github.com/digital-asset/daml/pull/${PR}|#${PR}> $msg"
- job: notify_user
# No Slack tokens on forks
condition: and(not(canceled()),
eq(variables['System.PullRequest.IsFork'], 'False'))
dependsOn:
- git_sha
- collect_build_data
- check_for_release
pool:
name: 'ubuntu_20_04'
demands: assignment -equals default
variables:
pr.num: $[ variables['System.PullRequest.PullRequestNumber'] ]
branch_sha: $[ dependencies.git_sha.outputs['out.branch'] ]
build_status: $[ dependencies.collect_build_data.result ]
steps:
- template: bash-lib.yml
parameters:
var_name: bash-lib
- bash: |
set -euo pipefail
source $(bash-lib)
user=$(user_slack_handle $(branch_sha))
if [ "$user" != "" ]; then
tell_slack "<@${user}> <https://dev.azure.com/digitalasset/daml/_build/results?buildId=$(Build.BuildId)|Build $(Build.BuildId)> for <https://github.com/digital-asset/daml/pull/$(pr.num)|PR $(pr.num)> has completed with status $(build_status)." \
"$(Slack.team-daml-ci)"
fi
if [ "$(git log -n1 --format="%(trailers:key=tell-slack,valueonly)" HEAD)" = "canton" ]; then
if [ "$(build_status)" = "Failed" ]; then
tell_slack "<https://dev.azure.com/digitalasset/daml/_build/results?buildId=$(Build.BuildId)|Build $(Build.BuildId)> for <https://github.com/digital-asset/daml/pull/$(pr.num)|canton update PR $(pr.num)> has completed with status $(build_status)." \
"$(Slack.team-canton-notifications)"
fi
fi
- job: self_service_compat_test
pool:
name: 'ubuntu_20_04'
demands: assignment -equals default
condition: eq(variables['Build.Reason'], 'PullRequest')
steps:
- checkout: self
- template: bash-lib.yml
parameters:
var_name: bash-lib
- bash: |
set -euo pipefail
cd sdk
eval "$(./dev-env/bin/dade-assist)"
source $(bash-lib)
COMMIT=$(git rev-parse HEAD^2)
REQUEST=$(git log -n1 --format="%(trailers:key=run-full-compat,valueonly)" $COMMIT)
if [ $REQUEST == true ]; then
# Unfortunately recovering the actual branch name is tricky
trigger_azure $AZURE_TOKEN digital-asset.daml-daily-compat --commit-id $COMMIT --branch not-main
fi
env:
AZURE_TOKEN: $(System.AccessToken)
export GH_REPO=digital-asset/daml
message='[ { "type": "section", "text": { "type": "mrkdwn", "text": "*THIS IS A TEST PLEASE IGNORE*\n\nOpen daml repo PRs to address:" }, "accessory": { "type": "checkboxes", "options": [ { "text": { "type": "mrkdwn", "text": "2024-24-09" }, "description": { "type": "mrkdwn", "text": "<https://google.com|PR title>" } }, { "text": { "type": "mrkdwn", "text": "2024-24-08" }, "description": { "type": "mrkdwn", "text": "<https://google.com|PR title>" } } ] } } ]'
tell_slack_blocks "$message" "$(Slack.team-sdk-updates)"
env:
GITHUB_TOKEN: $(CANTON_READONLY_TOKEN)

0 comments on commit db6a117

Please sign in to comment.