On Fri, Aug 02, 2019 at 04:06:50PM -0700, Jonathan Nieder wrote:
> SZEDER Gábor wrote:
> > On Thu, Aug 01, 2019 at 06:52:47PM -0700, Jonathan Nieder wrote:
>
> >> Gábor, if we introduce such a parameter, do you think it would make
> >> sense for us to set up a worker that passes it?
> >
> > That would be even worse than the current approach of the third patch,
> > because the additional worker would have to install dependencies,
> > build Git and run the test suite, in addition to the enormous overhead
> > of redundantly validating the trace output of every git command
> > executed during 'make test'. So instead of adding "only" 10 minutes
> > to every build, it would add over 20.
>
> Thanks, that's helpful to know.
>
> It sounds like if we want to run this kind of expensive test in CI, we
> would want to set it up differently: e.g. daily runs against "pu"
> instead of running on every push.
OK, I think that sounds acceptable, though I would suggest to:
- Limit it to 'git/git's 'pu' branch, so others can have their own
'pu' branch without suffering from the consequences.
It seems easy to do so, on Travis CI these are available in the
TRAVIS_BRANCH and TRAVIS_REPO_SLUG environment variables.
I'm not sure what are the equivalent variables on Azure Pipelines,
though.
- Additionally, check an environment variable with a name like
GIT_CI_RUN_EXPENSIVE_JSON_SCHEMA_VALIDATION or something, and if
set, then, well, run the schema validation anyway, no matter what
repo and what branch is being checked. This way if a contributor
cares about schema validation that deeply, then they can set this
env var in Travis CI's repo settings panel for all or for specific
branches, and thus enable validation on those branches of their
git fork, without having to modify any files in the repository.