Not trigger all jobs any more, when re-running the first job (#29439) (#29441)

Backport #29439 by @sillyguodong

Previously, it will be treated as "re-run all jobs" when `jobIndex ==
0`. So when you click re-run button on the first job, it triggers all
the jobs actually.

Caused by #26535.

Co-authored-by: sillyguodong <33891828+sillyguodong@users.noreply.github.com>
(cherry picked from commit 9456deb512db59025cae26d82812ff880c5ea3bc)
This commit is contained in:
Giteabot 2024-02-27 16:18:49 +08:00 committed by Earl Warren
parent 47409b2fa0
commit 40318cf9c3
No known key found for this signature in database
GPG key ID: 0579CB2928A78A00

View file

@ -12,6 +12,7 @@ import (
"io"
"net/http"
"net/url"
"strconv"
"strings"
"time"
@ -260,10 +261,14 @@ func ViewPost(ctx *context_module.Context) {
}
// Rerun will rerun jobs in the given run
// jobIndex = 0 means rerun all jobs
// If jobIndexStr is a blank string, it means rerun all jobs
func Rerun(ctx *context_module.Context) {
runIndex := ctx.ParamsInt64("run")
jobIndex := ctx.ParamsInt64("job")
jobIndexStr := ctx.Params("job")
var jobIndex int64
if jobIndexStr != "" {
jobIndex, _ = strconv.ParseInt(jobIndexStr, 10, 64)
}
run, err := actions_model.GetRunByIndex(ctx, ctx.Repo.Repository.ID, runIndex)
if err != nil {
@ -284,7 +289,7 @@ func Rerun(ctx *context_module.Context) {
return
}
if jobIndex != 0 {
if jobIndexStr != "" {
jobs = []*actions_model.ActionRunJob{job}
}