From f39833ebad155902355ddf6a02be2fc02db7b164 Mon Sep 17 00:00:00 2001 From: Timothy Messier Date: Thu, 6 Oct 2022 13:38:27 -0400 Subject: [PATCH] chore: Add downstream merge triggers (#2524) Trigger a downstream merge. This requires that the DOWNSTREAM_SLUG environment variable is set in CircleCI. This will trigger downstream merges for main and all release branches. --- .circleci/config.yml | 40 ++++++++++--------- .../jobs/trigger-merge-to-downstream.yml | 7 ++++ .../config/jobs/trigger-merge-to-ent.yml | 7 ---- ...nt.yml => trigger-merge-to-downstream.yml} | 3 +- scripts/trigger-merge-to-downstream | 24 +++++++++++ scripts/trigger-merge-to-ent | 17 -------- 6 files changed, 54 insertions(+), 44 deletions(-) create mode 100644 .circleci/config/jobs/trigger-merge-to-downstream.yml delete mode 100644 .circleci/config/jobs/trigger-merge-to-ent.yml rename .circleci/config/workflows/{trigger-merge-to-ent.yml => trigger-merge-to-downstream.yml} (54%) create mode 100755 scripts/trigger-merge-to-downstream delete mode 100755 scripts/trigger-merge-to-ent diff --git a/.circleci/config.yml b/.circleci/config.yml index d962d1ddf9..5164f6e7fa 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -16,6 +16,17 @@ jobs: command: | make test-sql POSTGRES_DOCKER_IMAGE_BASE=docker.mirror.hashicorp.services/postgres PG_DOCKER_TAG=13-alpine name: Run SQL PgTap Tests + trigger-merge-to-downstream: + machine: + image: ubuntu-2004:202111-01 + resource_class: medium + working_directory: ~/boundary + steps: + - checkout + - run: + command: | + ./scripts/trigger-merge-to-downstream ${CIRCLE_BRANCH} + name: Trigger Merge to Downstream test-api: machine: image: ubuntu-2004:202111-01 @@ -275,17 +286,6 @@ jobs: name: Slack - Sending Status Alert shell: /bin/bash when: always - trigger-merge-to-ent: - machine: - image: ubuntu-2004:202111-01 - resource_class: medium - working_directory: ~/boundary - steps: - - checkout - - run: - command: | - ./scripts/trigger-merge-to-ent - name: Trigger Merge to Enterprise test-sql-latest: machine: image: ubuntu-2004:202111-01 @@ -308,13 +308,14 @@ workflows: - test-sql-12-alpine - test-sql-13-alpine - make-gen-deltas - trigger-merge-to-ent: + trigger-merge-to-downstream: jobs: - - trigger-merge-to-ent: + - trigger-merge-to-downstream: filters: branches: only: - main + - /release\/.*/ version: 2 # Original config.yml file: @@ -424,14 +425,14 @@ workflows: # command: | # make test-sql POSTGRES_DOCKER_IMAGE_BASE=docker.mirror.hashicorp.services/postgres PG_DOCKER_TAG=<< parameters.postgres-version >> # name: Run SQL PgTap Tests -# trigger-merge-to-ent: +# trigger-merge-to-downstream: # executor: go-machine-medium # steps: # - checkout # - run: # command: | -# ./scripts/trigger-merge-to-ent -# name: Trigger Merge to Enterprise +# ./scripts/trigger-merge-to-downstream ${CIRCLE_BRANCH} +# name: Trigger Merge to Downstream # orbs: # slack: circleci/slack@3.4.2 # version: 2.1 @@ -450,10 +451,11 @@ workflows: # - 12-alpine # - 13-alpine # - make-gen-deltas -# trigger-merge-to-ent: +# trigger-merge-to-downstream: # jobs: -# - trigger-merge-to-ent: +# - trigger-merge-to-downstream: # filters: # branches: # only: -# - main \ No newline at end of file +# - main +# - /release\\/.*/ \ No newline at end of file diff --git a/.circleci/config/jobs/trigger-merge-to-downstream.yml b/.circleci/config/jobs/trigger-merge-to-downstream.yml new file mode 100644 index 0000000000..d778c56a85 --- /dev/null +++ b/.circleci/config/jobs/trigger-merge-to-downstream.yml @@ -0,0 +1,7 @@ +executor: go-machine-medium +steps: +- checkout +- run: + name: "Trigger Merge to Downstream" + command: | + ./scripts/trigger-merge-to-downstream ${CIRCLE_BRANCH} diff --git a/.circleci/config/jobs/trigger-merge-to-ent.yml b/.circleci/config/jobs/trigger-merge-to-ent.yml deleted file mode 100644 index b976eab5c6..0000000000 --- a/.circleci/config/jobs/trigger-merge-to-ent.yml +++ /dev/null @@ -1,7 +0,0 @@ -executor: go-machine-medium -steps: -- checkout -- run: - name: "Trigger Merge to Enterprise" - command: | - ./scripts/trigger-merge-to-ent diff --git a/.circleci/config/workflows/trigger-merge-to-ent.yml b/.circleci/config/workflows/trigger-merge-to-downstream.yml similarity index 54% rename from .circleci/config/workflows/trigger-merge-to-ent.yml rename to .circleci/config/workflows/trigger-merge-to-downstream.yml index 12edc67ce7..f15843c1cf 100644 --- a/.circleci/config/workflows/trigger-merge-to-ent.yml +++ b/.circleci/config/workflows/trigger-merge-to-downstream.yml @@ -1,6 +1,7 @@ jobs: - - trigger-merge-to-ent: + - trigger-merge-to-downstream: filters: branches: only: - main + - /release\/.*/ diff --git a/scripts/trigger-merge-to-downstream b/scripts/trigger-merge-to-downstream new file mode 100755 index 0000000000..a043eceb99 --- /dev/null +++ b/scripts/trigger-merge-to-downstream @@ -0,0 +1,24 @@ +#!/usr/bin/env bash + +BRANCH=${1:="main"} + +if [[ -z "${DOWNSTREAM_SLUG}" ]]; then + echo "skipping, no downstream" + exit 0 +fi + +if [[ -z "${CIRCLE_REPOSITORY_URL}" ]]; then + exit 0 +fi + +if [[ "${CIRCLE_REPOSITORY_URL}" == *"boundary-${DOWNSTREAM_SLUG}"* ]]; then + exit 0 +fi + +if [[ -z ${CIRCLE_CI_DOWNSTREAM_TOK} ]]; then + exit 0 +fi + +curl -u "${CIRCLE_CI_DOWNSTREAM_TOK}:" \ + -d "build_parameters[CIRCLE_JOB]=merge-from-upstream" \ + "https://circleci.com/api/v1.1/project/github/hashicorp/boundary-${DOWNSTREAM_SLUG}/tree/${BRANCH}" diff --git a/scripts/trigger-merge-to-ent b/scripts/trigger-merge-to-ent deleted file mode 100755 index 1a6fb7a091..0000000000 --- a/scripts/trigger-merge-to-ent +++ /dev/null @@ -1,17 +0,0 @@ -#!/usr/bin/env bash - -if [[ -z "${CIRCLE_REPOSITORY_URL}" ]]; then - exit 0 -fi - -if [[ "${CIRCLE_REPOSITORY_URL}" == *"boundary-enterprise"* ]]; then - exit 0 -fi - -if [[ -z ${CIRCLE_CI_ENT_TOK} ]]; then - exit 0 -fi - -curl -u ${CIRCLE_CI_ENT_TOK}: \ - -d 'build_parameters[CIRCLE_JOB]=merge-oss-main' \ - https://circleci.com/api/v1.1/project/github/hashicorp/boundary-enterprise/tree/main