@@ -74,6 +74,13 @@ func (run *ActionRun) Link() string { | |||
return fmt.Sprintf("%s/actions/runs/%d", run.Repo.Link(), run.Index) | |||
} | |||
func (run *ActionRun) WorkflowLink() string { | |||
if run.Repo == nil { | |||
return "" | |||
} | |||
return fmt.Sprintf("%s/actions/?workflow=%s", run.Repo.Link(), run.WorkflowID) | |||
} | |||
// RefLink return the url of run's ref | |||
func (run *ActionRun) RefLink() string { | |||
refName := git.RefName(run.Ref) | |||
@@ -146,6 +153,10 @@ func (run *ActionRun) GetPullRequestEventPayload() (*api.PullRequestPayload, err | |||
return nil, fmt.Errorf("event %s is not a pull request event", run.Event) | |||
} | |||
func (run *ActionRun) IsSchedule() bool { | |||
return run.ScheduleID > 0 | |||
} | |||
func updateRepoRunsNumbers(ctx context.Context, repo *repo_model.Repository) error { | |||
_, err := db.GetEngine(ctx).ID(repo.ID). | |||
SetExpr("num_action_runs", |
@@ -67,6 +67,9 @@ type ViewResponse struct { | |||
CanRerun bool `json:"canRerun"` | |||
CanDeleteArtifact bool `json:"canDeleteArtifact"` | |||
Done bool `json:"done"` | |||
WorkflowID string `json:"workflowID"` | |||
WorkflowLink string `json:"workflowLink"` | |||
IsSchedule bool `json:"isSchedule"` | |||
Jobs []*ViewJob `json:"jobs"` | |||
Commit ViewCommit `json:"commit"` | |||
} `json:"run"` | |||
@@ -90,12 +93,10 @@ type ViewJob struct { | |||
} | |||
type ViewCommit struct { | |||
LocaleCommit string `json:"localeCommit"` | |||
LocalePushedBy string `json:"localePushedBy"` | |||
ShortSha string `json:"shortSHA"` | |||
Link string `json:"link"` | |||
Pusher ViewUser `json:"pusher"` | |||
Branch ViewBranch `json:"branch"` | |||
ShortSha string `json:"shortSHA"` | |||
Link string `json:"link"` | |||
Pusher ViewUser `json:"pusher"` | |||
Branch ViewBranch `json:"branch"` | |||
} | |||
type ViewUser struct { | |||
@@ -151,6 +152,9 @@ func ViewPost(ctx *context_module.Context) { | |||
resp.State.Run.CanRerun = run.Status.IsDone() && ctx.Repo.CanWrite(unit.TypeActions) | |||
resp.State.Run.CanDeleteArtifact = run.Status.IsDone() && ctx.Repo.CanWrite(unit.TypeActions) | |||
resp.State.Run.Done = run.Status.IsDone() | |||
resp.State.Run.WorkflowID = run.WorkflowID | |||
resp.State.Run.WorkflowLink = run.WorkflowLink() | |||
resp.State.Run.IsSchedule = run.IsSchedule() | |||
resp.State.Run.Jobs = make([]*ViewJob, 0, len(jobs)) // marshal to '[]' instead fo 'null' in json | |||
resp.State.Run.Status = run.Status.String() | |||
for _, v := range jobs { | |||
@@ -172,12 +176,10 @@ func ViewPost(ctx *context_module.Context) { | |||
Link: run.RefLink(), | |||
} | |||
resp.State.Run.Commit = ViewCommit{ | |||
LocaleCommit: ctx.Locale.TrString("actions.runs.commit"), | |||
LocalePushedBy: ctx.Locale.TrString("actions.runs.pushed_by"), | |||
ShortSha: base.ShortSha(run.CommitSHA), | |||
Link: fmt.Sprintf("%s/commit/%s", run.Repo.Link(), run.CommitSHA), | |||
Pusher: pusher, | |||
Branch: branch, | |||
ShortSha: base.ShortSha(run.CommitSHA), | |||
Link: fmt.Sprintf("%s/commit/%s", run.Repo.Link(), run.CommitSHA), | |||
Pusher: pusher, | |||
Branch: branch, | |||
} | |||
var task *actions_model.ActionTask |
@@ -15,7 +15,7 @@ | |||
{{if .Title}}{{.Title}}{{else}}{{ctx.Locale.Tr "actions.runs.empty_commit_message"}}{{end}} | |||
</a> | |||
<div class="flex-item-body"> | |||
<b>{{if not $.CurWorkflow}}{{.WorkflowID}} {{end}}#{{.Index}}</b>: | |||
<span><b>{{if not $.CurWorkflow}}{{.WorkflowID}} {{end}}#{{.Index}}</b>:</span> | |||
{{- if .ScheduleID -}} | |||
{{ctx.Locale.Tr "actions.runs.scheduled"}} | |||
{{- else -}} |
@@ -10,6 +10,9 @@ | |||
data-locale-cancel="{{ctx.Locale.Tr "cancel"}}" | |||
data-locale-rerun="{{ctx.Locale.Tr "rerun"}}" | |||
data-locale-rerun-all="{{ctx.Locale.Tr "rerun_all"}}" | |||
data-locale-runs-scheduled="{{ctx.Locale.Tr "actions.runs.scheduled"}}" | |||
data-locale-runs-commit="{{ctx.Locale.Tr "actions.runs.commit"}}" | |||
data-locale-runs-pushed-by="{{ctx.Locale.Tr "actions.runs.pushed_by"}}" | |||
data-locale-status-unknown="{{ctx.Locale.Tr "actions.status.unknown"}}" | |||
data-locale-status-waiting="{{ctx.Locale.Tr "actions.status.waiting"}}" | |||
data-locale-status-running="{{ctx.Locale.Tr "actions.status.running"}}" |
@@ -44,6 +44,9 @@ const sfc = { | |||
canApprove: false, | |||
canRerun: false, | |||
done: false, | |||
workflowID: '', | |||
workflowLink: '', | |||
isSchedule: false, | |||
jobs: [ | |||
// { | |||
// id: 0, | |||
@@ -338,10 +341,13 @@ export function initRepositoryActionView() { | |||
approve: el.getAttribute('data-locale-approve'), | |||
cancel: el.getAttribute('data-locale-cancel'), | |||
rerun: el.getAttribute('data-locale-rerun'), | |||
rerun_all: el.getAttribute('data-locale-rerun-all'), | |||
scheduled: el.getAttribute('data-locale-runs-scheduled'), | |||
commit: el.getAttribute('data-locale-runs-commit'), | |||
pushedBy: el.getAttribute('data-locale-runs-pushed-by'), | |||
artifactsTitle: el.getAttribute('data-locale-artifacts-title'), | |||
areYouSure: el.getAttribute('data-locale-are-you-sure'), | |||
confirmDeleteArtifact: el.getAttribute('data-locale-confirm-delete-artifact'), | |||
rerun_all: el.getAttribute('data-locale-rerun-all'), | |||
showTimeStamps: el.getAttribute('data-locale-show-timestamps'), | |||
showLogSeconds: el.getAttribute('data-locale-show-log-seconds'), | |||
showFullScreen: el.getAttribute('data-locale-show-full-screen'), | |||
@@ -382,10 +388,16 @@ export function initRepositoryActionView() { | |||
</button> | |||
</div> | |||
<div class="action-commit-summary"> | |||
{{ run.commit.localeCommit }} | |||
<a class="muted" :href="run.commit.link">{{ run.commit.shortSHA }}</a> | |||
{{ run.commit.localePushedBy }} | |||
<a class="muted" :href="run.commit.pusher.link">{{ run.commit.pusher.displayName }}</a> | |||
<span><a class="muted" :href="run.workflowLink"><b>{{ run.workflowID }}</b></a>:</span> | |||
<template v-if="run.isSchedule"> | |||
{{ locale.scheduled }} | |||
</template> | |||
<template v-else> | |||
{{ locale.commit }} | |||
<a class="muted" :href="run.commit.link">{{ run.commit.shortSHA }}</a> | |||
{{ locale.pushedBy }} | |||
<a class="muted" :href="run.commit.pusher.link">{{ run.commit.pusher.displayName }}</a> | |||
</template> | |||
<span class="ui label tw-max-w-full" v-if="run.commit.shortSHA"> | |||
<a class="gt-ellipsis" :href="run.commit.branch.link">{{ run.commit.branch.name }}</a> | |||
</span> |