项目文件夹

文件
wehub-resource-sync 26f897c1ec
release / release-please (push) Failing after 1m49s
docs / build (push) Failing after 6m34s
release / build-and-upload (arm64, linux) (push) Has been cancelled
release / build-and-upload (arm64, windows) (push) Has been cancelled
release / build-darwin (amd64, darwin) (push) Has been cancelled
release / checksums (push) Has been cancelled
release / finalize (push) Has been cancelled
release / build-darwin (arm64, darwin) (push) Has been cancelled
release / build-and-upload (amd64, linux) (push) Has been cancelled
release / build-and-upload (amd64, windows) (push) Has been cancelled
docs / deploy (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:34:16 +08:00

50 行
979 B
Go

package lifecycle
import (
"errors"
"fmt"
"os"
"github.com/kunchenguid/no-mistakes/internal/db"
"github.com/kunchenguid/no-mistakes/internal/paths"
)
// ActiveRuns returns all pending/running pipeline runs from the local state DB.
func ActiveRuns(p *paths.Paths) ([]*db.Run, error) {
if p == nil {
return nil, nil
}
dbPath := p.DB()
if _, err := os.Stat(dbPath); err != nil {
if errors.Is(err, os.ErrNotExist) {
return nil, nil
}
return nil, fmt.Errorf("stat database: %w", err)
}
database, err := db.Open(dbPath)
if err != nil {
return nil, err
}
defer database.Close()
return database.GetActiveRuns()
}
func RunList(runs []*db.Run) string {
if len(runs) == 0 {
return ""
}
out := "active pipeline runs:\n"
for _, run := range runs {
out += fmt.Sprintf(" %s %s %s %s\n", run.ID, run.Status, run.Branch, ShortSHA(run.HeadSHA))
}
return out
}
func ShortSHA(sha string) string {
if len(sha) <= 8 {
return sha
}
return sha[:8]
}