From a143e33ec975f88805d64f269315071b614b248a Mon Sep 17 00:00:00 2001 From: dusk Date: Sat, 26 Jul 2025 23:36:17 +0300 Subject: [PATCH] knotserver: internal: skip triggering pipeline if commit message contains [skip ci] or [ci skip] Change-Id: mlkoklzmlmtsklxxyzwrkvxtuoszsqon Signed-off-by: dusk --- knotserver/internal.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/knotserver/internal.go b/knotserver/internal.go index 9450e87..a09c3a4 100644 --- a/knotserver/internal.go +++ b/knotserver/internal.go @@ -7,6 +7,7 @@ import ( "log/slog" "net/http" "path/filepath" + "regexp" "strings" securejoin "github.com/cyphar/filepath-securejoin" @@ -164,6 +165,15 @@ func (h *InternalHandle) triggerPipeline(line git.PostReceiveLine, gitUserDid, r return err } + commit, err := gr.Commit(line.NewSha) + if err != nil { + return err + } + skipCi, _ := regexp.MatchString(`\[(skip ci|ci skip)\]`, commit.Message) + if skipCi { + return nil + } + workflowDir, err := gr.FileTree(context.Background(), workflow.WorkflowDir) if err != nil { return err -- 2.43.0