+1 to the Lukasz's proposed solution. Depending on artifacts published from
a previous build it's fragile and will add flakiness to our test runs. We
should make pre-commits as hermetic as possible.

Depending on the transitive set of publishToMavenLocal tasks seems
cumbersome, but also necessary.

On a related note: The archetype projects are shelling out to mvn for the
build, which uses the existing pom.xml files. This places a build
dependency on the pom.xml files down to the project root due to parent
relationships. Has there been any investigation on whether we can decouple
archetype generation from our Maven pom.xml files?

On Fri, May 18, 2018 at 10:47 AM Lukasz Cwik <[email protected]> wrote:

> We would need the archetype task to depend on all the dependencies
> publishToMavenLocal tasks transitively and then be configured to use
> whatever that maven local is on Jenkins / dev machine. It would be best if
> it was an ephemeral folder because it would be annoying to have stuff
> installed underneath a devs .m2/ directory that would need cleaning up.
>
> On Fri, May 18, 2018 at 10:41 AM Kenneth Knowles <[email protected]> wrote:
>
>> Is this just a build tweak, or are there costly steps that we'd have to
>> add that would slow down presubmit? (with mvn I know that `test` and
>> `install` did very different amounts of work - because mvn test didn't test
>> the right artifacts, but maybe with Gradle not so much?)
>>
>> On Fri, May 18, 2018 at 9:14 AM Lukasz Cwik <[email protected]> wrote:
>>
>>> The problem with the way that the archetypes tests are run (now with
>>> Gradle and in the past with Maven) is that they run against the nightly
>>> snapshot and not against artifacts from the current build. To get them to
>>> work, we would need to publish the dependent Maven modules to a temporary
>>> repo and instruct the archetype project to use it for building/testing
>>> purposes.
>>>
>>> On Fri, May 18, 2018 at 5:38 AM Kenneth Knowles <[email protected]> wrote:
>>>
>>>> Maybe something has changed, but the snapshots used to pull from the
>>>> public snapshot repo. We got failures for a while every time we cut a
>>>> release branch, but once there was a nightly snapshot they cleared up.
>>>>
>>>> Kenn
>>>>
>>>> On Thu, May 17, 2018 at 9:50 PM Scott Wegner <[email protected]>
>>>> wrote:
>>>>
>>>>> I noticed that tests tests simply run "mvn clean install" on the
>>>>> archetype project. But I don't see any dependent task which installs built
>>>>> artifacts into the local Maven repo. Is that an oversight?
>>>>>
>>>>> If that's the case, perhaps the tests are failing sporadically when
>>>>> there are no previously installed snapshot artifacts cached on the 
>>>>> machine.
>>>>>
>>>>> On Thu, May 17, 2018, 2:45 PM Pablo Estrada <[email protected]>
>>>>> wrote:
>>>>>
>>>>>> I'm seeing failures on Maven Archetype-related tests.
>>>>>>
>>>>>> Build Scan of a sample run: https://scans.gradle.com/s/kr23q43mh6fmk
>>>>>>
>>>>>> And the failure is here specifically:
>>>>>> https://scans.gradle.com/s/kr23q43mh6fmk/console-log?task=:beam-sdks-java-maven-archetypes-examples:generateAndBuildArchetypeTest#L116
>>>>>>
>>>>>>
>>>>>> Does anyone know why this might be happening?
>>>>>> Best
>>>>>> -P.
>>>>>> --
>>>>>> Got feedback? go/pabloem-feedback
>>>>>> <https://goto.google.com/pabloem-feedback>
>>>>>>
>>>>>

Reply via email to