From c1fd679e68e1d8b06ed103b2c5dab446bd3999ac Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 15 Dec 2025 00:26:13 +0000 Subject: [PATCH 1/5] Initial plan From 0f6b0b52f0abd14e8b784c7152d4aebb878a94be Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 15 Dec 2025 00:28:26 +0000 Subject: [PATCH 2/5] fix(ci): add workflow_dispatch trigger with version input to build workflow Co-authored-by: mapitman <4205286+mapitman@users.noreply.github.com> --- .github/workflows/build.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 18f4286..4d005cb 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -2,6 +2,12 @@ name: Build on: push: + workflow_dispatch: + inputs: + version: + description: 'Version to build (e.g., 1.0.0)' + required: false + type: string jobs: build-linux: From 41fbafb74d3b1f6c1c30ec29aaca604821639f17 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 15 Dec 2025 01:04:47 +0000 Subject: [PATCH 3/5] fix: correct tar transform syntax to use proper sed-style delimiters Co-authored-by: mapitman <4205286+mapitman@users.noreply.github.com> --- Makefile | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Makefile b/Makefile index 3fc8bf8..df048fe 100644 --- a/Makefile +++ b/Makefile @@ -39,17 +39,17 @@ snap: bin/linux-amd64/mdview: manpage env GOOS=linux GOARCH=amd64 go build -buildvcs=false -ldflags "-X main.appVersion=$(VERSION)" -o ./bin/linux-amd64/mdview cp mdview.1 bin/linux-amd64/ - tar czvf mdview-$(VERSION)-linux-amd64.tar.gz --transform s/linux-amd64/mdview-$(VERSION)/ -C bin linux-amd64 + tar czvf mdview-$(VERSION)-linux-amd64.tar.gz --transform 's,^linux-amd64,mdview-$(VERSION),' -C bin linux-amd64 bin/linux-i386/mdview: env GOOS=linux GOARCH=386 go build -buildvcs=false -ldflags "-X main.appVersion=$(VERSION)" -o ./bin/linux-i386/mdview cp mdview.1 bin/linux-i386/ - tar czvf mdview-$(VERSION)-linux-i386.tar.gz --transform s/linux-i386/mdview-$(VERSION)/ -C bin linux-i386 + tar czvf mdview-$(VERSION)-linux-i386.tar.gz --transform 's,^linux-i386,mdview-$(VERSION),' -C bin linux-i386 bin/linux-arm64/mdview: env GOOS=linux GOARCH=arm64 go build -buildvcs=false -ldflags "-X main.appVersion=$(VERSION)" -o ./bin/linux-arm64/mdview cp mdview.1 bin/linux-arm64/ - tar czvf mdview-$(VERSION)-linux-arm64.tar.gz --transform s/linux-arm64/mdview-$(VERSION)/ -C bin linux-arm64 + tar czvf mdview-$(VERSION)-linux-arm64.tar.gz --transform 's,^linux-arm64,mdview-$(VERSION),' -C bin linux-arm64 bin/windows-amd64/mdview.exe: env GOOS=windows GOARCH=amd64 go build -buildvcs=false -ldflags "-X main.appVersion=$(VERSION)" -o ./bin/windows-amd64/mdview.exe @@ -58,17 +58,17 @@ bin/windows-amd64/mdview.exe: bin/darwin-amd64/mdview: env GOOS=darwin GOARCH=amd64 go build -buildvcs=false -ldflags "-X main.appVersion=$(VERSION)" -o ./bin/darwin-amd64/mdview cp mdview.1 bin/darwin-amd64/ - tar czvf mdview-$(VERSION)-darwin-amd64.tar.gz --transform s/darwin-amd64/mdview-$(VERSION)/ -C bin darwin-amd64 + tar czvf mdview-$(VERSION)-darwin-amd64.tar.gz --transform 's,^darwin-amd64,mdview-$(VERSION),' -C bin darwin-amd64 bin/darwin-arm64/mdview: env GOOS=darwin GOARCH=arm64 go build -buildvcs=false -ldflags "-X main.appVersion=$(VERSION)" -o ./bin/darwin-arm64/mdview cp mdview.1 bin/darwin-arm64/ - tar czvf mdview-$(VERSION)-darwin-arm64.tar.gz --transform s/darwin-arm64/mdview-$(VERSION)/ -C bin darwin-arm64 + tar czvf mdview-$(VERSION)-darwin-arm64.tar.gz --transform 's,^darwin-arm64,mdview-$(VERSION),' -C bin darwin-arm64 bin/freebsd-amd64/mdview: env GOOS=freebsd GOARCH=amd64 go build -buildvcs=false -ldflags "-X main.appVersion=$(VERSION)" -o ./bin/freebsd-amd64/mdview cp mdview.1 bin/freebsd-amd64/mdview - tar czvf mdview-$(VERSION)-freebsd-amd64.tar.gz --transform s/freebsd-amd64/mdview-$(VERSION)/ -C bin freebsd-amd64 + tar czvf mdview-$(VERSION)-freebsd-amd64.tar.gz --transform 's,^freebsd-amd64,mdview-$(VERSION),' -C bin freebsd-amd64 clean: rm -rf bin From fa0745e7d60bf62ec68a82d8b22d5db26064a8af Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 15 Dec 2025 01:13:05 +0000 Subject: [PATCH 4/5] fix(ci): sanitize VERSION to replace slashes with dashes Co-authored-by: mapitman <4205286+mapitman@users.noreply.github.com> --- .github/workflows/build.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4d005cb..d51ff83 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -25,6 +25,8 @@ jobs: fi # strip any leading v VERSION="${VERSION#v}" + # Replace slashes with dashes to avoid directory creation issues in filenames + VERSION="${VERSION//\//-}" echo "VERSION=${VERSION}" >> $GITHUB_OUTPUT - name: Show chosen version From e352cda239dda581feef5a8c0056e872614bb8a7 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 15 Dec 2025 01:49:47 +0000 Subject: [PATCH 5/5] refactor(ci): remove redundant VERSION sanitization from workflow VERSION_SAFE in Makefile now handles slash sanitization, making the workflow-level sanitization redundant. This approach is cleaner as the Makefile is the single source of truth for filename sanitization. Co-authored-by: mapitman <4205286+mapitman@users.noreply.github.com> --- .github/workflows/build.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d51ff83..4d005cb 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -25,8 +25,6 @@ jobs: fi # strip any leading v VERSION="${VERSION#v}" - # Replace slashes with dashes to avoid directory creation issues in filenames - VERSION="${VERSION//\//-}" echo "VERSION=${VERSION}" >> $GITHUB_OUTPUT - name: Show chosen version