2023-08-02 13:06:59 +00:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
|
|
|
|
|
set -o errexit
|
|
|
|
|
set -o nounset
|
|
|
|
|
|
|
|
|
|
commit_sha="$(git rev-parse HEAD)"
|
|
|
|
|
|
2023-08-03 11:27:04 +00:00
|
|
|
# Base URL of the current repository on GitHub.
|
2023-08-02 13:06:59 +00:00
|
|
|
base_url="$(git remote get-url origin | sed 's,^git@github\.com:,https://github.com/,; s/\.git$//')"
|
|
|
|
|
|
2024-12-06 11:58:30 +00:00
|
|
|
if [[ $# -gt 0 ]]; then
|
|
|
|
|
input_version="$1"
|
|
|
|
|
if [[ "$input_version" =~ ^v[0-9]+(\.[0-9]+){1,2}$ ]]; then
|
|
|
|
|
version="$input_version"
|
|
|
|
|
else
|
|
|
|
|
echo "Invalid version format. Use v[major].[minor] or v[major].[minor].[patch]." >&2
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
elif [[ "${GITHUB_REF-}" =~ ^refs/tags/v ]]; then
|
2023-12-11 09:25:53 +00:00
|
|
|
version="${GITHUB_REF#refs/tags/}"
|
2023-09-15 10:20:23 +00:00
|
|
|
else
|
|
|
|
|
latest_released_version="$(git ls-remote --tags --sort=-v:refname "$(git remote | head -1)" 'v*' | awk -F/ '{print $NF; exit}')"
|
|
|
|
|
echo "latest_released_version = $latest_released_version" >&2
|
2024-01-22 04:32:57 +00:00
|
|
|
next_version="$(echo "$latest_released_version" | awk -F. -v OFS=. '{ $2++; $3 = 0; print }')"
|
2023-09-15 10:20:23 +00:00
|
|
|
echo "next_version = $next_version" >&2
|
|
|
|
|
version="$next_version-SNAPSHOT"
|
2023-08-03 11:27:04 +00:00
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if [[ -n ${GITHUB_RUN_ID-} ]]; then
|
|
|
|
|
github_run_url="$base_url/actions/runs/$GITHUB_RUN_ID/attempts/${GITHUB_RUN_ATTEMPT-1}"
|
|
|
|
|
fi
|
|
|
|
|
|
2023-08-02 13:06:59 +00:00
|
|
|
jq -n \
|
|
|
|
|
--arg commitSha "$commit_sha" \
|
|
|
|
|
--arg commitUrl "$base_url/commit/$commit_sha" \
|
2023-08-04 01:08:16 +00:00
|
|
|
--arg githubRef "${GITHUB_REF-}" \
|
2023-08-03 11:27:04 +00:00
|
|
|
--arg githubRunUrl "${github_run_url-}" \
|
2023-09-15 10:20:23 +00:00
|
|
|
--arg version "$version" \
|
2023-08-22 05:04:23 +00:00
|
|
|
--arg imageBuiltAt "$(date -u -Iseconds)" \
|
2023-08-02 13:06:59 +00:00
|
|
|
--argjson isCI "${CI:-false}" \
|
2023-09-11 03:13:09 +00:00
|
|
|
'$ARGS.named' | tee "$(git rev-parse --show-toplevel)/deploy/docker/fs/opt/appsmith/info.json"
|
2024-12-06 11:58:30 +00:00
|
|
|
|
|
|
|
|
# Usage
|
|
|
|
|
# ./scripts/generate_info_json.sh v0.0.1
|
|
|
|
|
# ./scripts/generate_info_json.sh v0.1
|
|
|
|
|
# ./scripts/generate_info_json.sh
|