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
next prev parent 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).