Message ID | 20190919173514.24074-1-szeder.dev@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | travis-ci: ignore already tested trees in debug mode | expand |
SZEDER Gábor <szeder.dev@gmail.com> writes: > skip_good_tree () { > + if test "$TRAVIS_DEBUG_MODE" = true > + then > + return > + fi I think you convinced readers why it is a good idea to avoid skipping an already tested tree, and technically the title of this commit is not incorrect per-se. You are teaching to ignore "already-tested-ness" from a part of the logic). But in the larger picture, I would expect that readers would more immediately grasp what it is about if it were titled "do not skip versions that have already tested good in debug mode" or something like that (IOW, we do not want to ignore such trees, we want to test them again).
On Fri, Sep 20, 2019 at 11:03:48AM -0700, Junio C Hamano wrote: > SZEDER Gábor <szeder.dev@gmail.com> writes: > > > skip_good_tree () { > > + if test "$TRAVIS_DEBUG_MODE" = true > > + then > > + return > > + fi > > I think you convinced readers why it is a good idea to avoid > skipping an already tested tree, and technically the title of this > commit is not incorrect per-se. You are teaching to ignore > "already-tested-ness" from a part of the logic). Hrm, that's subtle, but you are right. > But in the larger picture, I would expect that readers would more > immediately grasp what it is about if it were titled "do not skip > versions that have already tested good in debug mode" Will try to come up with a better subject line, but I don't have any usable ideas at the moment. > or something > like that (IOW, we do not want to ignore such trees, we want to test > them again). >
SZEDER Gábor <szeder.dev@gmail.com> writes: >> But in the larger picture, I would expect that readers would more >> immediately grasp what it is about if it were titled "do not skip >> versions that have already tested good in debug mode" > > Will try to come up with a better subject line, but I don't have any > usable ideas at the moment. Subject: [PATCH] travis-ci: do not skip already tested trees in debug mode ???
On Fri, Sep 20, 2019 at 11:28:11AM -0700, Junio C Hamano wrote: > SZEDER Gábor <szeder.dev@gmail.com> writes: > > >> But in the larger picture, I would expect that readers would more > >> immediately grasp what it is about if it were titled "do not skip > >> versions that have already tested good in debug mode" > > > > Will try to come up with a better subject line, but I don't have any > > usable ideas at the moment. > > Subject: [PATCH] travis-ci: do not skip already tested trees in debug mode Wow, that's so obvious it's embarrassing.
diff --git a/ci/lib.sh b/ci/lib.sh index 44db2d5cbb..1a09ac4b34 100755 --- a/ci/lib.sh +++ b/ci/lib.sh @@ -34,6 +34,11 @@ save_good_tree () { # successfully before (e.g. because the branch got rebased, changing only # the commit messages). skip_good_tree () { + if test "$TRAVIS_DEBUG_MODE" = true + then + return + fi + if ! good_tree_info="$(grep "^$(git rev-parse $CI_COMMIT^{tree}) " "$good_trees_file")" then # Haven't seen this tree yet, or no cached good trees file yet.
Travis CI offers shell access to its virtual machine environment running the build jobs, called "debug mode" [1]. After restarting a build job in debug mode and logging in, the first thing I usually do is to install dependencies, i.e. run './ci/install-dependencies.sh'. This works just fine when I restarted a failed build job in debug mode. However, after restarting a successful build job in debug mode our CI scripts get all clever, and exit without doing anything useful, claiming that "This commit's tree has already been built and tested successfully" [2]. Our CI scripts are right, and we do want to skip building and testing already known good trees in "regular" CI builds. In debug mode, however, this is a nuisiance, because one has to delete the cache (or at least the 'good-trees' file in the cache) to proceed. Let's update our CI scripts, in particular the common 'ci/lib.sh', to ignore previously successfully built and tested trees in debug mode, so all those scripts will do what there were supposed to do even when a successful build job was restarted in debug mode. [1] https://docs.travis-ci.com/user/running-build-in-debug-mode/ [2] 9cc2c76f5e (travis-ci: record and skip successfully built trees, 2017-12-31) Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com> --- ci/lib.sh | 5 +++++ 1 file changed, 5 insertions(+)