travis-ci: ignore already tested trees in debug mode
diff mbox series

Message ID 20190919173514.24074-1-szeder.dev@gmail.com
State New
Headers show
Series
  • travis-ci: ignore already tested trees in debug mode
Related show

Commit Message

SZEDER Gábor Sept. 19, 2019, 5:35 p.m. UTC
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(+)

Comments

Junio C Hamano Sept. 20, 2019, 6:03 p.m. UTC | #1
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).
SZEDER Gábor Sept. 20, 2019, 6:17 p.m. UTC | #2
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).
>
Junio C Hamano Sept. 20, 2019, 6:28 p.m. UTC | #3
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

???
SZEDER Gábor Sept. 20, 2019, 9:56 p.m. UTC | #4
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.

Patch
diff mbox series

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.