Exactly. What you have said is what we should move towards IMO.

On Tue, Mar 26, 2019 at 4:02 PM Michael Luckey <[email protected]> wrote:

>
>
> On Tue, Mar 26, 2019 at 11:40 PM Kenneth Knowles <[email protected]> wrote:
>
>> +1 to separating integration tests from "build". It should be able to
>> succeed without internet access (if deps are cached).
>>
>
> Big +1 here.
>
> I d even suggest the following:
> - ./gradlew build must succeed 'offline' (if deps cached)
> - no flaky tests on build target. Flaky tests should be 'offloaded' to
> preCommit (probably)
>
>   Main point here from my side would be user experience. If someone
> downloads released source code, she must be able to just do a './gradlew
> build publishToMavenLocal' without failing tests. Not fully understood
> python/go in this context, though.
>
> - no docker tests on build target
>
>   imho just to much of required infrastructure for a 'build'
>
>
>
>
>>
>> On Tue, Mar 26, 2019 at 3:18 PM Michael Luckey <[email protected]>
>> wrote:
>>
>>> Of course, we could implement something here. But I am worried about the
>>> consequences. As gogradle writes into (user) global state this would have
>>> unexpected side effects.
>>>
>>> Consider a developer running Project A - which happens to also use
>>> gogradle - and during build of that project issues an innocent beam clean.
>>> Would be no fun to track all that failures arising out of those now deleted
>>> state.
>>>
>>> Unfortunately, I do not have a clear understanding yet, what's going on
>>> here, why that cache is put there and how it gets inconsistent. Need to
>>> look into that. (But might be obsoleted anyway by Roberts plans to drop
>>> gogradle for something different.)
>>>
>>> On Tue, Mar 26, 2019 at 7:28 PM Thomas Weise <[email protected]> wrote:
>>>
>>>> Can this be addressed by having "clean" remove all state that gogradle
>>>> leaves behind? This staleness issue has bitten me a few times also and it
>>>> would be good to have a reliable way to deal with it, even if it involves
>>>> an extra clean.
>>>>
>>>>
>>>> On Tue, Mar 26, 2019 at 11:14 AM Michael Luckey <[email protected]>
>>>> wrote:
>>>>
>>>>> @Udi
>>>>> Did you try to just delete the
>>>>> '/usr/local/google/home/ehudm/.gradle/go/repo/cloud.google.com'
>>>>> folder?
>>>>>
>>>>> @Robert
>>>>> As said before, I am a bit scared about the implications. Shelling out
>>>>> is done by python, and from build perspective, this does not work very
>>>>> well, unfortunately. I.e. no caching, up-to-date checks etc...
>>>>>
>>>>> But of course, we need to play with this a bit more.
>>>>>
>>>>> On Tue, Mar 26, 2019 at 6:24 PM Robert Burke <[email protected]>
>>>>> wrote:
>>>>>
>>>>>> Reading the error from the gradle scan, it largely looks like some
>>>>>> part of the GCP dependencies for the build depends on a package, where 
>>>>>> the
>>>>>> commit version is no longer around. The main issue with gogradle is that
>>>>>> it's entirely distinct from the usual Go workflow, which means deps users
>>>>>> use are likely to be different to what's in the lock file.
>>>>>>
>>>>>> This work will be tracked in
>>>>>> https://issues.apache.org/jira/browse/BEAM-5379
>>>>>> GoGradle hasn't moved to support the new-go way of handling deps, so
>>>>>> my inclination is to simplify to simple scripts for Gradle that shell out
>>>>>> the to Go tool for handling Go dep management, over trying to fix 
>>>>>> GoGradle.
>>>>>>
>>>>>> On Tue, 26 Mar 2019 at 09:43, Udi Meiri <[email protected]> wrote:
>>>>>>
>>>>>>> Robert, from what I recall it's not flaky for me - it consistently
>>>>>>> fails. Let me know if there's a way to get more logging about this 
>>>>>>> error.
>>>>>>>
>>>>>>> On Mon, Mar 25, 2019, 19:50 Robert Burke <[email protected]> wrote:
>>>>>>>
>>>>>>>> It's concerning to me that 1) the Go dependency resolution via
>>>>>>>> gogradle is flaky, and 2) that it can block other languages.
>>>>>>>>
>>>>>>>> I suppose 2) makes sense since it's part of the container
>>>>>>>> bootstrapping code, but that makes 1) a serious problem, of which I 
>>>>>>>> wasn't
>>>>>>>> aware.
>>>>>>>> I should have time to investigate this in the next two weeks.
>>>>>>>>
>>>>>>>> On Mon, 25 Mar 2019 at 18:08, Michael Luckey <[email protected]>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> Just for the record,
>>>>>>>>>
>>>>>>>>> using a vm here, because did not yet get all task running on my
>>>>>>>>> mac, and did not want to mess with my setup.
>>>>>>>>>
>>>>>>>>> So installed vanilla ubuntu-18.04 LTS on virtual box, 26GB ram, 6
>>>>>>>>> cores and further
>>>>>>>>>
>>>>>>>>> sudo apt update
>>>>>>>>>
>>>>>>>>> sudo apt install gcc
>>>>>>>>>
>>>>>>>>> sudo apt install make
>>>>>>>>>
>>>>>>>>> sudo apt install perl
>>>>>>>>>
>>>>>>>>> sudo apt install curl
>>>>>>>>>
>>>>>>>>> sudo apt install openjdk-8-jdk
>>>>>>>>>
>>>>>>>>> sudo apt install python
>>>>>>>>>
>>>>>>>>> sudo apt install -y software-properties-common
>>>>>>>>>
>>>>>>>>> sudo add-apt-repository ppa:deadsnakes/ppa
>>>>>>>>>
>>>>>>>>> sudo apt update
>>>>>>>>>
>>>>>>>>> sudo apt install python3.5
>>>>>>>>>
>>>>>>>>> sudo apt-get install apt-transport-https ca-certificates curl
>>>>>>>>> gnupg-agent software-properties-common
>>>>>>>>>
>>>>>>>>> curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo
>>>>>>>>> apt-key add -
>>>>>>>>>
>>>>>>>>> sudo apt-key fingerprint 0EBFCD88
>>>>>>>>>
>>>>>>>>> sudo add-apt-repository "deb [arch=amd64]
>>>>>>>>> https://download.docker.com/linux/ubuntu \
>>>>>>>>>
>>>>>>>>> $(lsb_release -cs) \
>>>>>>>>>
>>>>>>>>> stable"
>>>>>>>>>
>>>>>>>>> sudo apt-get update
>>>>>>>>>
>>>>>>>>> sudo apt-get install docker-ce docker-ce-cli containerd.io
>>>>>>>>>
>>>>>>>>> sudo groupadd docker
>>>>>>>>>
>>>>>>>>> sudo usermod -aG docker $USER
>>>>>>>>>
>>>>>>>>> git config --global user.email "[email protected]"
>>>>>>>>>
>>>>>>>>> git config --global user.name "Some Guy"
>>>>>>>>>
>>>>>>>>> curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
>>>>>>>>>
>>>>>>>>> sudo python get-pip.py
>>>>>>>>>
>>>>>>>>> rm get-pip.py
>>>>>>>>>
>>>>>>>>> sudo pip install --upgrade virtualenv
>>>>>>>>>
>>>>>>>>> sudo pip install cython
>>>>>>>>>
>>>>>>>>> sudo apt-get install python-dev
>>>>>>>>>
>>>>>>>>> sudo apt-get install python3-distutils
>>>>>>>>>
>>>>>>>>> sudo apt-get install python3-dev # for python3.x installs
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> git clone https://github.com/apache/beam.git cd beam/ ./gradlew
>>>>>>>>> build
>>>>>>>>>
>>>>>>>>> Nothing else changed/added. (hopefully, need to reassure myself
>>>>>>>>> here)
>>>>>>>>>
>>>>>>>>> Unfortunately, this is failing. Need to exclude those python tests
>>>>>>>>> (and of course website, which usually fails on lira links)
>>>>>>>>>
>>>>>>>>> So I might be missing some env settings for gap, dunno. Probably
>>>>>>>>> missed some docs.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Tue, Mar 26, 2019 at 1:46 AM Michael Luckey <
>>>>>>>>> [email protected]> wrote:
>>>>>>>>>
>>>>>>>>>> Thanks Udi for trying that!
>>>>>>>>>>
>>>>>>>>>> In fact, the go dependency resolution is flaky. Did not look into
>>>>>>>>>> that, but just rerunning usually works. Of course, less than 
>>>>>>>>>> optimal, but,
>>>>>>>>>> well...
>>>>>>>>>>
>>>>>>>>>> Running build target is of course just an aggregation of task to
>>>>>>>>>> run. And unfortunately just running that
>>>>>>>>>>
>>>>>>>>>> ./gradlew  :beam-sdks-python:testPy2Gcp
>>>>>>>>>>
>>>>>>>>>> stalls on my (virtual) machine.
>>>>>>>>>>
>>>>>>>>>> On Tue, Mar 26, 2019 at 1:35 AM Udi Meiri <[email protected]>
>>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>>> Okay, `./gradlew build` failed pretty quickly for me:
>>>>>>>>>>>
>>>>>>>>>>> > Task :beam-sdks-go:resolveBuildDependencies FAILED
>>>>>>>>>>> cloud.google.com/go:
>>>>>>>>>>> commit='4f6c921ec566a33844f4e7879b31cd8575a6982d', urls=[
>>>>>>>>>>> https://code.googlesource.com/gocloud] does not exist in
>>>>>>>>>>> /usr/local/google/home/ehudm/.gradle/go/repo/
>>>>>>>>>>> cloud.google.com/go/625660c387d9403fde4d73cacaf2d2ac, updating
>>>>>>>>>>> will be performed.
>>>>>>>>>>>
>>>>>>>>>>> https://gradle.com/s/x5zqbc5zwd3bg
>>>>>>>>>>>
>>>>>>>>>>> (Now I remember why I stopped using `build` :/)
>>>>>>>>>>>
>>>>>>>>>>> On Mon, Mar 25, 2019 at 5:30 PM Udi Meiri <[email protected]>
>>>>>>>>>>> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> It shouldn't stall. That's a bug.
>>>>>>>>>>>> OTOH, I never use the `build` target.
>>>>>>>>>>>> I'll try running that myself.
>>>>>>>>>>>>
>>>>>>>>>>>> On Mon, Mar 25, 2019, 07:24 Michael Luckey <[email protected]>
>>>>>>>>>>>> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Hi,
>>>>>>>>>>>>>
>>>>>>>>>>>>> trying to run './gradlew build' on vanilla setup, my build
>>>>>>>>>>>>> consistently stalls during execution of python gcp tests, e.g. on 
>>>>>>>>>>>>> both of
>>>>>>>>>>>>> - > :beam-sdks-python:testPy2Gcp
>>>>>>>>>>>>> - > :beam-sdks-python-test-suites-tox-py35:testPy35Gcp
>>>>>>>>>>>>>
>>>>>>>>>>>>> Console output:
>>>>>>>>>>>>> #### snip ####
>>>>>>>>>>>>> test_big_query_standard_sql
>>>>>>>>>>>>> (apache_beam.io.gcp.big_query_query_to_table_it_test.BigQueryQueryToTableIT)
>>>>>>>>>>>>> ... SKIP: IT is skipped because --test-pipeline-options is not 
>>>>>>>>>>>>> specified
>>>>>>>>>>>>> test_big_query_standard_sql_kms_key
>>>>>>>>>>>>> (apache_beam.io.gcp.big_query_query_to_table_it_test.BigQueryQueryToTableIT)
>>>>>>>>>>>>> ... SKIP: This test requires BQ Dataflow native source support 
>>>>>>>>>>>>> for KMS,
>>>>>>>>>>>>> which is not available yet.
>>>>>>>>>>>>> test_multiple_destinations_transform
>>>>>>>>>>>>> (apache_beam.io.gcp.bigquery_file_loads_test.BigQueryFileLoadsIT) 
>>>>>>>>>>>>> ... SKIP:
>>>>>>>>>>>>> IT is skipped because --test-pipeline-options is not specified
>>>>>>>>>>>>> test_one_job_fails_all_jobs_fail
>>>>>>>>>>>>> (apache_beam.io.gcp.bigquery_file_loads_test.BigQueryFileLoadsIT) 
>>>>>>>>>>>>> ... SKIP:
>>>>>>>>>>>>> IT is skipped because --test-pipeline-options is not specified
>>>>>>>>>>>>> test_records_traverse_transform_with_mocks
>>>>>>>>>>>>> (apache_beam.io.gcp.bigquery_file_loads_test.TestBigQueryFileLoads)
>>>>>>>>>>>>>  ...
>>>>>>>>>>>>>
>>>>>>>>>>>>> output ends here, would expect a failed or ok here.
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Afterwards no progress - even waiting for hours. Any idea,
>>>>>>>>>>>>> what might be causing this? Do I need to add some GCP properties 
>>>>>>>>>>>>> for this
>>>>>>>>>>>>> task ?
>>>>>>>>>>>>>
>>>>>>>>>>>>> Any ideas, what I am doing wrong?
>>>>>>>>>>>>>
>>>>>>>>>>>>> best,
>>>>>>>>>>>>>
>>>>>>>>>>>>> michel
>>>>>>>>>>>>>
>>>>>>>>>>>>>

Reply via email to