--- /dev/null
+# 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
#!/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:
# 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"
}
-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.