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)
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",
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"`
}
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 {
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 {
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
{{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 -}}
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"}}"
canApprove: false,
canRerun: false,
done: false,
+ workflowID: '',
+ workflowLink: '',
+ isSchedule: false,
jobs: [
// {
// id: 0,
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'),
</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>