feat: update job logs as artifact on agent serve #183
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Currently, the agent only uploads job logs as an artifact if the job comes through the sync protocol (agent start). This pull request changes the agent, so it also uploads an artifact for the job logs (if needed) when the request comes through the agent's HTTP server.
It changes the HTTP server to use the
SEMAPHORE_AGENT_UPLOAD_JOB_LOGS
environment variable in job request to control whether logs should be uploaded as an artifact. The possible values are the same ones as the self-hosted agent configuration.Additional changes
A new
max_size_in_bytes
field is added to thelogger
field in the job request object as well. If that field is not present (=0), we set it to 16MB. That field allows us to decrease the threshold for what a trimmed log is considered for a cloud job (which we intend to do) without changing the agent again.