git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 2/2] travis-ci: record and skip successfully built trees

From
Lars Schneider <larsxschneider@gmail.com>
Date
Dec 28, 2017, 11:16 UTC
Message-ID
<EFD040CE-E88C-4893-A304-4514BF221AC5@gmail.com>
In-Reply-To
<CAM0VKj=U5fSHo=na0FqOJNWZLoN6VVC77vj989L+4PgQqMGzWw@mail.gmail.com>
Show 28 quoted lines
> On 28 Dec 2017, at 00:00, SZEDER Gábor <szeder.dev@gmail.com> wrote:
> 
> On Wed, Dec 27, 2017 at 8:15 PM, Lars Schneider
> <larsxschneider@gmail.com> wrote:
>> 
>>> On 27 Dec 2017, at 17:49, SZEDER Gábor <szeder.dev@gmail.com> wrote:
>>> +# Skip the build job if the same tree has already been built and tested
>>> +# successfully before (e.g. because the branch got rebased, changing only
>>> +# the commit messages).
>>> +skip_good_tree () {
>>> +     if ! good_tree_info="$(grep "^$(git rev-parse $TRAVIS_COMMIT^{tree}) " "$good_trees_file")"
>>> +     then
>>> +             # haven't seen this tree yet; continue the build job
>>> +             return
>>> +     fi
>>> +
>>> +     echo "$good_tree_info" | {
>>> +             read tree prev_good_commit prev_good_job_number prev_good_job_id
>>> +
>>> +             if test "$TRAVIS_JOB_ID" =  "$prev_good_job_id"
>> 
>> Under what circumstances would that be true?
> 
> When the user hits 'Restart job' on the Travis CI web interface,
> $TRAVI_JOB_NUMBER and _ID remain the same in the restarted build job as
> they were in the original.
> So the condition is true when the user hits 'Restart job' on a build job
> that was the first to successfully build and test the current tree.

I think I would prefer it if Travis would rerun all jobs if I hit the "refresh" button. What is your intention here?

Show 25 quoted lines
> 
>>> +             then
>>> +                     cat <<-EOF
>>> +                     Skipping build job for commit $TRAVIS_COMMIT.
>>> +                     This commit has already been built and tested successfully by this build job.
>>> +                     To force a re-build delete the branch's cache and then hit 'Restart job'.
>>> +                     EOF
>>> +             else
>>> +                     cat <<-EOF
>>> +                     Skipping build job for commit $TRAVIS_COMMIT.
>>> +                     This commit's tree has already been built and tested successfully in build job $prev_good_job_number for commit $prev_good_commit.
>>> +                     The log of that build job is available at https://travis-ci.org/$TRAVIS_REPO_SLUG/jobs/$prev_good_job_id
>>> +                     To force a re-build delete the branch's cache and then hit 'Restart job'.
>>> +                     EOF
>> 
>> Maybe add a few newlines before and after EOF to make the text more stand out?
>> Or print it in a different color? Maybe red?
>> 
>> See: https://travis-ci.org/szeder/git/jobs/322247836#L622-L625
> 
> I considered using color for the first line, but then didn't do it,
> because I didn't want to decide the color :)
> Anyway, red is the general error/failure color, but this is neither.  It
> could either be green, to match the color of the build job's result, or
> something neutral like blue or yellow.

You are right about red. I think I like yellow to express "warning". But this is just a nit.

"skip_branch_tip_with_tag" could print its output yellow, too.
- Lars
Previous: SZEDER GáborNext: SZEDER Gábor
Message 6 of 22 in “Travis CI: skip commits with successfully built and tested trees”
  1. 0/2 Travis CI: skip commits with successfully built and tested treesSZEDER Gábor, Dec 27, 2017
  2. 2/2 travis-ci: record and skip successfully built treesSZEDER Gábor, Dec 27, 2017
  3. Lars SchneiderDec 27, 2017
  4. SZEDER GáborDec 27, 2017
  5. SZEDER GáborDec 27, 2017
  6. Lars SchneiderDec 28, 2017
  7. SZEDER GáborDec 29, 2017
  8. SZEDER GáborDec 29, 2017
  9. Lars SchneiderDec 30, 2017
  10. Lars SchneiderDec 27, 2017
  11. SZEDER GáborDec 28, 2017
  12. Lars SchneiderDec 28, 2017
  13. Junio C HamanoDec 28, 2017
  14. 1/2 travis-ci: don't try to create the cache directory unnecessarilySZEDER Gábor, Dec 27, 2017
  15. Jonathan NiederDec 27, 2017
  16. SZEDER GáborDec 28, 2017
  17. Jonathan NiederDec 28, 2017
  18. 0/3 Travis CI: skip commits with successfully built and tested treesSZEDER Gábor, Dec 31, 2017
  19. 1/3 travis-ci: print the "tip of branch is exactly at tag" message in colorSZEDER Gábor, Dec 31, 2017
  20. 2/3 travis-ci: create the cache directory early in the build processSZEDER Gábor, Dec 31, 2017
  21. 3/3 travis-ci: record and skip successfully built treesSZEDER Gábor, Dec 31, 2017
  22. Lars SchneiderDec 31, 2017

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.