updateLatestTag function

Future<void> updateLatestTag({
  1. required SimpleGitHub sgh,
  2. required PubSpec pubspec,
})

update 'latest.

Implementation

Future<void> updateLatestTag(
    {required SimpleGitHub sgh, required PubSpec pubspec}) async {
  final latestTagName = 'latest.${io.Platform.operatingSystem}';
  print('Updating $latestTagName tag to point to "${pubspec.version}"');

  /// Delete the existing 'latest' tag and release.
  final latestRelease = await sgh.getReleaseByTagName(tagName: latestTagName);
  if (latestRelease != null) {
    print("Deleting pre-existing '$latestTagName' tag and release");
    sgh
      ..deleteRelease(latestRelease)
      ..deleteTag(latestTagName);
  }

  /// create new latest tag and release.
  await _createRelease(sgh: sgh, pubspec: pubspec, tagName: latestTagName);
}