From acc4f6cabe23a65100ae46b376386af63c623506 Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Fri, 8 Sep 2023 01:48:27 +0000 Subject: [PATCH] Added support for install postgresql --- entrypoint.sh | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/entrypoint.sh b/entrypoint.sh index c97f4f7..e223795 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -10,6 +10,47 @@ mkdir -p "$(dirname "$INPUT_PATH")" echo "Created the output directory" +if [[ -n "$INPUT_POSTGRESQL_VERSION" ]]; then + echo "Verifying version" + + # Check if the input is an integer + if ! [[ "$INPUT_POSTGRESQL_VERSION" =~ ^[0-9]+$ ]]; then + echo "Error: $INPUT_POSTGRESQL_VERSION is not a valid integer." + exit 1 + fi + + # Check if the input is between 10 and 15 (inclusive) + if (( $INPUT_POSTGRESQL_VERSION < 10 || $INPUT_POSTGRESQL_VERSION > 15 )); then + echo "Error: $INPUT_POSTGRESQL_VERSION is not between 10 and 15 (inclusive)." + exit 1 + fi + + echo "Validated postgresql version: $INPUT_POSTGRESQL_VERSION" + + echo "Installing postgresql..." + + if [[ "$(uname -s)" == "Linux" ]]; then + sudo apt-get update + sudo apt-get install -y "postgresql-$INPUT_POSTGRESQL_VERSION" + elif [[ "$(uname -s)" == "NT"* ]]; then + choco install postgresql --version="$INPUT_POSTGRESQL_VERSION" -y + elif [[ "$(uname -s)" == "Darwin" ]]; then + brew update + brew install "postgresql@$INPUT_POSTGRESQL_VERSION" + else + echo "Unsupported OS" + exit 1 + fi + + if [[ "$(uname -s)" == "NT"* ]]; then + echo "/Program Files/PostgreSQL/15/bin" >> $GITHUB_PATH + else + echo "/usr/lib/postgresql/15/bin" >> $GITHUB_PATH + fi + + echo "Installed postgresql" +fi + echo "Running pg_dump..." # shellcheck disable=SC2086