| # Copyright 2021 The CUE Authors |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| # The copybara configuration for the cuelang/cue repository |
| # |
| # When used in conjunction with the cueckoo/copybara Docker image this |
| # configuration can be run in two modes: |
| # |
| # github |
| # github-pr N |
| # |
| # The first mode mirrors Gerrit to GitHub. The second mode imports PR #N from |
| # GitHub to Gerrit. |
| # |
| # See the CUE-defined copybara workflow defined in internal/ci for an example |
| # of how to pass in Gerrit and GitHub credentials when running an instance of |
| # the cueckoo/copybara image. |
| |
| github_url = "https://github.com/cuelang/cue.git" |
| gerrit_url = "https://cue-review.googlesource.com/cue" |
| |
| origin_github_pr = git.github_pr_origin( |
| baseline_from_branch = True, |
| use_merge = True, |
| url = github_url, |
| ) |
| |
| origin_gerrit = git.origin( |
| url = gerrit_url, |
| ref = "master", |
| ) |
| |
| destination_gerrit = git.gerrit_destination( |
| url = gerrit_url, |
| fetch = "master", |
| push_to_refs_for = "master%hashtag=github-pr", |
| ) |
| |
| # Mirror from Gerrit -> GitHub |
| git.mirror( |
| name = "github", |
| origin = gerrit_url, |
| destination = github_url, |
| refspecs = ["refs/*"], |
| prune = False, |
| ) |
| |
| # Import a PR from GitHub to Gerrit |
| core.workflow( |
| name = "github-pr", |
| origin = origin_github_pr, |
| destination = destination_gerrit, |
| authoring = authoring.pass_thru("CUE team <no-reply@google.com>"), |
| transformations = [ |
| metadata.replace_message( |
| "${GITHUB_PR_TITLE}\n\n" + |
| "${GITHUB_PR_BODY}\n\n" + |
| "Closes #${GITHUB_PR_NUMBER}\n" + |
| "https://github.com/cuelang/cue/pull/${GITHUB_PR_NUMBER}", |
| ), |
| ], |
| mode = "CHANGE_REQUEST", |
| ) |