diff --git a/models/actions/schedule_test.go b/models/actions/schedule_test.go index 016185cb42..41a61e45eb 100644 --- a/models/actions/schedule_test.go +++ b/models/actions/schedule_test.go @@ -56,7 +56,7 @@ jobs: WorkflowID: "test.yaml", WorkflowDirectory: ".forgejo/workflows", TriggerUserID: -2, - Ref: "main", + Ref: "refs/heads/main", CommitSHA: "6af834a5bc97c1a337eb3a21d26903c5cdceca0c", Event: webhook.HookEventPush, EventPayload: "{\"action\":\"schedule\"}", @@ -75,7 +75,7 @@ jobs: assert.Equal(t, "test.yaml", schedules[0].WorkflowID) assert.Equal(t, ".forgejo/workflows", schedules[0].WorkflowDirectory) assert.Equal(t, int64(-2), schedules[0].TriggerUserID) - assert.Equal(t, "main", schedules[0].Ref) + assert.Equal(t, "refs/heads/main", schedules[0].Ref) assert.Equal(t, "6af834a5bc97c1a337eb3a21d26903c5cdceca0c", schedules[0].CommitSHA) assert.Equal(t, webhook.HookEventPush, schedules[0].Event) assert.JSONEq(t, "{\"action\":\"schedule\"}", schedules[0].EventPayload) diff --git a/services/actions/notifier_helper.go b/services/actions/notifier_helper.go index 5e048a83ad..5e1cf261ab 100644 --- a/services/actions/notifier_helper.go +++ b/services/actions/notifier_helper.go @@ -598,7 +598,7 @@ func handleSchedules( WorkflowID: dwf.EntryName, WorkflowDirectory: dwf.EntryDirectory, TriggerUserID: user_model.ActionsUserID, - Ref: input.Repo.DefaultBranch, + Ref: input.Ref.String(), CommitSHA: commit.ID.String(), Event: input.Event, EventPayload: string(p), @@ -639,7 +639,8 @@ func DetectAndHandleSchedules(ctx context.Context, repo *repo_model.Repository) // We need a notifyInput to call handleSchedules // if repo is a mirror, commit author maybe an external user, // so we use action user as the Doer of the notifyInput - notifyInput := newNotifyInputForSchedules(repo) + notifyInput := newNotifyInputForSchedules(repo). + WithRef(git.RefNameFromBranch(repo.DefaultBranch).String()) return handleSchedules(ctx, scheduleWorkflows, commit, notifyInput, repo.DefaultBranch) } diff --git a/tests/integration/actions_trigger_test.go b/tests/integration/actions_trigger_test.go index 5bd0397498..2556a9eb2f 100644 --- a/tests/integration/actions_trigger_test.go +++ b/tests/integration/actions_trigger_test.go @@ -1289,6 +1289,7 @@ jobs: assert.Equal(t, repo.OwnerID, schedules[0].OwnerID) assert.Equal(t, testCase.workflowID, schedules[0].WorkflowID) assert.Equal(t, testCase.workflowDirectory, schedules[0].WorkflowDirectory) + assert.Equal(t, "refs/heads/main", schedules[0].Ref) assert.Equal(t, int64(-2), schedules[0].TriggerUserID) assert.Equal(t, sha, schedules[0].CommitSHA) assert.Equal(t, webhook_module.HookEventPush, schedules[0].Event) diff --git a/tests/integration/change_default_branch_test.go b/tests/integration/change_default_branch_test.go index 610e3d07c1..f0aa53cb7d 100644 --- a/tests/integration/change_default_branch_test.go +++ b/tests/integration/change_default_branch_test.go @@ -167,12 +167,12 @@ jobs: err = repo_service.SetRepoDefaultBranch(t.Context(), repo, gitRepo, "test") require.NoError(t, err) - assertSchedule(t, "test", testWorkflow.updatedWorkflowContent, expectedTestSpec) + assertSchedule(t, "refs/heads/test", testWorkflow.updatedWorkflowContent, expectedTestSpec) // change default branch to main err = repo_service.SetRepoDefaultBranch(t.Context(), repo, gitRepo, "main") require.NoError(t, err) - assertSchedule(t, "main", testWorkflow.workflowContent, expectedMainSpec) + assertSchedule(t, "refs/heads/main", testWorkflow.workflowContent, expectedMainSpec) }) }