diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..3128a02 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,30 @@ +name: Release EasyCmd +on: + push: + tags: + - 'v0.*' + - 'draft-*' + +jobs: + publishGitRelease: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-go@v5 + with: + go-version: '^1.20' + check-latest: true + + - name: Cross compile + run: | + sudo apt-get install rhash -y + go install github.com/mitchellh/gox@v1.0.1 + mkdir -p build + ./scripts/xcompile.sh + + - name: Release + uses: softprops/action-gh-release@v1 + with: + files: build/* + draft: true + fail_on_unmatched_files: true diff --git a/scripts/xcompile.sh b/scripts/xcompile.sh new file mode 100755 index 0000000..9787b2d --- /dev/null +++ b/scripts/xcompile.sh @@ -0,0 +1,13 @@ +#!/bin/bash +set -e +# you may need to go install github.com/mitchellh/gox@v1.0.1 first +echo $VERSION +CGO_ENABLED=0 gox -ldflags "-s -w ${LDFLAGS}" -output="build/easycmd_{{.OS}}_{{.Arch}}" --osarch="darwin/amd64 darwin/arm64 linux/386 linux/amd64 linux/arm linux/arm64" + +cd build + +rhash -r -a . -o checksums + +rhash -r -a --bsd . -o checksums-bsd + +rhash --list-hashes > checksums_hashes_order