mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 21:28:11 +09:00 
			
		
		
		
	This commit is contained in:
		| @@ -311,6 +311,10 @@ func matchPushEvent(commit *git.Commit, pushPayload *api.PushPayload, evt *jobpa | |||||||
| 				matchTimes++ | 				matchTimes++ | ||||||
| 			} | 			} | ||||||
| 		case "paths": | 		case "paths": | ||||||
|  | 			if refName.IsTag() { | ||||||
|  | 				matchTimes++ | ||||||
|  | 				break | ||||||
|  | 			} | ||||||
| 			filesChanged, err := commit.GetFilesChangedSinceCommit(pushPayload.Before) | 			filesChanged, err := commit.GetFilesChangedSinceCommit(pushPayload.Before) | ||||||
| 			if err != nil { | 			if err != nil { | ||||||
| 				log.Error("GetFilesChangedSinceCommit [commit_sha1: %s]: %v", commit.ID.String(), err) | 				log.Error("GetFilesChangedSinceCommit [commit_sha1: %s]: %v", commit.ID.String(), err) | ||||||
| @@ -324,6 +328,10 @@ func matchPushEvent(commit *git.Commit, pushPayload *api.PushPayload, evt *jobpa | |||||||
| 				} | 				} | ||||||
| 			} | 			} | ||||||
| 		case "paths-ignore": | 		case "paths-ignore": | ||||||
|  | 			if refName.IsTag() { | ||||||
|  | 				matchTimes++ | ||||||
|  | 				break | ||||||
|  | 			} | ||||||
| 			filesChanged, err := commit.GetFilesChangedSinceCommit(pushPayload.Before) | 			filesChanged, err := commit.GetFilesChangedSinceCommit(pushPayload.Before) | ||||||
| 			if err != nil { | 			if err != nil { | ||||||
| 				log.Error("GetFilesChangedSinceCommit [commit_sha1: %s]: %v", commit.ID.String(), err) | 				log.Error("GetFilesChangedSinceCommit [commit_sha1: %s]: %v", commit.ID.String(), err) | ||||||
|   | |||||||
| @@ -125,6 +125,24 @@ func TestDetectMatched(t *testing.T) { | |||||||
| 			yamlOn:       "on: schedule", | 			yamlOn:       "on: schedule", | ||||||
| 			expected:     true, | 			expected:     true, | ||||||
| 		}, | 		}, | ||||||
|  | 		{ | ||||||
|  | 			desc:         "push to tag matches workflow with paths condition (should skip paths check)", | ||||||
|  | 			triggedEvent: webhook_module.HookEventPush, | ||||||
|  | 			payload: &api.PushPayload{ | ||||||
|  | 				Ref:    "refs/tags/v1.0.0", | ||||||
|  | 				Before: "0000000", | ||||||
|  | 				Commits: []*api.PayloadCommit{ | ||||||
|  | 					{ | ||||||
|  | 						ID:      "abcdef123456", | ||||||
|  | 						Added:   []string{"src/main.go"}, | ||||||
|  | 						Message: "Release v1.0.0", | ||||||
|  | 					}, | ||||||
|  | 				}, | ||||||
|  | 			}, | ||||||
|  | 			commit:   nil, | ||||||
|  | 			yamlOn:   "on:\n  push:\n    paths:\n      - src/**", | ||||||
|  | 			expected: true, | ||||||
|  | 		}, | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	for _, tc := range testCases { | 	for _, tc := range testCases { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user