From 7723bfd9ba058507dce3a1602aa334176a356c5d Mon Sep 17 00:00:00 2001 From: Paul Gschwendtner Date: Fri, 24 Jul 2020 17:54:44 +0200 Subject: [PATCH] build: use new labeling and branching in merge script (#38428) We introduced a new shared configuration for merge script labels that follow the proposal of: https://docs.google.com/document/d/197kVillDwx-RZtSVOBtPb4BBIAw0E9RT3q3v6DZkykU These label semantics and the branching are set up for the Angular framework with this commit. The goal is that labeling and merging is consistent between all Angular projects and that clear rules are defined for branching. This was previously not the case. PR Close #38428 --- .ng-dev/merge.ts | 25 ++++++------------------- 1 file changed, 6 insertions(+), 19 deletions(-) diff --git a/.ng-dev/merge.ts b/.ng-dev/merge.ts index cb508bd3b1..79e4f3039a 100644 --- a/.ng-dev/merge.ts +++ b/.ng-dev/merge.ts @@ -1,38 +1,25 @@ -import {MergeConfig} from '../dev-infra/pr/merge/config'; +import {DevInfraMergeConfig} from '../dev-infra/pr/merge/config'; +import {getDefaultTargetLabelConfiguration} from '../dev-infra/pr/merge/defaults'; +import {github} from './github'; /** * Configuration for the merge tool in `ng-dev`. This sets up the labels which * are respected by the merge script (e.g. the target labels). */ -export const merge = (): MergeConfig => { - // TODO: resume dynamically determining patch branch - const patch = '10.0.x'; +export const merge: DevInfraMergeConfig['merge'] = async api => { return { githubApiMerge: false, claSignedLabel: 'cla: yes', mergeReadyLabel: /^PR action: merge(-assistance)?/, caretakerNoteLabel: 'PR action: merge-assistance', commitMessageFixupLabel: 'commit message fixup', - labels: [ - { - pattern: 'PR target: master-only', - branches: ['master'], - }, - { - pattern: 'PR target: patch-only', - branches: [patch], - }, - { - pattern: 'PR target: master & patch', - branches: ['master', patch], - }, - ], + labels: await getDefaultTargetLabelConfiguration(api, github, '@angular/core'), requiredBaseCommits: { // PRs that target either `master` or the patch branch, need to be rebased // on top of the latest commit message validation fix. // These SHAs are the commits that update the required license text in the header. 'master': '5aeb9a4124922d8ac08eb73b8f322905a32b0b3a', - [patch]: '27b95ba64a5d99757f4042073fd1860e20e3ed24' + '10.0.x': '27b95ba64a5d99757f4042073fd1860e20e3ed24' }, }; };