syntax = "proto3";

package conductor_state;

// A git remote
message Remote {
  string name = 1;
  string url = 2;
}

enum ReleasePhase {
  // Release was started with `conductor start` and repositories cloned.
  APPLY_ENGINE_CHERRYPICKS = 0;
  CODESIGN_ENGINE_BINARIES = 1;
  APPLY_FRAMEWORK_CHERRYPICKS = 2;

  // Git tag applied to framework RC branch HEAD and pushed upstream.
  PUBLISH_VERSION = 3;

  // RC branch HEAD pushed to upstream release branch.
  //
  // For example, flutter-1.2-candidate.3 -> upstream/beta
  PUBLISH_CHANNEL = 4;

  // Package artifacts verified to exist on cloud storage.
  VERIFY_RELEASE = 5;

  // There is no further work to be done.
  RELEASE_COMPLETED = 6;
}

enum CherrypickState {
  // The cherrypick has not yet been applied.
  PENDING = 0;

  // The cherrypick has not been applied and will require manual resolution.
  PENDING_WITH_CONFLICT = 1;

  // The cherrypick has been successfully applied to the local checkout.
  //
  // This state requires Cherrypick.appliedRevision to also be set.
  COMPLETED = 2;

  // The cherrypick will NOT be applied in this release.
  ABANDONED = 3;
}

message Cherrypick {
  // The revision on trunk to cherrypick.
  string trunkRevision = 1;

  // Once applied, the actual commit revision of the cherrypick.
  string appliedRevision = 2;

  CherrypickState state = 3;
}

message Repository {
  // The development git branch the release is based on.
  //
  // Must be of the form /flutter-(\d+)\.(\d+)-candidate\.(\d+)/
  string candidateBranch = 1;

  // The commit hash at the tip of the branch before cherrypicks were applied.
  string startingGitHead = 2;

  // The difference in commits between this and [startingGitHead] is the number
  // of cherrypicks that have been currently applied.
  string currentGitHead = 3;

  // Path to the git checkout on local disk.
  string checkoutPath = 4;

  // The remote commits will be fetched from.
  Remote upstream = 5;

  // The remote cherrypicks will be pushed to create a Pull Request.
  //
  // This should be a mirror owned by the user conducting the release.
  Remote mirror = 6;

  // Desired cherrypicks.
  repeated Cherrypick cherrypicks = 7;

  // Only for engine repositories.
  string dartRevision = 8;

  // Name of local and remote branch for applying cherrypicks.
  //
  // When the pull request is merged, all commits here will be squashed to a
  // single commit on the [candidateBranch].
  string workingBranch = 9;
}

message ConductorState {
  // One of 'stable', 'beta', or 'dev'
  string releaseChannel = 1;

  // The name of the release.
  string releaseVersion = 2;

  Repository engine = 4;
  Repository framework = 5;
  int64 createdDate = 6;
  int64 lastUpdatedDate = 7;

  repeated string logs = 8;

  // The current [ReleasePhase] that has yet to be completed.
  ReleasePhase currentPhase = 9;

  // Commit hash of the Conductor tool.
  string conductorVersion = 10;

  // One of x, y, z, m, or n.
  string incrementLevel = 11;
}
