git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Johannes Schindelin <Johannes.Schindelin@gmx.de>
To: Junio C Hamano <gitster@pobox.com>
Cc: Lars Schneider <larsxschneider@gmail.com>,
	git@vger.kernel.org, peff@peff.net
Subject: Re: [PATCH v1] travis-ci: build and test Git on Windows
Date: Thu, 23 Mar 2017 17:22:51 +0100 (CET)	[thread overview]
Message-ID: <alpine.DEB.2.20.1703231716320.3767@virtualbox> (raw)
In-Reply-To: <xmqqwpbhjej6.fsf@gitster.mtv.corp.google.com>

Hi Junio,

On Wed, 22 Mar 2017, Junio C Hamano wrote:

> Lars Schneider <larsxschneider@gmail.com> writes:
> 
> > Therefore, we did the following:
> > * Johannes Schindelin set up a Visual Studio Team Services build
> >   sponsored by Microsoft and made it accessible via an Azure Function
> >   that speaks a super-simple API. We made TravisCI use this API to
> >   trigger a build, wait until its completion, and print the build and
> >   test results.
> > * A Windows build and test run takes up to 3h and TravisCI has a timeout
> >   after 50min for Open Source projects. Since the TravisCI job does not
> >   use heavy CPU/memory/etc. resources, the friendly TravisCI folks
> >   extended the job timeout for git/git to 3h.
> 
> The benefit is that Windows CI does not have to subscribe to the
> GitHub repository to get notified (instead uses Travis as a relay
> for update notification) and the result can be seen at the same
> place as results on other platforms Travis natively support are
> shown?  

Almost... Windows CI *cannot* subscribe to the GitHub repository, as only
owners can install web hooks and give permission to update build status.

But yeah, you understand correctly: this innocuous change (along with a
ton of work I already finished on my side) allows us to let Travis trigger
Windows build & test and to attach the log in the same place as the
Linux/OSX results are already accessible.

> > Things, that would need to be done:
> > * Someone with write access to https://travis-ci.org/git/git would need
> >   to add the secret token as "GFW_CI_TOKEN" variable in the TravisCI
> >   repository setting [1]. Afterwards the build should just work.
> 
> We need to make sure this does not leak to the execution log of
> Travis.
> 
> For example, in https://travis-ci.org/git/git/jobs/213616973, which
> is a log of the documentation build for #1335.6 ran for the 'master'
> branch, you can see "ci/test-documentation.sh" string appearing in
> the log twice.  This comes from "script:" part, which is the same
> mechanism this patch uses to invoke the new script with sekrit on
> the command line.
> 
> I am expecting that no expansion of "$GFW_CI_TOKEN" will be shown in
> the output, but I've seen an incident where an unsuspecting 'set -x'
> or '$cmd -v' revealed something that shouldn't have been made
> public.  I want to make sure we are sure that the command line this
> patch adds does not get echoed with expansion to the log.

Right, typically there is a way in CI setups that marks certain strings as
secret and whenever they appear in the log, they will be blotted out.

> Is GFW_CI_TOKEN known to be safe without double-quote around it, by
> the way?

Yes, it is safe without double-quotes. I generated it using:

	dd if=/dev/urandom bs=20 count=1 2> /dev/null | base64

> > Things, that might need to be done:
> > * The Windows box can only process a single build at a time. A second
> >   Windows build would need to wait until the first finishes.
> 
> Perhaps instead of accumulating pending requests, perhaps we can
> arrange so that Travis skips a build/test request that is not even
> started yet for the same branch?  For branches that are never
> rewound, a breakage in an earlier pushout would either show in a
> later pushout of the same branch (if breakage is not fixed yet), or
> doesn't (if the later pushout was to fix that breakage), and in
> either case, it is not useful to test the earlier pushout when a
> newer one is already available for testing.  For branches that are
> constantly rewound, again, it is not useful to test the earlier
> pushout when a newer one is already available for testing.

Yes, I think we have to use some kind of "skip" status if the build failed
to run or finish in time. But I thought that the "timeout" status would
fulfill that desire...

Ciao,
Dscho

  reply	other threads:[~2017-03-23 16:23 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-22  6:56 [PATCH v1] travis-ci: build and test Git on Windows Lars Schneider
2017-03-22 15:49 ` Johannes Schindelin
2017-03-23 18:19   ` Lars Schneider
2017-03-22 19:29 ` Junio C Hamano
2017-03-23 16:22   ` Johannes Schindelin [this message]
2017-03-23 18:01     ` Jeff King
2017-03-23 19:12       ` Junio C Hamano
2017-03-23 19:17         ` Jeff King
2017-03-23 19:26           ` Lars Schneider
2017-03-23 19:30             ` Junio C Hamano
2017-03-23 19:36               ` Lars Schneider
2017-03-23 20:10                 ` Junio C Hamano
2017-03-23 19:38             ` Jeff King
2017-03-23 20:00               ` Lars Schneider
2017-03-23 20:20                 ` Jeff King
2017-03-23 20:30                   ` Junio C Hamano
2017-03-23 20:41                     ` Jeff King
2017-03-23 20:39                   ` Lars Schneider
2017-03-23 20:42                     ` Jeff King
2017-03-24 23:50                   ` Johannes Schindelin
2017-03-23 21:04               ` Samuel Lijin
2017-03-23 19:15       ` Junio C Hamano
2017-03-23 18:23   ` Lars Schneider
2017-03-23 20:16 ` Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=alpine.DEB.2.20.1703231716320.3767@virtualbox \
    --to=johannes.schindelin@gmx.de \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=larsxschneider@gmail.com \
    --cc=peff@peff.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).