Skip to content

Commit 1ebf44e

Browse files
committed
fix(runners): Fix Windows user data YAML parsing error for CloudWatch agent
Replace PowerShell heredoc (@"..."@) with inline string concatenation for the CloudWatch agent config. The heredoc terminator "@ at column 1 broke out of the YAML literal block scalar (content: |-), causing EC2Launch to fail to parse user data entirely. This prevented the GitHub Actions runner from being installed on Windows instances. Signed-off-by: ayush-panta <ayushkp@amazon.com>
1 parent ce7d16e commit 1ebf44e

1 file changed

Lines changed: 1 addition & 30 deletions

File tree

scripts/windows-runner-user-data.yaml

Lines changed: 1 addition & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -163,36 +163,7 @@ tasks:
163163
164164
$Token = Invoke-RestMethod -Uri http://169.254.169.254/latest/api/token -Method PUT -Headers @{"X-aws-ec2-metadata-token-ttl-seconds"="21600"}
165165
$CWInstanceId = Invoke-RestMethod -Uri http://169.254.169.254/latest/meta-data/instance-id -Headers @{"X-aws-ec2-metadata-token"=$Token}
166-
$CWConfig = @"
167-
{
168-
"logs": {
169-
"logs_collected": {
170-
"files": {
171-
"collect_list": [
172-
{
173-
"file_path": "C:\\actions-runner\\_diag\\Runner_*.log",
174-
"log_group_name": "/ec2/runners/$REPO/amd64-windows",
175-
"log_stream_name": "$CWInstanceId/runner-diag",
176-
"retention_in_days": 30
177-
},
178-
{
179-
"file_path": "C:\\UserData.log",
180-
"log_group_name": "/ec2/runners/$REPO/amd64-windows",
181-
"log_stream_name": "$CWInstanceId/userdata",
182-
"retention_in_days": 30
183-
},
184-
{
185-
"file_path": "C:\\StartupScript.log",
186-
"log_group_name": "/ec2/runners/$REPO/amd64-windows",
187-
"log_stream_name": "$CWInstanceId/startup",
188-
"retention_in_days": 30
189-
}
190-
]
191-
}
192-
}
193-
}
194-
}
195-
"@
166+
$CWConfig = '{"logs":{"logs_collected":{"files":{"collect_list":[{"file_path":"C:\\actions-runner\\_diag\\Runner_*.log","log_group_name":"/ec2/runners/' + $REPO + '/amd64-windows","log_stream_name":"' + $CWInstanceId + '/runner-diag","retention_in_days":30},{"file_path":"C:\\UserData.log","log_group_name":"/ec2/runners/' + $REPO + '/amd64-windows","log_stream_name":"' + $CWInstanceId + '/userdata","retention_in_days":30},{"file_path":"C:\\StartupScript.log","log_group_name":"/ec2/runners/' + $REPO + '/amd64-windows","log_stream_name":"' + $CWInstanceId + '/startup","retention_in_days":30}]}}}}'
196167
Set-Content 'C:\ProgramData\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent.json' $CWConfig
197168
& 'C:\Program Files\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1' -a fetch-config -m ec2 -c file:C:\ProgramData\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent.json -s
198169

0 commit comments

Comments
 (0)