Handle internal errors within Docker image

Signed-off-by: AKP <tom@tdpain.net>
This commit is contained in:
akp 2023-01-02 15:31:51 +00:00
parent b708f110cc
commit 2f992a8c9f
No known key found for this signature in database
GPG key ID: AA5726202C8879B7
2 changed files with 13 additions and 3 deletions

View file

@ -9,7 +9,7 @@ COMMAND=$3
GIT_TERMINAL_PROMPTS=0
if [[ "$REPO_URL" == "" || "$COMMAND" == "" ]]; then
exit 785 # TODO: Handle this status code in the Docker run logic
exit 250
fi
if [[ $AUTH_STR != "" ]]; then

View file

@ -30,10 +30,16 @@ func enqueueDockerJob(job *dockerJob) {
func StartJobConsumer() {
go func() {
for dj := range jobQueue {
err := runDockerJob(dj)
for job := range jobQueue {
err := runDockerJob(job)
if err != nil {
log.Error().Err(err).Stack().Msg("failed to run Docker job")
if err := ReportRepoStatus(job.RepoOwner, job.RepoName, job.CommitSha, &gitea.CreateStatusOption{
State: gitea.StatusError,
Description: "experienced an internal error and aborted",
}); err != nil {
log.Warn().Err(err).Stack().Msg("unable to report status back to Gitea")
}
}
}
}()
@ -118,6 +124,10 @@ func runDockerJob(job *dockerJob) error {
log.Info().Msgf("finished %d", exitStatusCode)
var statusOpt *gitea.CreateStatusOption
if exitStatusCode == 250 {
return errors.New("runtime error, code 250")
}
if exitStatusCode == 0 {
log.Info().Msgf("removing container %s", container.ID)