Update github workflow to release windows builds in zip format. (#7946)

* feat: Add GitHub Actions workflow for drafting releases and update Makefile to build Windows releases as zip archives.

Signed-off-by: John-Michael Mulesa <jmulesa@gmail.com>

* Generate both tgz and zip for Windows to support any existing workflows.

Signed-off-by: John-Michael Mulesa <jmulesa@gmail.com>

---------

Signed-off-by: John-Michael Mulesa <jmulesa@gmail.com>
This commit is contained in:
John-Michael Mulesa
2026-03-22 14:21:12 +11:00
committed by GitHub
parent e8db7e155e
commit 92a6ae7079
2 changed files with 8 additions and 5 deletions

View File

@@ -36,7 +36,7 @@ jobs:
- name: Build release binary
run: make -f Makefile.release release
- name: Build release binary sha256
run: (cd release; for asset in `ls -A *tgz`; do sha256sum $asset > $asset.sha256; done)
run: (cd release; for asset in `ls -A *.tgz *.zip`; do sha256sum $asset > $asset.sha256; done)
- name: Remove hidden section
run: sed '/+++/,//d' notes/coredns-${{ steps.info.outputs.version}}.md > release.md
- name: Log release info
@@ -46,7 +46,7 @@ jobs:
echo ${{ steps.info.outputs.commit }}
echo ${{ steps.info.outputs.version }}
cat release.md
sha256sum release/*.tgz
sha256sum release/*.tgz release/*.zip
- name: Draft release
uses: softprops/action-gh-release@153bb8e04406b158c6c84fc1615b65b24149a1fe # v2.6.1
with:
@@ -57,4 +57,6 @@ jobs:
files: |
release/*.tgz
release/*.tgz.sha256
release/*.zip
release/*.zip.sha256
draft: true

View File

@@ -85,6 +85,7 @@ tar:
tar -zcf release/$(NAME)_$(VERSION)_darwin_amd64.tgz -C build/darwin/amd64 $(NAME)
tar -zcf release/$(NAME)_$(VERSION)_darwin_arm64.tgz -C build/darwin/arm64 $(NAME)
tar -zcf release/$(NAME)_$(VERSION)_windows_amd64.tgz -C build/windows/amd64 $(NAME).exe
zip -j release/$(NAME)_$(VERSION)_windows_amd64.zip build/windows/amd64/$(NAME).exe
for arch in $(LINUX_ARCH); do \
tar -zcf release/$(NAME)_$(VERSION)_linux_$$arch.tgz -C build/linux/$$arch $(NAME) ;\
done
@@ -97,15 +98,15 @@ else
@echo Releasing: $(VERSION)
@$(eval RELEASE:=$(shell curl -s -d '{"tag_name": "v$(VERSION)", "name": "v$(VERSION)"}' -H "Authorization: token ${GITHUB_ACCESS_TOKEN}" "https://api.github.com/repos/$(GITHUB)/$(NAME)/releases" | grep -m 1 '"id"' | tr -cd '[[:digit:]]'))
@echo ReleaseID: $(RELEASE)
@( cd release; for asset in `ls -A *tgz`; do \
@( cd release; for asset in `ls -A *.tgz *.zip`; do \
echo $$asset; \
curl -o /dev/null -X POST \
-H "Content-Type: application/gzip" \
-H "Content-Type: application/octet-stream" \
-H "Authorization: token ${GITHUB_ACCESS_TOKEN}" \
--data-binary "@$$asset" \
"https://uploads.github.com/repos/$(GITHUB)/$(NAME)/releases/$(RELEASE)/assets?name=$${asset}" ; \
done )
@( cd release; for asset in `ls -A *tgz`; do \
@( cd release; for asset in `ls -A *.tgz *.zip`; do \
sha256sum $$asset > $$asset.sha256; \
done )
@( cd release; for asset in `ls -A *sha256`; do \