Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 8 additions & 2 deletions scripts/ci/libraries/_md5sum.sh
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,13 @@ function md5sum::calculate_file_md5sum {
diff "${MD5SUM_FILE_NEW}" "${MD5SUM_FILE}" >/dev/null
RES=$?
if [[ "${RES}" != "0" ]]; then
verbosity::print_info "The md5sum changed for ${FILE}"
verbosity::print_info "The md5sum changed for ${FILE}: was $(cat "${MD5SUM_FILE}") now it is $(cat "${MD5SUM_FILE_NEW}")"
if [[ ${CI} == "true" ]]; then
echo "${COLOR_RED}The file has changed: ${FILE}${COLOR_RESET}"
echo "${COLOR_BLUE}==============================${COLOR_RESET}"
cat "${FILE}"
echo "${COLOR_BLUE}==============================${COLOR_RESET}"
fi
RET_CODE=1
fi
fi
Expand All @@ -61,7 +67,7 @@ function md5sum::move_file_md5sum {
MD5SUM_FILE_NEW=${CACHE_TMP_FILE_DIR}/$(basename "$(dirname "${FILE}")")-$(basename "${FILE}").md5sum.new
if [[ -f "${MD5SUM_FILE_NEW}" ]]; then
mv "${MD5SUM_FILE_NEW}" "${MD5SUM_FILE}"
verbosity::print_info "Updated md5sum file ${MD5SUM_FILE} for ${FILE}."
verbosity::print_info "Updated md5sum file ${MD5SUM_FILE} for ${FILE}: $(cat "${MD5SUM_FILE}")"
fi
}

Expand Down
21 changes: 21 additions & 0 deletions scripts/ci/libraries/_verify_image.sh
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,15 @@ function verify_image::verify_ci_image_dependencies() {
start_end::group_end
}

function verify_image::verify_ci_image_has_dist_folder() {
start_end::group_start "Verify CI image dist folder (compiled www assets): ${DOCKER_IMAGE}"

verify_image::check_command "Dist folder" '[ -f /opt/airflow/airflow/www/static/dist/manifest.json ] || exit 1'

start_end::group_end
}


function verify_image::verify_prod_image_dependencies() {
start_end::group_start "Checking if Airflow dependencies are non-conflicting in ${DOCKER_IMAGE} image."

Expand Down Expand Up @@ -241,6 +250,14 @@ function verify_image::verify_prod_image_as_root() {
set -e
}

function verify_image::verify_production_image_has_dist_folder() {
start_end::group_start "Verify prod image has dist folder (compiled www assets): ${DOCKER_IMAGE}"
# shellcheck disable=SC2016
verify_image::check_command "Dist folder" '[ -f $(python -m site --user-site)/airflow/www/static/dist/manifest.json ] || exit 1'

start_end::group_end
}

function verify_image::display_result {
if [[ ${IMAGE_VALID} == "true" ]]; then
echo
Expand All @@ -265,6 +282,8 @@ function verify_image::verify_prod_image {

verify_image::verify_prod_image_as_root

verify_image::verify_production_image_has_dist_folder

verify_image::display_result
}

Expand All @@ -273,5 +292,7 @@ function verify_image::verify_ci_image {
DOCKER_IMAGE="${1}"
verify_image::verify_ci_image_dependencies

verify_image::verify_ci_image_has_dist_folder

verify_image::display_result
}
18 changes: 8 additions & 10 deletions scripts/docker/compile_www_assets.sh
Original file line number Diff line number Diff line change
Expand Up @@ -28,22 +28,20 @@ function compile_www_assets() {
md5sum_file="static/dist/sum.md5"
readonly md5sum_file
local airflow_site_package
airflow_site_package="$(python -m site --user-site)"
airflow_site_package="$(python -m site --user-site)/airflow"
local www_dir=""
if [[ -f "${airflow_site_package}/www_rbac/package.json" ]]; then
www_dir="${airflow_site_package}/www_rbac"
elif [[ -f "${airflow_site_package}/www/package.json" ]]; then
www_dir="${airflow_site_package}/www"
fi
if [[ -n "${www_dir}" ]]; then
pushd ${www_dir} || exit 1
yarn install --frozen-lockfile --no-cache
yarn run prod
find package.json yarn.lock static/css static/js -type f | sort | xargs md5sum > "${md5sum_file}"
rm -rf "${www_dir}/node_modules"
rm -vf "${www_dir}"/{package.json,yarn.lock,.eslintignore,.eslintrc,.stylelintignore,.stylelintrc,compile_assets.sh,webpack.config.js}
popd || exit 1
fi
pushd ${www_dir} || exit 1
yarn install --frozen-lockfile --no-cache
yarn run prod
find package.json yarn.lock static/css static/js -type f | sort | xargs md5sum > "${md5sum_file}"
rm -rf "${www_dir}/node_modules"
rm -vf "${www_dir}"/{package.json,yarn.lock,.eslintignore,.eslintrc,.stylelintignore,.stylelintrc,compile_assets.sh,webpack.config.js}
popd || exit 1
}

compile_www_assets