From 64415df08d301e08a151f09337dce994e72beb07 Mon Sep 17 00:00:00 2001 From: benebsiny Date: Sun, 18 Aug 2024 16:57:19 +0800 Subject: [PATCH] fix the trimming of log filenames for `gh run view` --- pkg/cmd/run/view/fixtures/run_log.zip | Bin 6822 -> 6880 bytes pkg/cmd/run/view/view.go | 1 + pkg/cmd/run/view/view_test.go | 12 ++++++++++++ 3 files changed, 13 insertions(+) diff --git a/pkg/cmd/run/view/fixtures/run_log.zip b/pkg/cmd/run/view/fixtures/run_log.zip index 2422c3b2496a37b98c164713aee746f65ce150d1..757a6398307d835f12293e64b602d58ebc965308 100644 GIT binary patch delta 1524 zcmZ2x`oMI;d`5=Jfdb+aw=ZU8W)Wdvn9M6EzPXL@731UvW=~!Q1`dWRNi`AAzJ5&L zo_vith>4kHa-WdYAu~ZGtp23l{?jaBSKi24+ABQJ|{?IK*TFykRCPs&#^G6$YwM z1Y&iFipln(LI$T#`iGx5dB!``;7OBluYgao9s@!n$moeymdif@HL*xAFvx*5%GbZW zaWLzUgGlSc;^mPncX(n;XQ~U-G;8d7v5WtLRCJ*t%Mqu-sdM{tkKa+&$jV$;pnQ+N zEq+o@+SD@~4sP?`Gb=3Xx7>2$(V{tzeG**VfAw*(UW<63{I&dBvAp2{?Pn|epM}pz zYUTa)@`U)c^QWuAbYFLwTl*~DpZ)NeMfAC8^_!pOl(uAil6%(!Wc_{kGhl=2?Tpsv z%(G?BcIF(Mma|wiPW(pC*_$WCa!#5>*==c=&HqrJyIeykGS9(fd3pEdr&0W~cGUm( zU-$n1|M?)(dQu)w|G1*|WSrOzfeLGxABlnjU(O#|zWBA(c7cLzbN1#V1xge9{xI&2 z0~V%}6F9rsz=6y$nUU+cI0FX;k6j= zk_?69{G9weeS|}?L_2mZhVf}YLrOAI6_OH*s`N@KO5mx26P_$4&*R?&PW-!pB(I<% zW5i^A!DGyE%nXxfGiyygAjt+4*A!A@UJMj@z-&EPL5O4W1R*6xw#l1?On`DPgcKQl zCvyqAflLurWZK0tIZ#AwvJR^eNGU5Q??_I5BP7dMHTgMMk)DVm({om!A|Fk823%=f z1sWm(KzcbFIOPX&fkU2wfsp~2W`CHJotk`;@rzBqw#vs_j2GYKf$0EmMkaX%U=9Xa ziy2TbQx$;nw;-m1atn&d4V@=v@6fr<_&^l5$(R`k*<>SjkbC8I@wpe~ZjgILm_a4Z zGf_pR1P)-Z2v3#~b7TZ1Jux1jJHg57at)t0DDJ?)9{>t|rVif8uOwZ8kz^pH$ov(k#Gc;PAtLO3MbPwTWZu`N?}+C`h{UDLjr3ua!n?5^;og zyVL3S$gm?BQhA4IN>)fQIY_$i zUsRorb0Rd}6CVoau&{IRO!T^~MMlJMA4$Q#P$=B8_%|8&ag&+FykH^`ElfHZ?>)M&q*>&~Ah1c2ZV~O@e!BtNZT`d&iKw^|#?n+`qT}=lq6aFVD--XHH&;Z10-!rgh?}5AC<# z#<^+q+c3FxQuQa|2p(6&#+>UTcc9h6@wv@5ox!0MpelMC^omTJ6Ht2us=Xvkd6?AK?>VKc5bnA;i9OA7eNX$8yL$h zt;d3JND5(!A;YqWu+5xWZ5Wy@%gJtuR)l1Wf$4xKE2a9hVt_wqf(|OJOTlE-g?+aH zMo9E7PUInl7ll#X09n>?;UmqUx+rZ1UuacHjwe*r8RBFc>;0RdkEwoU(gmu(0U9XN zmY|u)>F3)OHd&9L7%!&vU=TFfWzCQtp4xxcU diff --git a/pkg/cmd/run/view/view.go b/pkg/cmd/run/view/view.go index 73ef7bb1e..c794cff9a 100644 --- a/pkg/cmd/run/view/view.go +++ b/pkg/cmd/run/view/view.go @@ -546,6 +546,7 @@ func logFilenameRegexp(job shared.Job, step shared.Step) *regexp.Regexp { // * Truncate long job names // sanitizedJobName := strings.ReplaceAll(job.Name, "/", "") + sanitizedJobName = strings.ReplaceAll(sanitizedJobName, ":", "") sanitizedJobName = truncateAsUTF16(sanitizedJobName, JOB_NAME_MAX_LENGTH) re := fmt.Sprintf(`^%s\/%d_.*\.txt`, regexp.QuoteMeta(sanitizedJobName), step.Number) return regexp.MustCompile(re) diff --git a/pkg/cmd/run/view/view_test.go b/pkg/cmd/run/view/view_test.go index 44ca69fa6..956f80cd5 100644 --- a/pkg/cmd/run/view/view_test.go +++ b/pkg/cmd/run/view/view_test.go @@ -1522,6 +1522,18 @@ func Test_attachRunLog(t *testing.T) { // not the double space in the dir name, as the slash has been removed wantFilename: "cool job with slash/1_fob the barz.txt", }, + { + name: "job name with colon matches dir with colon removed", + job: shared.Job{ + Name: "cool job : with colon", + Steps: []shared.Step{{ + Name: "fob the barz", + Number: 1, + }}, + }, + wantMatch: true, + wantFilename: "cool job with colon/1_fob the barz.txt", + }, { name: "Job name with really long name (over the ZIP limit)", job: shared.Job{