aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpmikus <peter.mikus@protonmail.ch>2024-05-16 10:56:08 +0200
committerPeter Mikus <peter.mikus@protonmail.ch>2024-05-16 08:58:12 +0000
commit38557d8c48f92593792394b1900588d830b10d3c (patch)
tree50c08388c6834ca2df7bbd137eebae51f05665fa
parent5f16cc6cde29073d125393cdea610de44a073c8f (diff)
feat(bootstrap): Add more granular eb scripts
Signed-off-by: Peter Mikus <peter.mikus@protonmail.ch> Change-Id: Icbcd373ef815fa082d9be022fc201c96df140536
-rwxr-xr-xresources/libraries/bash/entry/bootstrap_aws_eb_version_create_release.sh32
-rw-r--r--resources/libraries/bash/function/eb_version.sh67
2 files changed, 52 insertions, 47 deletions
diff --git a/resources/libraries/bash/entry/bootstrap_aws_eb_version_create_release.sh b/resources/libraries/bash/entry/bootstrap_aws_eb_version_create_release.sh
new file mode 100755
index 0000000000..0bbf3b83ff
--- /dev/null
+++ b/resources/libraries/bash/entry/bootstrap_aws_eb_version_create_release.sh
@@ -0,0 +1,32 @@
+# Copyright (c) 2024 Cisco and/or its affiliates.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+set -exuo pipefail
+
+# Assumptions:
+# + There is a directory holding CSIT code to use (this script is there).
+# Consequences (and specific assumptions) are multiple,
+# examine tree of functions for current description.
+
+# "set -eu" handles failures from the following two lines.
+BASH_ENTRY_DIR="$(dirname $(readlink -e "${BASH_SOURCE[0]}"))"
+BASH_FUNCTION_DIR="$(readlink -e "${BASH_ENTRY_DIR}/../function")"
+source "${BASH_FUNCTION_DIR}/common.sh" || {
+ echo "Source failed." >&2
+ exit 1
+}
+source "${BASH_FUNCTION_DIR}/eb_version.sh" || die "Source failed."
+source "${BASH_FUNCTION_DIR}/hugo.sh" || die "Source failed."
+source "${BASH_FUNCTION_DIR}/terraform.sh" || die "Source failed."
+common_dirs || die
+eb_version_create_release || die
diff --git a/resources/libraries/bash/function/eb_version.sh b/resources/libraries/bash/function/eb_version.sh
index 0393030065..869e4b989c 100644
--- a/resources/libraries/bash/function/eb_version.sh
+++ b/resources/libraries/bash/function/eb_version.sh
@@ -1,6 +1,6 @@
#!/usr/bin/env bash
-# Copyright (c) 2023 Cisco and/or its affiliates.
+# Copyright (c) 2024 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
@@ -67,33 +67,16 @@ function eb_version_build_verify () {
# Build and verify Elastic Beanstalk CDash integrity.
#
- # Variable read:
- # - ${CSIT_DIR} - CSIT main directory.
# Variables set:
# - ${TERRAFORM_MODULE_DIR} - Terraform module sub-directory.
# Functions called:
- # - hugo_init_modules - Initialize Hugo modules.
- # - hugo_build_site - Build static site with Hugo.
# - terraform_init - Initialize Terraform modules.
# - terraform_validate - Validate Terraform code.
# - die - Print to stderr and exit.
set -exuo pipefail
- if ! installed zip; then
- die "Please install zip!"
- fi
-
- hugo_init_modules || die "Failed to call Hugo initialize!"
- hugo_build_site || die "Failed to call Hugo build!"
-
- pushd "${CSIT_DIR}"/csit.infra.dash || die "Pushd failed!"
- pushd app || die "Pushd failed!"
- find . -type d -name "__pycache__" -exec rm -rf "{}" \;
- find . -type d -name ".webassets-cache" -exec rm -rf "{}" \;
- zip -r ../app.zip . || die "Compress failed!"
- popd || die "Popd failed!"
- popd || die "Popd failed!"
+ eb_version_create_release || die "Failed to create release!"
TERRAFORM_MODULE_DIR="terraform-aws-fdio-csit-dash-app-base"
@@ -103,46 +86,36 @@ function eb_version_build_verify () {
}
-function generate_report () {
+function eb_version_create_release () {
- # Generate report content.
+ # Create release of Elastic Beanstalk CDash.
#
# Variable read:
- # - ${TOOLS_DIR} - Path to existing resources subdirectory "tools".
- # - ${GERRIT_BRANCH} - Gerrit branch used for release tagging.
- # Variables set:
- # - ${CODE_EXIT_STATUS} - Exit status of report generation.
+ # - ${CSIT_DIR} - CSIT main directory.
# Functions called:
+ # - hugo_init_modules - Initialize Hugo modules.
+ # - hugo_build_site - Build static site with Hugo.
# - die - Print to stderr and exit.
set -exuo pipefail
- pushd "${TOOLS_DIR}"/presentation || die "Pushd failed!"
-
- # Set default values in config array.
- typeset -A CFG
- typeset -A DIR
-
- DIR[WORKING]="_tmp"
-
- # Create working directories.
- mkdir "${DIR[WORKING]}" || die "Mkdir failed!"
-
- export PYTHONPATH=`pwd`:`pwd`/../../../ || die "Export failed!"
+ if ! installed zip; then
+ die "Please install zip!"
+ fi
- all_options=("pal.py")
- all_options+=("--specification" "specifications/report")
- all_options+=("--release" "${GERRIT_BRANCH:-master}")
- all_options+=("--week" $(date "+%V"))
- all_options+=("--logging" "INFO")
- all_options+=("--force")
+ hugo_init_modules || die "Failed to call Hugo initialize!"
+ hugo_build_site || die "Failed to call Hugo build!"
- set +e
- python "${all_options[@]}"
- CODE_EXIT_STATUS="$?"
- set -e
+ pushd "${CSIT_DIR}"/csit.infra.dash || die "Pushd failed!"
+ pushd app || die "Pushd failed!"
+ find . -type d -name "__pycache__" -exec rm -rf "{}" \;
+ find . -type d -name ".webassets-cache" -exec rm -rf "{}" \;
+ zip -r ../app.zip . || die "Compress failed!"
+ popd || die "Popd failed!"
+ popd || die "Popd failed!"
}
+
function installed () {
# Check if the given utility is installed. Fail if not installed.