improve error handling
Use error code 2 to indicate that we are exiting a program without doing any work. This leaves error code 1 to mean that the program actually had an error, and we can check for those errors and report them. Add --debug and -v flag where missing in calls to python3-first app. Change-Id: Ia6f39dc8eee3505ac573670a9e44ae225ed48334 Signed-off-by: Doug Hellmann <doug@doughellmann.com>
This commit is contained in:
parent
8a630755f7
commit
9a66c18e4e
@ -514,7 +514,7 @@ class JobsUpdate(command.Command):
|
|||||||
else:
|
else:
|
||||||
LOG.warning('Could not find {} in {}'.format(
|
LOG.warning('Could not find {} in {}'.format(
|
||||||
repo, project_filename))
|
repo, project_filename))
|
||||||
return 1
|
return 2
|
||||||
|
|
||||||
# Remove the items that need to stay in project-config.
|
# Remove the items that need to stay in project-config.
|
||||||
find_templates_to_extract(entry['project'], zuul_templates, zuul_jobs)
|
find_templates_to_extract(entry['project'], zuul_templates, zuul_jobs)
|
||||||
@ -535,7 +535,7 @@ class JobsUpdate(command.Command):
|
|||||||
|
|
||||||
if not in_tree_project.get('project'):
|
if not in_tree_project.get('project'):
|
||||||
LOG.info('no settings to write')
|
LOG.info('no settings to write')
|
||||||
return 1
|
return 2
|
||||||
|
|
||||||
if not in_tree_settings:
|
if not in_tree_settings:
|
||||||
in_tree_settings.append(in_tree_project)
|
in_tree_settings.append(in_tree_project)
|
||||||
@ -837,7 +837,7 @@ class JobsSwitchDocs(command.Command):
|
|||||||
|
|
||||||
if not changed:
|
if not changed:
|
||||||
LOG.info('No updates needed for %s', repo)
|
LOG.info('No updates needed for %s', repo)
|
||||||
return 1
|
return 2
|
||||||
|
|
||||||
LOG.info('# {} switch docs jobs'.format(repo))
|
LOG.info('# {} switch docs jobs'.format(repo))
|
||||||
yaml = projectconfig_ruamellib.YAML()
|
yaml = projectconfig_ruamellib.YAML()
|
||||||
@ -912,7 +912,7 @@ class JobsAddPy36(command.Command):
|
|||||||
|
|
||||||
if not changed:
|
if not changed:
|
||||||
LOG.info('No updates needed for %s', repo)
|
LOG.info('No updates needed for %s', repo)
|
||||||
return 1
|
return 2
|
||||||
|
|
||||||
LOG.info('# {} add py36 jobs'.format(repo))
|
LOG.info('# {} add py36 jobs'.format(repo))
|
||||||
yaml = projectconfig_ruamellib.YAML()
|
yaml = projectconfig_ruamellib.YAML()
|
||||||
@ -966,7 +966,7 @@ class JobsAddLibForwardTestingPy3(command.Command):
|
|||||||
|
|
||||||
if not changed:
|
if not changed:
|
||||||
LOG.info('No updates needed for %s', repo)
|
LOG.info('No updates needed for %s', repo)
|
||||||
return 1
|
return 2
|
||||||
|
|
||||||
LOG.info('# {} add lib-forward-testing-python3 jobs'.format(repo))
|
LOG.info('# {} add lib-forward-testing-python3 jobs'.format(repo))
|
||||||
yaml = projectconfig_ruamellib.YAML()
|
yaml = projectconfig_ruamellib.YAML()
|
||||||
|
@ -81,17 +81,23 @@ else
|
|||||||
|
|
||||||
if ! git -C "$repo" checkout -q origin/$branch ; then
|
if ! git -C "$repo" checkout -q origin/$branch ; then
|
||||||
echo "Could not check out origin/$branch in $repo"
|
echo "Could not check out origin/$branch in $repo"
|
||||||
exit 1
|
exit 2
|
||||||
fi
|
fi
|
||||||
|
|
||||||
git -C "$repo" checkout -b $new_branch
|
git -C "$repo" checkout -b $new_branch
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
if ! python3-first -v --debug jobs update "$repo"; then
|
python3-first -v --debug jobs update "$repo"
|
||||||
|
RC=$?
|
||||||
|
if [ $RC -eq 2 ]; then
|
||||||
echo "No changes"
|
echo "No changes"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
if [ $RC -ne 0 ]; then
|
||||||
|
echo "FAIL"
|
||||||
|
exit $RC
|
||||||
|
fi
|
||||||
|
|
||||||
if ! git -C "$repo" diff --ignore-all-space; then
|
if ! git -C "$repo" diff --ignore-all-space; then
|
||||||
echo "No changes other than whitespace"
|
echo "No changes other than whitespace"
|
||||||
|
@ -39,6 +39,11 @@ task_id=$(grep -e "$team" $bindir/taskids.txt | awk '{print $1}')
|
|||||||
echo "Story: $story_id"
|
echo "Story: $story_id"
|
||||||
echo "Task : $task_id"
|
echo "Task : $task_id"
|
||||||
|
|
||||||
|
if [ -z "$task_id" ]; then
|
||||||
|
echo "Could not find task for $team"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
echo
|
echo
|
||||||
echo "=== Updating extra project settings ==="
|
echo "=== Updating extra project settings ==="
|
||||||
echo
|
echo
|
||||||
@ -53,7 +58,9 @@ echo
|
|||||||
echo "=== Cloning $team repositories ==="
|
echo "=== Cloning $team repositories ==="
|
||||||
echo
|
echo
|
||||||
|
|
||||||
python3-first repos clone "$out_dir" "$team"
|
set -e
|
||||||
|
|
||||||
|
python3-first -v --debug repos clone "$out_dir" "$team"
|
||||||
|
|
||||||
$bindir/process_team.sh "$out_dir" "$team" master $task_id
|
$bindir/process_team.sh "$out_dir" "$team" master $task_id
|
||||||
$bindir/update_doc_job.sh "$out_dir" "$team" $task_id
|
$bindir/update_doc_job.sh "$out_dir" "$team" $task_id
|
||||||
|
@ -51,8 +51,15 @@ for repo in $(ls -d $workdir/*/*); do
|
|||||||
# it exists. Having it empty is fine.
|
# it exists. Having it empty is fine.
|
||||||
touch $workdir/$(basename $branch)
|
touch $workdir/$(basename $branch)
|
||||||
|
|
||||||
if $bindir/do_repo.sh "$repo" "$branch" "$task"; then
|
$bindir/do_repo.sh "$repo" "$branch" "$task"
|
||||||
|
RC=$?
|
||||||
|
if [ $RC -eq 0 ]; then
|
||||||
tracking="$(basename $(dirname $repo))/$(basename $repo)"
|
tracking="$(basename $(dirname $repo))/$(basename $repo)"
|
||||||
echo "$tracking" >> $workdir/$(basename $branch)
|
echo "$tracking" >> $workdir/$(basename $branch)
|
||||||
|
elif [ $RC -ne 2 ]; then
|
||||||
|
echo "FAIL"
|
||||||
|
exit $RC
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
@ -29,6 +29,8 @@ if [ -z "$task" ]; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
enable_tox
|
enable_tox
|
||||||
|
|
||||||
commit_message="switch documentation job to new PTI
|
commit_message="switch documentation job to new PTI
|
||||||
|
Loading…
Reference in New Issue
Block a user