Unverified Commit 34818989 authored by Jeremy Morrell's avatar Jeremy Morrell Committed by GitHub

Add metadata logging when the build fails (#630)

* Add metadata logging when the build fails
parent 99ebd7cb
......@@ -70,6 +70,7 @@ handle_failure() {
echo " Read more: https://devcenter.heroku.com/changelog-items/1573"
echo ""
meta_set "node-build-success" "false"
header "Build failed"
fail_yarn_outdated "$LOG_FILE"
fail_yarn_lockfile_outdated "$LOG_FILE"
......@@ -81,6 +82,7 @@ handle_failure() {
warn_angular_resolution "$LOG_FILE"
warn_missing_devdeps "$LOG_FILE" "$BUILD_DIR"
warn_econnreset "$LOG_FILE"
log_meta_data >> "$BUILDPACK_LOG_FILE"
failure_message | output "$LOG_FILE"
}
trap 'handle_failure' ERR
......
#!/usr/bin/env bash
log_initial_state() {
meta_set "buildpack" "nodejs"
if "$YARN"; then
meta_set "node-package-manager" "yarn"
meta_set "has-node-lock-file" "true"
......
This diff is collapsed.
......@@ -1043,11 +1043,9 @@ testMemoryMetrics() {
}
testBuildMetaData() {
env_dir=$(mktmpdir)
local log_file=$(mktemp)
echo "$log_file" > $env_dir/BUILDPACK_LOG_FILE
compile "pre-post-build-scripts" "$(mktmpdir)" $env_dir
BUILDPACK_LOG_FILE="$log_file" compile "pre-post-build-scripts"
# build info
assertFileContains "node-package-manager=npm" $log_file
......@@ -1084,7 +1082,7 @@ testBuildMetaData() {
# erase the log file
echo "" > $log_file
compile "yarn" "$(mktmpdir)" $env_dir
BUILDPACK_LOG_FILE="$log_file" compile "yarn"
assertFileContains "node-package-manager=yarn" $log_file
assertFileContains "has-node-lock-file=true" $log_file
......@@ -1095,6 +1093,19 @@ testBuildMetaData() {
assertFileContains "node-build-success=true" $log_file
}
testFailingBuildMetaData() {
local log_file=$(mktemp)
BUILDPACK_LOG_FILE="$log_file" compile "bad-json"
assertFileContains "failure=invalid-package-json" $log_file
assertCapturedError
echo "" > $log_file
BUILDPACK_LOG_FILE="$log_file" compile "yarn-lockfile-out-of-date"
assertFileContains "failure=outdated-yarn-lockfile" $log_file
assertCapturedError
}
testPropagateAppUUID() {
env_dir=$(mktmpdir)
local log_file=$(mktemp)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment