diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index fefb35d..50bc42d 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -21,17 +21,12 @@ jobs: - name: Run Hurl Tests run: ./test/exec.sh - - uses: thatisuday/go-cross-build@v1 - with: - platforms: 'linux/amd64, darwin/amd64, windows/amd64' - package: 'cmd' - name: 'xtemplate' - compress: 'true' - dest: 'dist' + - name: Build binaries for all platforms + run: release.sh - uses: actions/upload-artifact@v3 with: - path: dist/* + path: 'dist/*' - name: Release if: startsWith(github.ref, 'refs/tags/v') diff --git a/.gitignore b/.gitignore index 66afb2f..9dfe782 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ go.work* xtemplate xtemplate.exe caddy +dist diff --git a/release.sh b/release.sh new file mode 100755 index 0000000..95badfa --- /dev/null +++ b/release.sh @@ -0,0 +1,18 @@ +#!/usr/bin/env bash +set -ex + +go tool dist list + +rm -r dist + +GOOS=linux GOARCH=amd64 go build -buildmode exe -o ./dist/xtemplate-amd64-linux/xtemplate ./cmd +GOOS=darwin GOARCH=amd64 go build -buildmode exe -o ./dist/xtemplate-amd64-darwin/xtemplate ./cmd +GOOS=windows GOARCH=amd64 go build -buildmode exe -o ./dist/xtemplate-amd64-windows/xtemplate.exe ./cmd + +printf '%s\n' dist/* | while read D; do + cp README.md LICENSE "$D" + tar czvf "$D.tar.gz" "$D/" + rm -r "$D" +done + +ls -lh dist/*