replace engine and framework mirror args with github username arg (#109239)
diff --git a/dev/conductor/README.md b/dev/conductor/README.md
index 528b8b5..8c9fa10 100644
--- a/dev/conductor/README.md
+++ b/dev/conductor/README.md
@@ -39,8 +39,7 @@
conductor start \
--candidate-branch=flutter-2.2-candidate.10 \
--release-channel=beta \
- --framework-mirror=git@github.com:username/flutter.git \
- --engine-mirror=git@github.com:username/engine.git \
+ --github-username=kingOfDevelopers \
--engine-cherrypicks=72114dafe28c8700f1d5d629c6ae9d34172ba395 \
--framework-cherrypicks=a3e66b396746f6581b2b7efd1b0d0f0074215128,d8d853436206e86f416236b930e97779b143a100 \
--dart-revision=4511eb2a779a612d9d6b2012123575013e0aef12 \
diff --git a/dev/conductor/core/lib/src/start.dart b/dev/conductor/core/lib/src/start.dart
index ebafaf2..41cb907 100644
--- a/dev/conductor/core/lib/src/start.dart
+++ b/dev/conductor/core/lib/src/start.dart
@@ -31,6 +31,7 @@
const String kReleaseOption = 'release-channel';
const String kStateOption = 'state-file';
const String kVersionOverrideOption = 'version-override';
+const String kGithubUsernameOption = 'github-username';
/// Command to print the status of the current Flutter release.
class StartCommand extends Command<void> {
@@ -54,7 +55,8 @@
argParser.addOption(
kFrameworkUpstreamOption,
defaultsTo: FrameworkRepository.defaultUpstream,
- help: 'Configurable Framework repo upstream remote. Primarily for testing.',
+ help:
+ 'Configurable Framework repo upstream remote. Primarily for testing.',
hide: true,
);
argParser.addOption(
@@ -64,14 +66,6 @@
hide: true,
);
argParser.addOption(
- kFrameworkMirrorOption,
- help: 'Framework repo mirror remote.',
- );
- argParser.addOption(
- kEngineMirrorOption,
- help: 'Engine repo mirror remote.',
- );
- argParser.addOption(
kStateOption,
defaultsTo: defaultPath,
help: 'Path to persistent state file. Defaults to $defaultPath',
@@ -98,7 +92,11 @@
argParser.addOption(
kVersionOverrideOption,
help: 'Explicitly set the desired version. This should only be used if '
- 'the version computed by the tool is not correct.',
+ 'the version computed by the tool is not correct.',
+ );
+ argParser.addOption(
+ kGithubUsernameOption,
+ help: 'Github username',
);
}
@@ -130,21 +128,19 @@
argumentResults,
platform.environment,
)!;
- final String frameworkMirror = getValueFromEnvOrArgs(
- kFrameworkMirrorOption,
+ final String githubUsername = getValueFromEnvOrArgs(
+ kGithubUsernameOption,
argumentResults,
platform.environment,
)!;
+ final String frameworkMirror =
+ 'https://github.com/$githubUsername/flutter.git';
final String engineUpstream = getValueFromEnvOrArgs(
kEngineUpstreamOption,
argumentResults,
platform.environment,
)!;
- final String engineMirror = getValueFromEnvOrArgs(
- kEngineMirrorOption,
- argumentResults,
- platform.environment,
- )!;
+ final String engineMirror = 'https://github.com/$githubUsername/engine.git';
final String candidateBranch = getValueFromEnvOrArgs(
kCandidateOption,
argumentResults,
@@ -177,7 +173,8 @@
platform.environment,
);
final File stateFile = checkouts.fileSystem.file(
- getValueFromEnvOrArgs(kStateOption, argumentResults, platform.environment),
+ getValueFromEnvOrArgs(
+ kStateOption, argumentResults, platform.environment),
);
final String? versionOverrideString = getValueFromEnvOrArgs(
kVersionOverrideOption,
@@ -206,6 +203,7 @@
stateFile: stateFile,
force: force,
versionOverride: versionOverride,
+ githubUsername: githubUsername,
);
return context.run();
}
@@ -227,34 +225,36 @@
required this.conductorVersion,
required this.processManager,
required this.releaseChannel,
+ required this.githubUsername,
required super.checkouts,
required super.stateFile,
this.force = false,
this.versionOverride,
- }) : git = Git(processManager),
- engine = EngineRepository(
- checkouts,
- initialRef: 'upstream/$candidateBranch',
- upstreamRemote: Remote(
- name: RemoteName.upstream,
- url: engineUpstream,
- ),
- mirrorRemote: Remote(
- name: RemoteName.mirror,
- url: engineMirror,
- ),
- ), framework = FrameworkRepository(
- checkouts,
- initialRef: 'upstream/$candidateBranch',
- upstreamRemote: Remote(
- name: RemoteName.upstream,
- url: frameworkUpstream,
- ),
- mirrorRemote: Remote(
- name: RemoteName.mirror,
- url: frameworkMirror,
- ),
- );
+ }) : git = Git(processManager),
+ engine = EngineRepository(
+ checkouts,
+ initialRef: 'upstream/$candidateBranch',
+ upstreamRemote: Remote(
+ name: RemoteName.upstream,
+ url: engineUpstream,
+ ),
+ mirrorRemote: Remote(
+ name: RemoteName.mirror,
+ url: engineMirror,
+ ),
+ ),
+ framework = FrameworkRepository(
+ checkouts,
+ initialRef: 'upstream/$candidateBranch',
+ upstreamRemote: Remote(
+ name: RemoteName.upstream,
+ url: frameworkUpstream,
+ ),
+ mirrorRemote: Remote(
+ name: RemoteName.mirror,
+ url: frameworkMirror,
+ ),
+ );
final String candidateBranch;
final String? dartRevision;
@@ -269,6 +269,7 @@
final ProcessManager processManager;
final String releaseChannel;
final Version? versionOverride;
+ final String githubUsername;
/// If validations should be overridden.
final bool force;
@@ -298,7 +299,8 @@
Future<void> run() async {
if (stateFile.existsSync()) {
- throw ConductorException('Error! A persistent state file already found at ${stateFile.path}.\n\n'
+ throw ConductorException(
+ 'Error! A persistent state file already found at ${stateFile.path}.\n\n'
'Run `conductor clean` to cancel a previous release.');
}
if (!releaseCandidateBranchRegex.hasMatch(candidateBranch)) {
@@ -329,10 +331,12 @@
cherrypicks: engineCherrypickRevisions,
upstreamRef: EngineRepository.defaultBranch,
releaseRef: candidateBranch,
- )).map((String revision) => pb.Cherrypick(
- trunkRevision: revision,
- state: pb.CherrypickState.PENDING,
- )).toList();
+ ))
+ .map((String revision) => pb.Cherrypick(
+ trunkRevision: revision,
+ state: pb.CherrypickState.PENDING,
+ ))
+ .toList();
for (final pb.Cherrypick cherrypick in engineCherrypicks) {
final String revision = cherrypick.trunkRevision;
@@ -366,10 +370,12 @@
cherrypicks: frameworkCherrypickRevisions,
upstreamRef: FrameworkRepository.defaultBranch,
releaseRef: candidateBranch,
- )).map((String revision) => pb.Cherrypick(
- trunkRevision: revision,
- state: pb.CherrypickState.PENDING,
- )).toList();
+ ))
+ .map((String revision) => pb.Cherrypick(
+ trunkRevision: revision,
+ state: pb.CherrypickState.PENDING,
+ ))
+ .toList();
for (final pb.Cherrypick cherrypick in frameworkCherrypicks) {
final String revision = cherrypick.trunkRevision;
@@ -399,7 +405,8 @@
);
final bool atBranchPoint = branchPoint == frameworkHead;
- final ReleaseType releaseType = computeReleaseType(lastVersion, atBranchPoint);
+ final ReleaseType releaseType =
+ computeReleaseType(lastVersion, atBranchPoint);
state.releaseType = releaseType;
try {
@@ -451,10 +458,10 @@
switch (releaseType) {
case ReleaseType.STABLE_INITIAL:
nextVersion = Version(
- x: lastVersion.x,
- y: lastVersion.y,
- z: 0,
- type: VersionType.stable,
+ x: lastVersion.x,
+ y: lastVersion.y,
+ z: 0,
+ type: VersionType.stable,
);
break;
case ReleaseType.STABLE_HOTFIX:
@@ -501,7 +508,8 @@
throw ConductorException('Aborting command.');
}
- stdio.printStatus('Applying the tag $requestedVersion at the branch point $branchPoint');
+ stdio.printStatus(
+ 'Applying the tag $requestedVersion at the branch point $branchPoint');
await framework.tag(
branchPoint,
@@ -549,10 +557,13 @@
final List<String> upstreamRevlist = (await repository.revList(<String>[
'--ancestry-path',
'$branchPoint..$upstreamRef',
- ])).reversed.toList();
+ ]))
+ .reversed
+ .toList();
stdio.printStatus('upstreamRevList:\n${upstreamRevlist.join('\n')}\n');
- stdio.printStatus('validatedCherrypicks:\n${validatedCherrypicks.join('\n')}\n');
+ stdio.printStatus(
+ 'validatedCherrypicks:\n${validatedCherrypicks.join('\n')}\n');
for (final String upstreamRevision in upstreamRevlist) {
if (validatedCherrypicks.contains(upstreamRevision)) {
validatedCherrypicks.remove(upstreamRevision);
@@ -569,7 +580,10 @@
'The following ${repository.name} cherrypicks were not found in the '
'upstream $upstreamRef branch:',
);
- for (final String cp in <String>[...validatedCherrypicks, ...unknownCherrypicks]) {
+ for (final String cp in <String>[
+ ...validatedCherrypicks,
+ ...unknownCherrypicks
+ ]) {
stdio.printError('\t$cp');
}
throw ConductorException(
diff --git a/dev/conductor/core/test/start_test.dart b/dev/conductor/core/test/start_test.dart
index 0945cbf..f347cfb 100644
--- a/dev/conductor/core/test/start_test.dart
+++ b/dev/conductor/core/test/start_test.dart
@@ -18,11 +18,14 @@
void main() {
group('start command', () {
- const String branchPointRevision = '5131a6e5e0c50b8b7b2906cd58dab8746d6450be';
+ const String branchPointRevision =
+ '5131a6e5e0c50b8b7b2906cd58dab8746d6450be';
const String flutterRoot = '/flutter';
const String checkoutsParentDirectory = '$flutterRoot/dev/tools/';
- const String frameworkMirror = 'https://github.com/user/flutter.git';
- const String engineMirror = 'https://github.com/user/engine.git';
+ const String githubUsername = 'user';
+ const String frameworkMirror =
+ 'https://github.com/$githubUsername/flutter.git';
+ const String engineMirror = 'https://github.com/$githubUsername/engine.git';
const String candidateBranch = 'flutter-1.2-candidate.3';
const String releaseChannel = 'beta';
const String revision = 'abcd1234';
@@ -86,10 +89,6 @@
await expectLater(
() async => runner.run(<String>[
'start',
- '--$kFrameworkMirrorOption',
- frameworkMirror,
- '--$kEngineMirrorOption',
- engineMirror,
'--$kCandidateOption',
candidateBranch,
'--$kReleaseOption',
@@ -103,24 +102,6 @@
);
});
- test('throws if --$kFrameworkMirrorOption not provided', () async {
- final CommandRunner<void> runner = createRunner(
- commands: <FakeCommand>[
- const FakeCommand(
- command: <String>['git', 'rev-parse', 'HEAD'],
- stdout: revision,
- ),
- ],
- );
-
- await expectLater(
- () async => runner.run(<String>['start']),
- throwsExceptionWith(
- 'Expected either the CLI arg --$kFrameworkMirrorOption or the environment variable FRAMEWORK_MIRROR to be provided',
- ),
- );
- });
-
test('throws if provided an invalid --$kVersionOverrideOption', () async {
final CommandRunner<void> runner = createRunner();
@@ -132,10 +113,6 @@
await expectLater(
() async => runner.run(<String>[
'start',
- '--$kFrameworkMirrorOption',
- frameworkMirror,
- '--$kEngineMirrorOption',
- engineMirror,
'--$kCandidateOption',
candidateBranch,
'--$kReleaseOption',
@@ -144,6 +121,8 @@
stateFilePath,
'--$kVersionOverrideOption',
'an invalid version string',
+ '--$kGithubUsernameOption',
+ githubUsername,
]),
throwsExceptionWith('an invalid version string cannot be parsed'),
);
@@ -153,8 +132,10 @@
stdio.stdin.add('y'); // accept prompt from ensureBranchPointTagged()
const String revision2 = 'def789';
const String revision3 = '123abc';
- const String previousDartRevision = '171876a4e6cf56ee6da1f97d203926bd7afda7ef';
- const String nextDartRevision = 'f6c91128be6b77aef8351e1e3a9d07c85bc2e46e';
+ const String previousDartRevision =
+ '171876a4e6cf56ee6da1f97d203926bd7afda7ef';
+ const String nextDartRevision =
+ 'f6c91128be6b77aef8351e1e3a9d07c85bc2e46e';
const String previousVersion = '1.2.0-1.0.pre';
// This is what this release will be
const String nextVersion = '1.2.0-1.1.pre';
@@ -181,7 +162,8 @@
onRun: () {
// Create the DEPS file which the tool will update
engine.createSync(recursive: true);
- depsFile.writeAsStringSync(generateMockDeps(previousDartRevision));
+ depsFile
+ .writeAsStringSync(generateMockDeps(previousDartRevision));
}),
const FakeCommand(
command: <String>['git', 'remote', 'add', 'mirror', engineMirror],
@@ -212,7 +194,12 @@
command: <String>['git', 'add', '--all'],
),
const FakeCommand(
- command: <String>['git', 'commit', '--message', 'Update Dart SDK to $nextDartRevision'],
+ command: <String>[
+ 'git',
+ 'commit',
+ '--message',
+ 'Update Dart SDK to $nextDartRevision',
+ ],
),
const FakeCommand(
command: <String>['git', 'rev-parse', 'HEAD'],
@@ -277,12 +264,23 @@
stdout: revision3,
),
const FakeCommand(
- command: <String>['git', 'merge-base', 'upstream/$candidateBranch', 'upstream/master'],
+ command: <String>[
+ 'git',
+ 'merge-base',
+ 'upstream/$candidateBranch',
+ 'upstream/master',
+ ],
stdout: branchPointRevision,
),
// check if commit is tagged, zero exit code means it is tagged
const FakeCommand(
- command: <String>['git', 'describe', '--exact-match', '--tags', branchPointRevision],
+ command: <String>[
+ 'git',
+ 'describe',
+ '--exact-match',
+ '--tags',
+ branchPointRevision,
+ ],
),
];
@@ -300,10 +298,6 @@
await runner.run(<String>[
'start',
- '--$kFrameworkMirrorOption',
- frameworkMirror,
- '--$kEngineMirrorOption',
- engineMirror,
'--$kCandidateOption',
candidateBranch,
'--$kReleaseOption',
@@ -312,6 +306,8 @@
stateFilePath,
'--$kDartRevisionOption',
nextDartRevision,
+ '--$kGithubUsernameOption',
+ githubUsername,
]);
final File stateFile = fileSystem.file(stateFilePath);
@@ -322,7 +318,10 @@
);
expect(state.releaseType, ReleaseType.BETA_HOTFIX);
- expect(stdio.error, isNot(contains('Tried to tag the branch point, however the target version')));
+ expect(
+ stdio.error,
+ isNot(contains(
+ 'Tried to tag the branch point, however the target version')));
expect(processManager, hasNoRemainingExpectations);
expect(state.isInitialized(), true);
expect(state.releaseChannel, releaseChannel);
@@ -333,7 +332,8 @@
expect(state.engine.upstream.url, 'git@github.com:flutter/engine.git');
expect(state.framework.candidateBranch, candidateBranch);
expect(state.framework.startingGitHead, revision3);
- expect(state.framework.upstream.url, 'git@github.com:flutter/flutter.git');
+ expect(
+ state.framework.upstream.url, 'git@github.com:flutter/flutter.git');
expect(state.currentPhase, ReleasePhase.APPLY_ENGINE_CHERRYPICKS);
expect(state.conductorVersion, conductorVersion);
});
@@ -342,8 +342,10 @@
stdio.stdin.add('y'); // accept prompt from ensureBranchPointTagged()
const String revision2 = 'def789';
const String revision3 = '123abc';
- const String previousDartRevision = '171876a4e6cf56ee6da1f97d203926bd7afda7ef';
- const String nextDartRevision = 'f6c91128be6b77aef8351e1e3a9d07c85bc2e46e';
+ const String previousDartRevision =
+ '171876a4e6cf56ee6da1f97d203926bd7afda7ef';
+ const String nextDartRevision =
+ 'f6c91128be6b77aef8351e1e3a9d07c85bc2e46e';
const String previousVersion = '1.2.0-1.0.pre';
const String candidateBranch = 'flutter-1.2-candidate.1';
const String versionOverride = '42.0.0-42.0.pre';
@@ -369,7 +371,8 @@
onRun: () {
// Create the DEPS file which the tool will update
engine.createSync(recursive: true);
- depsFile.writeAsStringSync(generateMockDeps(previousDartRevision));
+ depsFile
+ .writeAsStringSync(generateMockDeps(previousDartRevision));
}),
const FakeCommand(
command: <String>['git', 'remote', 'add', 'mirror', engineMirror],
@@ -400,7 +403,12 @@
command: <String>['git', 'add', '--all'],
),
const FakeCommand(
- command: <String>['git', 'commit', '--message', 'Update Dart SDK to $nextDartRevision'],
+ command: <String>[
+ 'git',
+ 'commit',
+ '--message',
+ 'Update Dart SDK to $nextDartRevision'
+ ],
),
const FakeCommand(
command: <String>['git', 'rev-parse', 'HEAD'],
@@ -465,7 +473,12 @@
stdout: revision3,
),
const FakeCommand(
- command: <String>['git', 'merge-base', 'upstream/$candidateBranch', 'upstream/master'],
+ command: <String>[
+ 'git',
+ 'merge-base',
+ 'upstream/$candidateBranch',
+ 'upstream/master'
+ ],
stdout: branchPointRevision,
),
];
@@ -484,10 +497,6 @@
await runner.run(<String>[
'start',
- '--$kFrameworkMirrorOption',
- frameworkMirror,
- '--$kEngineMirrorOption',
- engineMirror,
'--$kCandidateOption',
candidateBranch,
'--$kReleaseOption',
@@ -498,6 +507,8 @@
nextDartRevision,
'--$kVersionOverrideOption',
versionOverride,
+ '--$kGithubUsernameOption',
+ githubUsername,
]);
final File stateFile = fileSystem.file(stateFilePath);
@@ -511,12 +522,15 @@
expect(state.releaseVersion, versionOverride);
});
- test('logs to STDERR but does not fail on an unexpected candidate branch', () async {
+ test('logs to STDERR but does not fail on an unexpected candidate branch',
+ () async {
stdio.stdin.add('y'); // accept prompt from ensureBranchPointTagged()
const String revision2 = 'def789';
const String revision3 = '123abc';
- const String previousDartRevision = '171876a4e6cf56ee6da1f97d203926bd7afda7ef';
- const String nextDartRevision = 'f6c91128be6b77aef8351e1e3a9d07c85bc2e46e';
+ const String previousDartRevision =
+ '171876a4e6cf56ee6da1f97d203926bd7afda7ef';
+ const String nextDartRevision =
+ 'f6c91128be6b77aef8351e1e3a9d07c85bc2e46e';
// note that this significantly behind the candidate branch name
const String previousVersion = '0.9.0-1.0.pre';
// This is what this release will be
@@ -543,7 +557,8 @@
onRun: () {
// Create the DEPS file which the tool will update
engine.createSync(recursive: true);
- depsFile.writeAsStringSync(generateMockDeps(previousDartRevision));
+ depsFile
+ .writeAsStringSync(generateMockDeps(previousDartRevision));
}),
const FakeCommand(
command: <String>['git', 'remote', 'add', 'mirror', engineMirror],
@@ -574,7 +589,12 @@
command: <String>['git', 'add', '--all'],
),
const FakeCommand(
- command: <String>['git', 'commit', '--message', 'Update Dart SDK to $nextDartRevision'],
+ command: <String>[
+ 'git',
+ 'commit',
+ '--message',
+ 'Update Dart SDK to $nextDartRevision',
+ ],
),
const FakeCommand(
command: <String>['git', 'rev-parse', 'HEAD'],
@@ -639,12 +659,23 @@
stdout: revision3,
),
const FakeCommand(
- command: <String>['git', 'merge-base', 'upstream/$candidateBranch', 'upstream/master'],
+ command: <String>[
+ 'git',
+ 'merge-base',
+ 'upstream/$candidateBranch',
+ 'upstream/master',
+ ],
stdout: branchPointRevision,
),
// check if commit is tagged, 0 exit code means it is tagged
const FakeCommand(
- command: <String>['git', 'describe', '--exact-match', '--tags', branchPointRevision],
+ command: <String>[
+ 'git',
+ 'describe',
+ '--exact-match',
+ '--tags',
+ branchPointRevision,
+ ],
),
];
@@ -662,10 +693,6 @@
await runner.run(<String>[
'start',
- '--$kFrameworkMirrorOption',
- frameworkMirror,
- '--$kEngineMirrorOption',
- engineMirror,
'--$kCandidateOption',
candidateBranch,
'--$kReleaseOption',
@@ -674,6 +701,8 @@
stateFilePath,
'--$kDartRevisionOption',
nextDartRevision,
+ '--$kGithubUsernameOption',
+ githubUsername,
]);
final File stateFile = fileSystem.file(stateFilePath);
@@ -683,7 +712,8 @@
jsonDecode(stateFile.readAsStringSync()),
);
- expect(stdio.error, isNot(contains('Tried to tag the branch point, however')));
+ expect(stdio.error,
+ isNot(contains('Tried to tag the branch point, however')));
expect(processManager, hasNoRemainingExpectations);
expect(state.isInitialized(), true);
expect(state.releaseChannel, releaseChannel);
@@ -694,18 +724,24 @@
expect(state.engine.upstream.url, 'git@github.com:flutter/engine.git');
expect(state.framework.candidateBranch, candidateBranch);
expect(state.framework.startingGitHead, revision3);
- expect(state.framework.upstream.url, 'git@github.com:flutter/flutter.git');
+ expect(
+ state.framework.upstream.url, 'git@github.com:flutter/flutter.git');
expect(state.currentPhase, ReleasePhase.APPLY_ENGINE_CHERRYPICKS);
expect(state.conductorVersion, conductorVersion);
expect(state.releaseType, ReleaseType.BETA_HOTFIX);
- expect(stdio.error, contains('Parsed version $previousVersion.42 has a different x value than candidate branch $candidateBranch'));
+ expect(
+ stdio.error,
+ contains(
+ 'Parsed version $previousVersion.42 has a different x value than candidate branch $candidateBranch'));
});
test('can convert from dev style version to stable version', () async {
const String revision2 = 'def789';
const String revision3 = '123abc';
- const String previousDartRevision = '171876a4e6cf56ee6da1f97d203926bd7afda7ef';
- const String nextDartRevision = 'f6c91128be6b77aef8351e1e3a9d07c85bc2e46e';
+ const String previousDartRevision =
+ '171876a4e6cf56ee6da1f97d203926bd7afda7ef';
+ const String nextDartRevision =
+ 'f6c91128be6b77aef8351e1e3a9d07c85bc2e46e';
const String previousVersion = '1.2.0-3.0.pre';
const String nextVersion = '1.2.0';
@@ -730,7 +766,8 @@
onRun: () {
// Create the DEPS file which the tool will update
engine.createSync(recursive: true);
- depsFile.writeAsStringSync(generateMockDeps(previousDartRevision));
+ depsFile
+ .writeAsStringSync(generateMockDeps(previousDartRevision));
}),
const FakeCommand(
command: <String>['git', 'remote', 'add', 'mirror', engineMirror],
@@ -761,7 +798,12 @@
command: <String>['git', 'add', '--all'],
),
const FakeCommand(
- command: <String>['git', 'commit', '--message', 'Update Dart SDK to $nextDartRevision'],
+ command: <String>[
+ 'git',
+ 'commit',
+ '--message',
+ 'Update Dart SDK to $nextDartRevision',
+ ],
),
const FakeCommand(
command: <String>['git', 'rev-parse', 'HEAD'],
@@ -826,12 +868,23 @@
stdout: revision3,
),
const FakeCommand(
- command: <String>['git', 'merge-base', 'upstream/$candidateBranch', 'upstream/master'],
+ command: <String>[
+ 'git',
+ 'merge-base',
+ 'upstream/$candidateBranch',
+ 'upstream/master'
+ ],
stdout: branchPointRevision,
),
// check if commit is tagged, 0 exit code thus it is tagged
const FakeCommand(
- command: <String>['git', 'describe', '--exact-match', '--tags', branchPointRevision],
+ command: <String>[
+ 'git',
+ 'describe',
+ '--exact-match',
+ '--tags',
+ branchPointRevision,
+ ],
),
];
@@ -849,10 +902,6 @@
await runner.run(<String>[
'start',
- '--$kFrameworkMirrorOption',
- frameworkMirror,
- '--$kEngineMirrorOption',
- engineMirror,
'--$kCandidateOption',
candidateBranch,
'--$kReleaseOption',
@@ -861,6 +910,8 @@
stateFilePath,
'--$kDartRevisionOption',
nextDartRevision,
+ '--$kGithubUsernameOption',
+ githubUsername,
]);
final File stateFile = fileSystem.file(stateFilePath);
@@ -883,14 +934,17 @@
expect(state.conductorVersion, conductorVersion);
expect(state.releaseType, ReleaseType.STABLE_INITIAL);
});
-
- test('StartContext gets engine and framework checkout directories after run', () async {
+ test(
+ 'StartContext gets engine and framework checkout directories after run',
+ () async {
stdio.stdin.add('y');
const String revision2 = 'def789';
const String revision3 = '123abc';
const String branchPointRevision = 'deadbeef';
- const String previousDartRevision = '171876a4e6cf56ee6da1f97d203926bd7afda7ef';
- const String nextDartRevision = 'f6c91128be6b77aef8351e1e3a9d07c85bc2e46e';
+ const String previousDartRevision =
+ '171876a4e6cf56ee6da1f97d203926bd7afda7ef';
+ const String nextDartRevision =
+ 'f6c91128be6b77aef8351e1e3a9d07c85bc2e46e';
const String previousVersion = '1.2.0-1.0.pre';
// This is a git tag applied to the branch point, not an actual release
const String branchPointTag = '1.2.0-3.0.pre';
@@ -921,7 +975,8 @@
onRun: () {
// Create the DEPS file which the tool will update
engine.createSync(recursive: true);
- depsFile.writeAsStringSync(generateMockDeps(previousDartRevision));
+ depsFile
+ .writeAsStringSync(generateMockDeps(previousDartRevision));
}),
const FakeCommand(
command: <String>['git', 'remote', 'add', 'mirror', engineMirror],
@@ -952,7 +1007,12 @@
command: <String>['git', 'add', '--all'],
),
const FakeCommand(
- command: <String>['git', 'commit', '--message', 'Update Dart SDK to $nextDartRevision'],
+ command: <String>[
+ 'git',
+ 'commit',
+ '--message',
+ 'Update Dart SDK to $nextDartRevision'
+ ],
),
const FakeCommand(
command: <String>['git', 'rev-parse', 'HEAD'],
@@ -1014,12 +1074,23 @@
stdout: branchPointRevision,
),
const FakeCommand(
- command: <String>['git', 'merge-base', 'upstream/$candidateBranch', 'upstream/master'],
+ command: <String>[
+ 'git',
+ 'merge-base',
+ 'upstream/$candidateBranch',
+ 'upstream/master'
+ ],
stdout: branchPointRevision,
),
// check if commit is tagged
const FakeCommand(
- command: <String>['git', 'describe', '--exact-match', '--tags', branchPointRevision],
+ command: <String>[
+ 'git',
+ 'describe',
+ '--exact-match',
+ '--tags',
+ branchPointRevision
+ ],
// non-zero exit code means branch point is NOT tagged
exitCode: 128,
),
@@ -1027,7 +1098,12 @@
command: <String>['git', 'tag', branchPointTag, branchPointRevision],
),
const FakeCommand(
- command: <String>['git', 'push', FrameworkRepository.defaultUpstream, branchPointTag],
+ command: <String>[
+ 'git',
+ 'push',
+ FrameworkRepository.defaultUpstream,
+ branchPointTag
+ ],
),
];
@@ -1076,6 +1152,7 @@
releaseChannel: releaseChannel,
processManager: processManager,
conductorVersion: conductorVersion,
+ githubUsername: githubUsername,
stateFile: stateFile,
);
@@ -1086,8 +1163,10 @@
jsonDecode(stateFile.readAsStringSync()),
);
- expect((await startContext.engine.checkoutDirectory).path, equals(engine.path));
- expect((await startContext.framework.checkoutDirectory).path, equals(framework.path));
+ expect((await startContext.engine.checkoutDirectory).path,
+ equals(engine.path));
+ expect((await startContext.framework.checkoutDirectory).path,
+ equals(framework.path));
expect(state.releaseType, ReleaseType.BETA_INITIAL);
expect(processManager, hasNoRemainingExpectations);
});