Exemplo n.º 1
0
        void OnRepositoryChange(GithubRepository repository, List <Commit> commits)
        {
            foreach (var commit in commits)
            {
                if (commit.BuildSet != null)
                {
                    continue;
                }

                // Spawn a set of builds for this commit.
                var buildSet = new BuildSet {
                    Commit = commit
                };

                commit.BuildSet = buildSet;

                Branch branch;
                commit.Branch.TryGetTarget(out branch);

                Repository repo;
                branch.Repository.TryGetTarget(out repo);

                var buildConfiguration = repo.Project.DefaultBuildConfiguration;
                buildConfiguration.Directory = Options.OutputDir;

                Log.Message("Spawning new build for {0}/{1}", repo.Project.Name,
                            commit.ToString());

                var build = new Build(repo.Project, commit, buildConfiguration);
                buildSet.Builds.Add(build);

                Database.AddBuild(build);

                BuildQueue.AddBuild(build);
            }
        }