diff --git a/.gitignore b/.gitignore index 93822c181..c4d587778 100644 --- a/.gitignore +++ b/.gitignore @@ -24,3 +24,6 @@ custom-user-federation-example/build # docs site/ + +# releases +*.zip diff --git a/scripts/release-targets.json b/scripts/release-targets.json new file mode 100644 index 000000000..f39470b85 --- /dev/null +++ b/scripts/release-targets.json @@ -0,0 +1,14 @@ +[ + { + "os": "darwin", + "platform": "amd64" + }, + { + "os": "linux", + "platform": "amd64" + }, + { + "os": "windows", + "platform": "amd64" + } +] diff --git a/scripts/release.sh b/scripts/release.sh new file mode 100755 index 000000000..6aa687345 --- /dev/null +++ b/scripts/release.sh @@ -0,0 +1,16 @@ +#!/usr/bin/env bash + +set -eu + +cd "$(dirname "$0")" + +for config in $(cat release-targets.json | jq -rc '.[]'); do + os=$(echo ${config} | jq -r '.os') + platform=$(echo ${config} | jq -r '.platform') + + echo "Building for ${os}_${platform}..." + + GOOS=${os} GOARCH=${platform} go build -o terraform-provider-keycloak_v${VERSION} .. + zip terraform-provider-keycloak_v${VERSION}_${os}_${platform}.zip terraform-provider-keycloak_v${VERSION} ../LICENSE + rm terraform-provider-keycloak_v${VERSION} +done;