MCPcopy Create free account
hub / github.com/github/gh-aw / generateSquidLogsUploadStep

Function generateSquidLogsUploadStep

pkg/workflow/engine_firewall_support.go:100–122  ·  view source on GitHub ↗

generateSquidLogsUploadStep creates a GitHub Actions step to upload Squid logs as artifact.

(workflowName string, workflowData *WorkflowData)

Source from the content-addressed store, hash-verified

98
99// generateSquidLogsUploadStep creates a GitHub Actions step to upload Squid logs as artifact.
100func generateSquidLogsUploadStep(workflowName string, workflowData *WorkflowData) GitHubActionStep {
101 sanitizedName := strings.ToLower(SanitizeWorkflowName(workflowName))
102 artifactName := "firewall-logs-" + sanitizedName
103 // Firewall logs location: /tmp/gh-aw on standard runners, ${{ runner.temp }}/gh-aw on ARC/DinD.
104 // Use ${{ runner.temp }} (Actions expression) because `with:` blocks don't expand shell vars.
105 firewallLogsDir := constants.AWFProxyLogsDir + "/"
106 if isArcDindTopology(workflowData) {
107 firewallLogsDir = "${{ runner.temp }}/gh-aw/sandbox/firewall/logs/"
108 }
109
110 stepLines := []string{
111 " - name: Upload Firewall Logs",
112 " if: always()",
113 " continue-on-error: true",
114 " uses: " + getActionPin("actions/upload-artifact"),
115 " with:",
116 " name: " + artifactName,
117 " path: " + firewallLogsDir,
118 " if-no-files-found: ignore",
119 }
120
121 return GitHubActionStep(stepLines)
122}
123
124// generateFirewallLogParsingStep creates a GitHub Actions step to parse firewall logs and create step summary.
125func generateFirewallLogParsingStep(workflowName string, workflowData *WorkflowData) GitHubActionStep {

Callers 1

defaultGetSquidLogsStepsFunction · 0.85

Calls 5

SanitizeWorkflowNameFunction · 0.85
isArcDindTopologyFunction · 0.85
getActionPinFunction · 0.85
GitHubActionStepTypeAlias · 0.85
ToLowerMethod · 0.80

Tested by

no test coverage detected