Compare commits

..

3 Commits

Author SHA1 Message Date
Thomas Boop
219852abcb Update releaseVersion 2022-08-31 13:40:17 -04:00
Thomas Boop
8dc5ca2208 2.296.1 Release (#2092)
* docker: escape key-value pair as -e KEY and VALUE being environment var

* removed code duplication, removed unused method and test

* add release notes

Co-authored-by: Nikola Jokic <nikola-jokic@github.com>
2022-08-31 13:39:32 -04:00
Thomas Boop
0f4622653b Update releaseVersion 2022-08-23 10:52:30 -04:00
5 changed files with 15 additions and 49 deletions

View File

@@ -16,7 +16,7 @@ We should give them that option, and publish examples how how they can create th
- For example, the current runner overrides `HOME`, we can do that in the hook, but we shouldn't pass that hook as an ENV with the other env's the user has set, as that is not user input, it is how the runner invokes containers
## Interface
- You will set the variable `ACTIONS_RUNNER_CONTAINER_HOOKS=/Users/foo/runner/hooks.js` which is the entrypoint to your hook handler.
- You will set the variable `ACTIONS_RUNNER_CONTAINER_HOOK=/Users/foo/runner/hooks.js` which is the entrypoint to your hook handler.
- There is no partial opt in, you must handle every hook
- We will pass a command and some args via `stdin`
- An exit code of 0 is a success, every other exit code is a failure

View File

@@ -1 +1 @@
<Update to ./src/runnerversion when creating release>
2.296.1

View File

@@ -585,8 +585,6 @@ namespace GitHub.Runner.Worker
public void ProcessCommand(IExecutionContext context, string inputLine, ActionCommand command, ContainerInfo container)
{
ValidateLinesAndColumns(command, context);
command.Properties.TryGetValue(IssueCommandProperties.File, out string file);
command.Properties.TryGetValue(IssueCommandProperties.Line, out string line);
command.Properties.TryGetValue(IssueCommandProperties.Column, out string column);

View File

@@ -63,8 +63,6 @@ namespace GitHub.Runner.Worker
// Keep track of embedded steps states
Dictionary<Guid, Dictionary<string, string>> EmbeddedIntraActionState { get; }
IList<Issue> EmbeddedIssues { get; }
bool EchoOnActionCommand { get; set; }
bool IsEmbedded { get; }
@@ -93,7 +91,6 @@ namespace GitHub.Runner.Worker
void SetOutput(string name, string value, out string reference);
void SetTimeout(TimeSpan? timeout);
void AddIssue(Issue issue, string message = null);
void AddIssueToTimelineRecord(Issue issue);
void Progress(int percentage, string currentOperation = null);
void UpdateDetailTimelineRecord(TimelineRecord record);
@@ -183,8 +180,6 @@ namespace GitHub.Runner.Worker
public Dictionary<Guid, Dictionary<string, string>> EmbeddedIntraActionState { get; private set; }
public IList<Issue> EmbeddedIssues { get; } = new List<Issue>();
public bool EchoOnActionCommand { get; set; }
// An embedded execution context shares the same record ID, record name, and logger
@@ -580,31 +575,7 @@ namespace GitHub.Runner.Worker
long logLineNumber = Write(WellKnownTags.Error, logMessage);
issue.Data["logFileLineNumber"] = logLineNumber.ToString();
}
}
else if (issue.Type == IssueType.Warning)
{
if (!string.IsNullOrEmpty(logMessage))
{
long logLineNumber = Write(WellKnownTags.Warning, logMessage);
issue.Data["logFileLineNumber"] = logLineNumber.ToString();
}
}
else if (issue.Type == IssueType.Notice)
{
if (!string.IsNullOrEmpty(logMessage))
{
long logLineNumber = Write(WellKnownTags.Notice, logMessage);
issue.Data["logFileLineNumber"] = logLineNumber.ToString();
}
}
AddIssueToTimelineRecord(issue);
}
public void AddIssueToTimelineRecord(Issue issue)
{
ArgUtil.NotNull(issue, nameof(issue));
if (issue.Type == IssueType.Error)
{
if (_record.ErrorCount < _maxIssueCount)
{
_record.Issues.Add(issue);
@@ -614,6 +585,12 @@ namespace GitHub.Runner.Worker
}
else if (issue.Type == IssueType.Warning)
{
if (!string.IsNullOrEmpty(logMessage))
{
long logLineNumber = Write(WellKnownTags.Warning, logMessage);
issue.Data["logFileLineNumber"] = logLineNumber.ToString();
}
if (_record.WarningCount < _maxIssueCount)
{
_record.Issues.Add(issue);
@@ -623,6 +600,12 @@ namespace GitHub.Runner.Worker
}
else if (issue.Type == IssueType.Notice)
{
if (!string.IsNullOrEmpty(logMessage))
{
long logLineNumber = Write(WellKnownTags.Notice, logMessage);
issue.Data["logFileLineNumber"] = logLineNumber.ToString();
}
if (_record.NoticeCount < _maxIssueCount)
{
_record.Issues.Add(issue);
@@ -630,17 +613,8 @@ namespace GitHub.Runner.Worker
_record.NoticeCount++;
}
// Composite actions should never upload a timeline record to the server
// We add these to a list and let composite action handler bubble it up recursively
if (this.IsEmbedded)
{
EmbeddedIssues.Add(issue);
}
else
{
_jobServerQueue.QueueTimelineRecordUpdate(_mainTimelineId, _record);
}
_jobServerQueue.QueueTimelineRecordUpdate(_mainTimelineId, _record);
}
public void UpdateDetailTimelineRecord(TimelineRecord record)

View File

@@ -413,12 +413,6 @@ namespace GitHub.Runner.Worker.Handlers
// Update context
step.ExecutionContext.UpdateGlobalStepsContext();
// Update annotations
foreach (var issue in step.ExecutionContext.EmbeddedIssues)
{
ExecutionContext.AddIssueToTimelineRecord(issue);
}
}
}