Hi Jason,

The kokoro environment provides many installed software including clang
toolchain. If you need a more complete list of available SW, LMK.

/usr/bin $ ls -l clang*
lrwxrwxrwx 1 root root 25 Feb 12  2015 clang-3.5 ->
../lib/llvm-3.5/bin/clang
lrwxrwxrwx 1 root root 27 Feb 12  2015 clang++-3.5 ->
../lib/llvm-3.5/bin/clang++
lrwxrwxrwx 1 root root 25 Jul 23  2018 clang-3.6 ->
../lib/llvm-3.6/bin/clang
lrwxrwxrwx 1 root root 27 Jul 23  2018 clang++-3.6 ->
../lib/llvm-3.6/bin/clang++
lrwxrwxrwx 1 root root 25 Jul 18  2017 clang-3.8 ->
../lib/llvm-3.8/bin/clang
lrwxrwxrwx 1 root root 27 Jul 18  2017 clang++-3.8 ->
../lib/llvm-3.8/bin/clang++
lrwxrwxrwx 1 root root 25 Jul 26  2017 clang-3.9 ->
../lib/llvm-3.9/bin/clang
lrwxrwxrwx 1 root root 27 Jul 26  2017 clang++-3.9 ->
../lib/llvm-3.9/bin/clang++
lrwxrwxrwx 1 root root 44 Feb 12  2015 clang-apply-replacements-3.5 ->
../lib/llvm-3.5/bin/clang-apply-replacements
lrwxrwxrwx 1 root root 44 Jul 23  2018 clang-apply-replacements-3.6 ->
../lib/llvm-3.6/bin/clang-apply-replacements
lrwxrwxrwx 1 root root 44 Jul 18  2017 clang-apply-replacements-3.8 ->
../lib/llvm-3.8/bin/clang-apply-replacements
lrwxrwxrwx 1 root root 44 Jul 26  2017 clang-apply-replacements-3.9 ->
../lib/llvm-3.9/bin/clang-apply-replacements
lrwxrwxrwx 1 root root 31 Feb 12  2015 clang-check-3.5 ->
../lib/llvm-3.5/bin/clang-check
lrwxrwxrwx 1 root root 31 Jul 23  2018 clang-check-3.6 ->
../lib/llvm-3.6/bin/clang-check
lrwxrwxrwx 1 root root 31 Jul 18  2017 clang-check-3.8 ->
../lib/llvm-3.8/bin/clang-check
lrwxrwxrwx 1 root root 31 Jul 26  2017 clang-check-3.9 ->
../lib/llvm-3.9/bin/clang-check
lrwxrwxrwx 1 root root 28 Jul 18  2017 clang-cl-3.8 ->
../lib/llvm-3.8/bin/clang-cl
lrwxrwxrwx 1 root root 28 Jul 26  2017 clang-cl-3.9 ->
../lib/llvm-3.9/bin/clang-cl
lrwxrwxrwx 1 root root 39 Jul 26  2017 clang-include-fixer-3.9 ->
../lib/llvm-3.9/bin/clang-include-fixer
lrwxrwxrwx 1 root root 31 Feb 12  2015 clang-query-3.5 ->
../lib/llvm-3.5/bin/clang-query
lrwxrwxrwx 1 root root 31 Jul 23  2018 clang-query-3.6 ->
../lib/llvm-3.6/bin/clang-query
lrwxrwxrwx 1 root root 31 Jul 18  2017 clang-query-3.8 ->
../lib/llvm-3.8/bin/clang-query
lrwxrwxrwx 1 root root 31 Jul 26  2017 clang-query-3.9 ->
../lib/llvm-3.9/bin/clang-query
lrwxrwxrwx 1 root root 32 Jul 23  2018 clang-rename-3.6 ->
../lib/llvm-3.6/bin/clang-rename
lrwxrwxrwx 1 root root 32 Jul 18  2017 clang-rename-3.8 ->
../lib/llvm-3.8/bin/clang-rename
lrwxrwxrwx 1 root root 32 Jul 26  2017 clang-rename-3.9 ->
../lib/llvm-3.9/bin/clang-rename
lrwxrwxrwx 1 root root 32 Feb 12  2015 clang-tblgen-3.5 ->
../lib/llvm-3.5/bin/clang-tblgen
lrwxrwxrwx 1 root root 32 Jul 23  2018 clang-tblgen-3.6 ->
../lib/llvm-3.6/bin/clang-tblgen
lrwxrwxrwx 1 root root 32 Jul 26  2017 clang-tblgen-3.9 ->
../lib/llvm-3.9/bin/clang-tblgen
lrwxrwxrwx 1 root root 30 Feb 12  2015 clang-tidy-3.5 ->
../lib/llvm-3.5/bin/clang-tidy
lrwxrwxrwx 1 root root 30 Jul 23  2018 clang-tidy-3.6 ->
../lib/llvm-3.6/bin/clang-tidy


