Skip to content

Commit

Permalink
Merge branch 'main' into zzc/dev/merg_warning
Browse files Browse the repository at this point in the history
  • Loading branch information
GiteaBot authored Aug 10, 2024
2 parents 54358b2 + df27846 commit 037f1de
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 10 deletions.
13 changes: 13 additions & 0 deletions models/actions/run.go
Original file line number Diff line number Diff line change
Expand Up @@ -361,6 +361,19 @@ func GetRunByIndex(ctx context.Context, repoID, index int64) (*ActionRun, error)
return run, nil
}

func GetLatestRun(ctx context.Context, repoID int64) (*ActionRun, error) {
run := &ActionRun{
RepoID: repoID,
}
has, err := db.GetEngine(ctx).Where("repo_id=?", repoID).Desc("index").Get(run)
if err != nil {
return nil, err
} else if !has {
return nil, fmt.Errorf("latest run with repo_id %d: %w", repoID, util.ErrNotExist)
}
return run, nil
}

func GetWorkflowLatestRun(ctx context.Context, repoID int64, workflowFile, branch, event string) (*ActionRun, error) {
var run ActionRun
q := db.GetEngine(ctx).Where("repo_id=?", repoID).
Expand Down
29 changes: 19 additions & 10 deletions routers/web/repo/actions/view.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,19 @@ import (
"xorm.io/builder"
)

func getRunIndex(ctx *context_module.Context) int64 {
// if run param is "latest", get the latest run index
if ctx.PathParam("run") == "latest" {
if run, _ := actions_model.GetLatestRun(ctx, ctx.Repo.Repository.ID); run != nil {
return run.Index
}
}
return ctx.PathParamInt64("run")
}

func View(ctx *context_module.Context) {
ctx.Data["PageIsActions"] = true
runIndex := ctx.PathParamInt64("run")
runIndex := getRunIndex(ctx)
jobIndex := ctx.PathParamInt64("job")
ctx.Data["RunIndex"] = runIndex
ctx.Data["JobIndex"] = jobIndex
Expand Down Expand Up @@ -130,7 +140,7 @@ type ViewStepLogLine struct {

func ViewPost(ctx *context_module.Context) {
req := web.GetForm(ctx).(*ViewRequest)
runIndex := ctx.PathParamInt64("run")
runIndex := getRunIndex(ctx)
jobIndex := ctx.PathParamInt64("job")

current, jobs := getRunJobs(ctx, runIndex, jobIndex)
Expand Down Expand Up @@ -289,7 +299,7 @@ func ViewPost(ctx *context_module.Context) {
// Rerun will rerun jobs in the given run
// If jobIndexStr is a blank string, it means rerun all jobs
func Rerun(ctx *context_module.Context) {
runIndex := ctx.PathParamInt64("run")
runIndex := getRunIndex(ctx)
jobIndexStr := ctx.PathParam("job")
var jobIndex int64
if jobIndexStr != "" {
Expand Down Expand Up @@ -379,7 +389,7 @@ func rerunJob(ctx *context_module.Context, job *actions_model.ActionRunJob, shou
}

func Logs(ctx *context_module.Context) {
runIndex := ctx.PathParamInt64("run")
runIndex := getRunIndex(ctx)
jobIndex := ctx.PathParamInt64("job")

job, _ := getRunJobs(ctx, runIndex, jobIndex)
Expand Down Expand Up @@ -428,7 +438,7 @@ func Logs(ctx *context_module.Context) {
}

func Cancel(ctx *context_module.Context) {
runIndex := ctx.PathParamInt64("run")
runIndex := getRunIndex(ctx)

_, jobs := getRunJobs(ctx, runIndex, -1)
if ctx.Written() {
Expand Down Expand Up @@ -469,7 +479,7 @@ func Cancel(ctx *context_module.Context) {
}

func Approve(ctx *context_module.Context) {
runIndex := ctx.PathParamInt64("run")
runIndex := getRunIndex(ctx)

current, jobs := getRunJobs(ctx, runIndex, -1)
if ctx.Written() {
Expand Down Expand Up @@ -518,7 +528,6 @@ func getRunJobs(ctx *context_module.Context, runIndex, jobIndex int64) (*actions
return nil, nil
}
run.Repo = ctx.Repo.Repository

jobs, err := actions_model.GetRunJobsByRunID(ctx, run.ID)
if err != nil {
ctx.Error(http.StatusInternalServerError, err.Error())
Expand Down Expand Up @@ -550,7 +559,7 @@ type ArtifactsViewItem struct {
}

func ArtifactsView(ctx *context_module.Context) {
runIndex := ctx.PathParamInt64("run")
runIndex := getRunIndex(ctx)
run, err := actions_model.GetRunByIndex(ctx, ctx.Repo.Repository.ID, runIndex)
if err != nil {
if errors.Is(err, util.ErrNotExist) {
Expand Down Expand Up @@ -588,7 +597,7 @@ func ArtifactsDeleteView(ctx *context_module.Context) {
return
}

runIndex := ctx.PathParamInt64("run")
runIndex := getRunIndex(ctx)
artifactName := ctx.PathParam("artifact_name")

run, err := actions_model.GetRunByIndex(ctx, ctx.Repo.Repository.ID, runIndex)
Expand All @@ -606,7 +615,7 @@ func ArtifactsDeleteView(ctx *context_module.Context) {
}

func ArtifactsDownloadView(ctx *context_module.Context) {
runIndex := ctx.PathParamInt64("run")
runIndex := getRunIndex(ctx)
artifactName := ctx.PathParam("artifact_name")

run, err := actions_model.GetRunByIndex(ctx, ctx.Repo.Repository.ID, runIndex)
Expand Down

0 comments on commit 037f1de

Please sign in to comment.