Example #1
0
        internal static bool TryGetFailureInfo(string[] consoleTextLines, out JobFailureInfo failureInfo)
        {
            JobFailureReason? reason = null;
            var list = new List<string>();

            foreach (var line in consoleTextLines)
            {
                foreach (var tuple in s_allChecks)
                {
                    if (tuple.Item1.IsMatch(line))
                    {
                        reason = reason ?? tuple.Item2;
                        list.Add(line);
                        break;
                    }
                }
            }

            if (reason != null)
            {
                failureInfo = new JobFailureInfo(reason.Value, list);
                return true;
            }

            failureInfo = null;
            return false;
        }
Example #2
0
        public void InsertFailure(JobInfo info, JobFailureInfo failureInfo)
        {
            var commandText = @"
                INSERT INTO dbo.Failures (Id, Sha, Reason, Messages)
                VALUES (@Id, @Sha, @Reason, @Messages)";
            using (var command = new SqlCommand(commandText, _connection))
            {
                var p = command.Parameters;
                p.AddWithValue("@Id", GetKey(info.Id));
                p.AddWithValue("@Sha", info.PullRequestInfo.Sha1);
                p.AddWithValue("@Reason", failureInfo.Reason.ToString());
                p.AddWithValue("@Messages", string.Join(";", failureInfo.Messages));

                try
                {
                    command.ExecuteNonQuery();
                }
                catch (Exception ex)
                {
                    Console.WriteLine($"Could not insert failure {info.Id}");
                    Console.WriteLine(ex.Message);
                }
            }
        }
Example #3
0
 internal static bool TryGetFailureInfo(string consoleText, out JobFailureInfo failureInfo)
 {
     var lines = consoleText.Split(new[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries);
     return TryGetFailureInfo(lines, out failureInfo);
 }
Example #4
0
 public JobResult(JobInfo jobInfo, JobFailureInfo failureInfo)
 {
     _jobInfo = jobInfo;
     _failureInfo = failureInfo;
 }