-
-
Notifications
You must be signed in to change notification settings - Fork 286
intellij integration is broken #308
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
@ittaiz Four of five tests fail with master. The testScalaBinary result actually looks unrelated to macros at first glance. Here's a quick diff for adding intellij aspect testing to The approach of cloning or updating the intellij repo is ugly enough that I'm tempted to recommend a git submodule that tracks intellij master. What sort of approach should we take to managing the dependency on intellij? Using a WORKSPACE dependency seems like the most Bazel-friendly way. Could we then bind |
Why do we need to manage the dependency on IntelliJ?
…On Sun, 15 Oct 2017 at 4:26 Gregg Donovan ***@***.***> wrote:
@ittaiz <https://github.com/ittaiz> Four of five tests fail with master.
The testScalaBinary result actually looks unrelated to macros at first
glance.
Here's a quick diff
<https://gist.github.com/greggdonovan/cd9596ac2bd74b6d6d597991a6f7d437>
for adding intellij aspect testing to test_run.sh that you can use to
reproduce it.
The approach of cloning or updating the intellij repo is ugly enough that
I'm tempted to recommend a git submodule that tracks intellij master
<https://github.com/git/git/blob/master/Documentation/RelNotes/1.8.2.txt#L186:L189>
.
What sort of approach should we take to managing the dependency on
intellij? Using a WORKSPACE dependency seems like the most Bazel-friendly
way. Could we then bind io_bazel_rules_scala to ourself rather than using
--override_repository?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#308 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ABUIFxrUdEmpzscL8U7UEk5b7FAQdoJqks5ssV9igaJpZM4P5ghB>
.
|
I was hoping we could keep the local CI times reasonable. I'm not sure about travis runtimes, as I don't know what the caching options are. But, locally, doing a clean checkout of If you're fine the approach in my diff above -- manually maintaining the intellij clone locally and creating it fresh every time in CI -- that seems like it could be fine. [1] Here's the result of
|
+1 to reasonable CI times. |
:) My experience has been similar. I'll give this a try tomorrow. If the submodule horrors appear, we can use another approach... Related thought: Should we use travis's directory caching to persist the Bazel output_base (perhaps an overriden output_base?) between CI runs? Whether we use a submodule or manual cloning we are likely to add ~5 minutes to our Travis time without persisting the cache. Looking around, it appears Dagger and tensorflow/rust tried adding Bazel caching to Travis but reverted it after issues. But @jart got tensorboard caching working with some careful cache pruning and bazel command args. You think this is worth a shot? |
@damienmg can we set up another ci.bazel.io job to do:
Where we clone rules_scala before? The trigger should be per PR. The reason is that we can't have multiple travis checks and sequentially this will add 5 minutes. |
Empty code section? |
Oops sorry it appeared now, maybe a glitch in GitHub. It cannot be done at the moment but the abseil people are interested in something similar. |
Humm there might be a workaround actually: use the configure step of the CI to do the git clone. I would prefer to do that correctly in the end but that should work for now. |
great! |
We cannot add an additional job (haven't investigated why but Jenkins kill one of the PR vetting when the other finish). I was thinking of adding just a config to the existing job that does this in the configuration step: But IIUC you want to run intellij test on rules_scala PR? We need to fix the bug that prevent us from triggering 2 jobs from one PR (I don't know what is the problem exactly, haven't investigated further, need to prioritize it). |
yes you understand me correctly. @greggdonovan I suggest you open a PR with the above outline, if Oscar won't object until tomorrow we'll continue with it. Not sure we'll be able to merge it since it will break the build but we'll at least have visibility. |
Filed bazelbuild/continuous-integration#142 for the Jenkins issue and bazelbuild/continuous-integration#143 for the nicer feature. The latest is not prioritized but I think we should work now on the former. |
thanks! |
Unfortunately, there is nobody working on CI anymore, Klaus and I barely
maintains it. So until we figure out what is happening with that, I cannot
guarantee any fix soon.
…On Mon, Oct 16, 2017 at 12:15 PM Ittai Zeidman ***@***.***> wrote:
thanks!
Do you think we should wait with this integration for
bazelbuild/continuous-integration#142
<bazelbuild/continuous-integration#142>?
If it's a matter of a days I'd rather wait for it
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#308 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ADjHf1_2TJw_KqkfxQO9hF8mGwLm0BmFks5ssyzcgaJpZM4P5ghB>
.
|
Ok.
Gregg,
Back to original plan
On Mon, 16 Oct 2017 at 13:20 Damien Martin-Guillerez <
[email protected]> wrote:
… Unfortunately, there is nobody working on CI anymore, Klaus and I barely
maintains it. So until we figure out what is happening with that, I cannot
guarantee any fix soon.
On Mon, Oct 16, 2017 at 12:15 PM Ittai Zeidman ***@***.***>
wrote:
> thanks!
> Do you think we should wait with this integration for
> bazelbuild/continuous-integration#142
> <bazelbuild/continuous-integration#142>?
> If it's a matter of a days I'd rather wait for it
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <
#308 (comment)
>,
> or mute the thread
> <
https://github.com/notifications/unsubscribe-auth/ADjHf1_2TJw_KqkfxQO9hF8mGwLm0BmFks5ssyzcgaJpZM4P5ghB
>
> .
>
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#308 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ABUIF5SqG9Jxb2RsA_L187fBFmLXeUcSks5ssy33gaJpZM4P5ghB>
.
|
@ittaiz OK, sounds good. Three other thoughts:
Breakage in intellij-master tells us our What do you think? |
I might be wrong but my instincts are hinting against using too many caching mechanisms, overrides and manual deletions. Re the test matrix- they don't have tags representing the versions since they often don't correlate. I agree with what you're saying but I'm not sure we can control it given @brendandouglas doesn't have the capacity to auto-sync their code. |
I agree. After going through the pros/cons of travis caching or overriding protobuf I'm leaning against it. We may save 2-3 minutes in CI here or there but we may spend quite a bit of time debugging any issues. I think you're approach of having multiple jobs ultimately makes the most sense for keeping CI times reasonable. It's also be nice to separate out the intellij failures from
Here's a version of the diff above testing against both master and what I manually inspected to be the commit representing the live version of the plugin. Clearly this is not ideal, but ultimately it would be nice to have that test matrix. I'll make a ticket for @brendandouglas to see if that can add a git tag when releasing the plugin.
Do you mean the released version of the plugin doesn't match the source code in the public github? |
LGTM.
yes. Brendan said they're not always able to keep them up to date. I also saw that there was a release without a code drop so you couldn't fix any problems of the plugin for yourself if you encountered any. |
we did used to make an ijar which was just a copy of the regular jar for scala_macro_library. Maybe with |
Hm, ok. Then this was changed. Not sure it's a problem though. I'll try to
take a look tomorrow at the rest of the failures and see if there is a
common denominator.
scala_import won't help here since it's for external code unless I'm
missing your point. scala_macro_library is its counterpart for internal code
…On Tue, 17 Oct 2017 at 4:26 P. Oscar Boykin ***@***.***> wrote:
we did used to make an ijar which was just a copy of the regular jar for
scala_macro_library.
Maybe with scala_import we can just always use the full jar along with
the java_provider and things would just work?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#308 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ABUIFySy4_oxjtPqD5T-02XI3ekI5MiVks5stAJigaJpZM4P5ghB>
.
|
The failure with rules_scala master (relevant to 7b9b89b) looks related to scala_macro_library and ijars expectations.
@johnynek did we ever generate an ijar for scala_macro_library? I don't remember and it doesn't make a lot of sense
@chaoren These tests passed at some point right? Any idea how?
@greggdonovan all other tests pass?
The text was updated successfully, but these errors were encountered: