Skip to content

Commit

Permalink
Add post-merge VCR copy step (#3583)
Browse files Browse the repository at this point in the history
* Test PR

* Swapped if/else

* Add test trigger for manual testing

* File ordering

* Newline?

* Hard code sha

* Bad encoding

* Remove manual trigger

* Newline

* Trigger all tests on PR
  • Loading branch information
slevenick authored May 29, 2020
1 parent d913067 commit c65fb31
Show file tree
Hide file tree
Showing 5 changed files with 38 additions and 3 deletions.
2 changes: 1 addition & 1 deletion .ci/containers/terraform-vcr-tester/teamcityparams.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<build>
<buildType id="GoogleCloud_ProviderGoogleCloudMmUpstreamVcr"/>
<properties>
<property name="TEST_PATTERN" value="TestAccPubsubTopic_update"/>
<property name="TEST_PATTERN" value="TestAcc"/>
<property name="BRANCH_NAME" value="refs/heads/auto-pr-{{PR_NUMBER}}"/>
<property name="env.VCR_MODE" value="REPLAYING"/>
</properties>
Expand Down
4 changes: 2 additions & 2 deletions .ci/containers/terraform-vcr-tester/vcr_test_terraform.sh
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,11 @@ set +e
URL=echo $(cat build.json | jq .webUrl)
ret=$?
if [ $ret -ne 0 ]; then
echo "Auth failed"
else
comment="I have triggered VCR tests based on this PR's diffs. See the results here: $URL"

curl -H "Authorization: token ${GITHUB_TOKEN}" \
-d "$(jq -r --arg comment "$comment" -n "{body: \$comment}")" \
"https://api.github.com/repos/GoogleCloudPlatform/magic-modules/issues/${PR_NUMBER}/comments"
else
echo "Auth failed"
fi
8 changes: 8 additions & 0 deletions .ci/containers/vcr-cassette-merger/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
from gcr.io/google.com/cloudsdktool/cloud-sdk:alpine as resource

RUN apk add --no-cache bash
RUN apk add --no-cache curl
RUN apk add --no-cache jq

ADD vcr_merge.sh /vcr_merge.sh
ENTRYPOINT ["/vcr_merge.sh"]
18 changes: 18 additions & 0 deletions .ci/containers/vcr-cassette-merger/vcr_merge.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#!/bin/bash

set -e

REFERENCE=$1

PR_NUMBER=$(curl -s -H "Authorization: token ${GITHUB_TOKEN}" \
"https://api.github.com/repos/GoogleCloudPlatform/magic-modules/pulls?state=closed&base=master&sort=updated&direction=desc" | \
jq -r ".[] | if .merge_commit_sha == \"$REFERENCE\" then .number else empty end")

set +e
gsutil ls gs://vcr-$GOOGLE_PROJECT/auto-pr-$PR_NUMBER/fixtures/
if [ $? -eq 0 ]; then
# We have recorded new cassettes for this branch
gsutil -m cp gs://vcr-$GOOGLE_PROJECT/refs/heads/auto-pr-$PR_NUMBER/fixtures/* gs://vcr-$GOOGLE_PROJECT/fixtures/
gsutil -m rm -r gs://vcr-$GOOGLE_PROJECT/refs/heads/auto-pr-$PR_NUMBER/
fi
set -e
9 changes: 9 additions & 0 deletions .ci/gcb-push-downstream.yml
Original file line number Diff line number Diff line change
Expand Up @@ -192,6 +192,12 @@ steps:
- -c
- git push https://modular-magician:[email protected]/GoogleCloudPlatform/magic-modules $COMMIT_SHA:inspec-sync

- name: 'gcr.io/graphite-docker-images/vcr-cassette-merger'
secretEnv: ["GITHUB_TOKEN", "GOOGLE_PROJECT"]
waitFor: ["tpg-push"]
args:
- $COMMIT_SHA

# set extremely long 1 day timeout, in order to ensure that any jams / backlogs can be cleared.
timeout: 86400s
options:
Expand All @@ -202,3 +208,6 @@ secrets:
- kmsKeyName: projects/graphite-docker-images/locations/global/keyRings/token-keyring/cryptoKeys/github-token
secretEnv:
GITHUB_TOKEN: CiQADkR4NnCVXo1OLSWFuPX7eSiifaOfQVzSYmKi2jZdVbKlfYMSUQBfF82vNAgpvSVyhzM8JsQaP6Oky0SAdoR5fPED5cU3qxsCB9wArmdGcgQoRzP7S6jEWHRcvxv/xauznjkJQMWCORzcbUbk6T7k80bdo2mpqw==
- kmsKeyName: projects/graphite-docker-images/locations/global/keyRings/environment-keyring/cryptoKeys/ci-project-key
secretEnv:
GOOGLE_PROJECT: CiQAis6xrDDU4Wcxn5s8Y790IMxTUEe2d3SaYEXUGScHfaLjOw8SPwDOc1nLe6Yz0zzA0mcYTsXaeGSFYu7uQ5+QCtTProJWRv2ITrNwCS3AF/kvMCrHvltx7O1CZnJveutlVpZH3w==

0 comments on commit c65fb31

Please sign in to comment.