feat(actions): List workflows that were executed once but got removed from the default branch (#37835)

This commit is contained in:
Nicolas
2026-05-25 16:41:36 +02:00
committed by GitHub
parent 2775158024
commit d93bbcc0a6
12 changed files with 138 additions and 30 deletions
+12
View File
@@ -132,6 +132,18 @@ func GetStatusInfoList(ctx context.Context, lang translation.Locale) []StatusInf
return statusInfoList
}
// GetRunWorkflowIDs returns all distinct WorkflowIDs that have at least
// one ActionRun in the given repo.
func GetRunWorkflowIDs(ctx context.Context, repoID int64) ([]string, error) {
ids := make([]string, 0, 10)
return ids, db.GetEngine(ctx).Table("action_run").
Where(builder.Eq{"repo_id": repoID}).
Distinct("workflow_id").
Cols("workflow_id").
Asc("workflow_id").
Find(&ids)
}
// GetActors returns a slice of Actors
func GetActors(ctx context.Context, repoID int64) ([]*user_model.User, error) {
actors := make([]*user_model.User, 0, 10)
+24
View File
@@ -0,0 +1,24 @@
// Copyright 2026 The Gitea Authors. All rights reserved.
// SPDX-License-Identifier: MIT
package actions
import (
"testing"
"code.gitea.io/gitea/models/unittest"
"github.com/stretchr/testify/assert"
)
func TestGetRunWorkflowIDs(t *testing.T) {
assert.NoError(t, unittest.PrepareTestDatabase())
ids, err := GetRunWorkflowIDs(t.Context(), 4)
assert.NoError(t, err)
assert.Equal(t, []string{"artifact.yaml", "test.yaml"}, ids)
ids, err = GetRunWorkflowIDs(t.Context(), 999999)
assert.NoError(t, err)
assert.Empty(t, ids)
}