FYI, kokoro can use custom VM images or docker (via GCR) if there is need
to change environment.
I can grant limited users (only from gem5-admins ACL) access to a
test-debug VM to check the kokoro GCP Ubuntu platform/env. Please email me
your ssh public key.

Thanks,
Rahul.


On Fri, May 3, 2019 at 9:53 AM Jason Lowe-Power <ja...@lowepower.com> wrote:

> Thanks for the info, Rahul!
>
> Is there any way to specify a different compiler (e.g., clang) when
> building on kokoro?
>
> Thanks,
> Jason
>
> On Fri, May 3, 2019 at 9:12 AM Rahul Thakur <rjtha...@google.com> wrote:
>
>> Hi Giacomo, Jason,
>>
>> Sorry for late reply.
>> Re: tool chain - scons and python are available in the test environment
>> AFAIK.
>> Re: test throughput - How long does kokoro take to finish current
>> presubmit test?
>>
>> If you have much longer tests to run at periodic frequency, say once in a
>> few days, on HEAD, kokoro also has a periodic continuous build mode. Such
>> test will send out email report, serving as a pulse check for ToT.
>> Presubmit jobs will not be influenced. I can look in to periodic builds if
>> it fits for gem5 long regression use case.
>>
>> RT
>>
>> On Fri, May 3, 2019 at 6:17 AM Giacomo Travaglini <
>> giacomo.travagl...@arm.com> wrote:
>>
>>> Hi Jason,
>>>
>>> I have seen patches being under review for a long time, and IMHO adding
>>> an extra 10-30 mins is not the real bottleneck.
>>> I'd rather wait a little bit more but being sure I am not breaking
>>> anything...
>>>
>>> about ruby protocols, let me say that we (in arm) are relatively happy
>>> with the current setup:
>>>
>>> 1) Quick regressions are run on a commit base (your presubmit.sh). This
>>> means it won't take a lot of time/computation
>>> 2) Long regressions (ruby protocols are tested here) are run every night
>>> on a batch of MERGED commits.
>>> Which means at a certain point we just checkout origin/HEAD and we run
>>> long regressions.
>>>
>>> This is the setup I would actually recommend: a sanity suite (quick)
>>> being run on a commit base, and more serious tests
>>> (long) being run periodically. If you are scared about overloading the
>>> framework, you can always scale down our ambition
>>> and run long regressions every two nights.
>>> Running less frequently is better than not running at all 🙂
>>>
>>> Please let me know what you think about this; other devs are welcome to
>>> comment as well,
>>>
>>> Giacomo
>>>
>>>
>>> ------------------------------
>>> *From:* Jason Lowe-Power <ja...@lowepower.com>
>>> *Sent:* 02 May 2019 22:59
>>> *To:* Giacomo Travaglini; Rahul Thakur
>>> *Cc:* gem5 Developer List
>>> *Subject:* Re: [gem5-dev] Continuous integration is live!
>>>
>>> Hi Giacomo,
>>>
>>> In tests/main.py we call scons and use the current environment defaults
>>> to build gem5. I don't know if the kokoro infrastructure supports other
>>> compilers. This might be something that Rahul can address.
>>>
>>> I'm also not sure if we can find a way to run more compilations in
>>> parallel on Kokoro. I'm happy to refactor the test scripts to do this.
>>> However, as it is, we are currently compiling at least 4 binaries mostly
>>> sequentially, which is making the testing take a significant amount of
>>> time. If we add more compilers (and more Ruby protocols), this is going to
>>> begin to get out of hand. It would also be good to compile .fast, .opt, and
>>> .debug, but I believe we're only compiling .opt right now.
>>>
>>> Cheers,
>>> Jason
>>>
>>> On Thu, May 2, 2019 at 5:53 AM Giacomo Travaglini <
>>> giacomo.travagl...@arm.com> wrote:
>>>
>>> Hi Jason,
>>>
>>> I understand; Another thing I would like to ask:
>>>
>>> Which script is building gem5 in jenkins? Ideally it would be nice to
>>> build with BOTH gcc and clang (so that we avoid
>>> periodic "fix clang build" patches. I would also make the version
>>> configurable/visible from the script so that
>>> we can track changes in compiler support and people can compare failures
>>> in case they managed to build
>>> seamlessly on their local workspace
>>>
>>> Giacomo
>>> ------------------------------
>>> *From:* Jason Lowe-Power <ja...@lowepower.com>
>>> *Sent:* 26 April 2019 17:49
>>> *To:* Giacomo Travaglini
>>> *Cc:* gem5 Developer List
>>> *Subject:* Re: [gem5-dev] Continuous integration is live!
>>>
>>> Hi Giacomo,
>>>
>>> You *do* have permission :). Anyone can modify
>>> tests/jenkins/presubmit.cfg and presubmit.sh. In fact, if you look at the
>>> history of the presubmit.sh, it *was* running the old tests. See
>>> https://gem5-review.googlesource.com/c/testing/jenkins-gem5-prod/+/18028,
>>> for instance.
>>>
>>> The problem is that we can't distribute most of the binaries (e.g., SPEC
>>> binaries). We could probably upload them to a private location on the
>>> Google Cloud and have jenkins consume them that way, but I believe that
>>> will be more work than it's worth.
>>>
>>> I personally believe that putting effort into porting tests is more
>>> worth everyone's time than trying to get the old tests to run, but that's
>>> just my opinion. I'm happy to merge changes to run the old tests. I
>>> personally believe we should only merge tests into the verification tester
>>> which everyone can run locally, but I'm open to proprietary tests,
>>> especially in the short term if we have a plan to make them not proprietary.
>>>
>>> Cheers,
>>> Jason
>>>
>>> On Fri, Apr 26, 2019 at 9:36 AM Giacomo Travaglini <
>>> giacomo.travagl...@arm.com> wrote:
>>>
>>> Hi Jason,
>>>
>>> It's really amazing that we have a testing framework in place, thanks
>>> for your effort!
>>> At the moment as far as I can tell we are only running tests registered
>>> within the new
>>> testing library.
>>>
>>> I was wondering if we could temporarily enable the system to run legacy
>>> quick regressions as well,
>>> while waiting for porting those to the new library. I guess it is
>>> something that shouldn't require a lot of work
>>>
>>> (just calling .util/regress I guess)
>>>
>>> I am saying this since a patch recently merged broke some syscall
>>> emulation tests and I think it would
>>> be beneficial for us to run the entire test suite straightaway while
>>> porting tests manually.
>>> I could even handle it myself if I had permission to configure the
>>> system.
>>>
>>> Let me know your thoughts,
>>>
>>> Giacomo
>>>
>>> ------------------------------
>>> *From:* gem5-dev <gem5-dev-boun...@gem5.org> on behalf of Jason
>>> Lowe-Power <ja...@lowepower.com>
>>> *Sent:* 16 April 2019 16:30
>>> *To:* gem5 Developer List; Rahul Thakur
>>> *Subject:* [gem5-dev] Continuous integration is live!
>>>
>>> Hi all,
>>>
>>> We now have initial support for continuous integration testing! We should
>>> all thank Google for donating the CPU time and infrastructure to run
>>> these
>>> tests. Specifically, Rahul Thakur has been incredibly helpful for the
>>> past
>>> two years in getting this off the ground. Thanks, Rahul and the rest of
>>> the
>>> team at Google who has been helping us set this up!
>>>
>>> Now, if you submit a patch to gerrit and receive a maintainer +1,
>>> "kokoro"
>>> will kick off a build / test of gem5. Once that is complete, you will
>>> receive a verified +1. If it fails, you will receive a verified -1. The
>>> logs can be viewed by anyone once the job is completed by following the
>>> link posted by kokoro (the https://source.cloud.google.com, not the
>>> sponge
>>> link). You can see an example on a patch I recently submitted here:
>>> https://gem5-review.googlesource.com/c/public/gem5/+/18068. Note that
>>> the
>>> tests take a couple of hours to run. However, I believe there is no limit
>>> to the number of different changes that can be tested at the same time.
>>>
>>> Soon, we are going to enable commit gating with the verified +1 tag.
>>> I.e.,
>>> you will have to pass the continuous integration tests before you can
>>> commit your code.
>>>
>>> Note that this is using the "new" testing infrastructure. You can run
>>> this
>>> locally by running "./main.py" in the tests directory. More information
>>> about how to run tests and add tests can be found in the TESTING.md file.
>>> If there are any questions/issues do not hesitate to contact me or the
>>> list. The documentation for the new infrastructure can still be improved.
>>> Right now, we're running about 30 tests. You can find the tests that we
>>> are
>>> running in the tests/gem5 directory.
>>>
>>> We are looking for volunteers to help us port more of the old tests to
>>> the
>>> new infrastructure and to expand the coverage of our tests. I'm happy to
>>> help anyone get started on this and point out which tests still need to
>>> be
>>> migrated, where our biggest coverage holes are, etc.
>>>
>>> Cheers,
>>> Jason
>>> _______________________________________________
>>> gem5-dev mailing list
>>> gem5-dev@gem5.org
>>> http://m5sim.org/mailman/listinfo/gem5-dev
>>> IMPORTANT NOTICE: The contents of this email and any attachments are
>>> confidential and may also be privileged. If you are not the intended
>>> recipient, please notify the sender immediately and do not disclose the
>>> contents to any other person, use it for any purpose, or store or copy the
>>> information in any medium. Thank you.
>>>
>>> IMPORTANT NOTICE: The contents of this email and any attachments are
>>> confidential and may also be privileged. If you are not the intended
>>> recipient, please notify the sender immediately and do not disclose the
>>> contents to any other person, use it for any purpose, or store or copy the
>>> information in any medium. Thank you.
>>>
>>> IMPORTANT NOTICE: The contents of this email and any attachments are
>>> confidential and may also be privileged. If you are not the intended
>>> recipient, please notify the sender immediately and do not disclose the
>>> contents to any other person, use it for any purpose, or store or copy the
>>> information in any medium. Thank you.
>>>
>>
_______________________________________________
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to