willowtreeapps/Hyperion-Android

Gradlew Publish is separating Hyperion-core, build-config, and core-no-op into separate releases

mrk-han opened this issue ยท 32 comments

Gradlew Publish is separating Hyperion-core, build-config, and core-no-op into separate releases

image

image

image

^ These are all separate releases that show up in staged repositories after release.

Plan is to use https://github.com/gradle-nexus/publish-plugin to publish to help fix, per @evant 's suggestion

I'm getting the following error when trying to add 0.9.36 as a dependency:

> Could not find hyperion-core-0.9.36.aar (com.willowtreeapps.hyperion:hyperion-core:0.9.36).
  Searched in the following locations:
      https://repo.maven.apache.org/maven2/com/willowtreeapps/hyperion/hyperion-core/0.9.36/hyperion-core-0.9.36.aar

Looks like everything but the .aar is in the release.

Thanks @devPalacio , Trying to solve for that now with this issue. Will try to have a PR and release out ASAP. Need to swap out our publishing plugin.

Hi @mrk-han is there any progress on that?
Could we help you in any way?

We are using Hyperion with Leak Canary and it's impossible to work with as Leak Canary blocks the app every time analyzing the heap dump. We've disabled Leak Canary until we can update Hyperion.

Many thanks!

@eduardbosch-jt Hey!

I'm spending some time looking into it now. I'm not super comfortable with publishing plugins / AGP stuff, so when I put up a PR let me know if anything seems super wrong! ๐Ÿ˜„

  1. Adding -Porg.gradle.daemon=false as a low LoE Fix (to the ./gradlew clean publish command)
  2. If that doesn't work then going to try using https://github.com/vanniktech/gradle-maven-publish-plugin -- I have a stash up that implements it, so can add it relatively quickly if this doesn't work.

Great news @mrk-han!
If your fix disabling the Gradle daemon doesn't work, I'll say it would be easier to use the plugin. I think I used it in the past and it's pretty easy to use and configure.

Same thing here

      > Could not find hyperion-build-config-0.9.36.aar (com.willowtreeapps.hyperion:hyperion-build-config:0.9.36).
        Searched in the following locations:
            https://repo.maven.apache.org/maven2/com/willowtreeapps/hyperion/hyperion-build-config/0.9.36/hyperion-build-config-0.9.36.aar
   > Failed to transform hyperion-core-0.9.36.aar (com.willowtreeapps.hyperion:hyperion-core:0.9.36) to match attributes {artifactType=android-res, org.gradle.status=release, org.gradle.usage=java-runtime}.
      > Could not find hyperion-core-0.9.36.aar (com.willowtreeapps.hyperion:hyperion-core:0.9.36).
        Searched in the following locations:
            https://repo.maven.apache.org/maven2/com/willowtreeapps/hyperion/hyperion-core/0.9.36/hyperion-core-0.9.36.aar````

Hello ๐Ÿ‘‹
Any news on fixing the publishing code?

@eduardbosch-jt Hey, sorry I got really sick one week, then was super busy catching up with everything after that!

Just having trouble context switching between that to get this done. I think everything is available if anyone from your team has any bandwidth to submit a PR to swap the publishing plugin, and then I can help with the release after if you want to expedite things. If not, I will sincerely try to get to this in the next week.

Hi @mrk-han. I'm sorry you were sick. I hope you are well now ๐Ÿ™

I've checked the plugin and it does not look difficult to migrate. Anyway, I think it's better to do it on your side, so you can test the publishing yourself.

Have a nice return ๐Ÿ™‚

Hi ๐Ÿ‘‹
any update/news regarding this issue, still getting this message ๐Ÿ™
Could not find hyperion-core-0.9.36.aar (com.willowtreeapps.hyperion:hyperion-core:0.9.36).

@Al-Rasel @eduardbosch-jt @Toubap Can any of y'all double check the implementation here: #244 I'd really appreciate it -- going to check the release in a few hours, but I doubt I got it right the first time xD

Sorry @mrk-han, I was on vacation and I returned on Monday.
The implementation looks good to me.

Did you manage to release a new version? I don't see it in Maven Cental.

@eduardbosch-jt

I need to double check the env variable for username and password -- just saw the error now. I'll push that out this afternoon -- thanks for the ping on this. Balancing a lot at work right now ๐Ÿ˜† ๐Ÿ˜ญ

@mrk-han I raised a PR sometime back with the CI config fixes #247

Here's a reference thread explaining about the CI variables

Hey, any news fixing the publishing or the lib with the leak fixed?
I think it remains only some minor changes that @RationalRank added on #247

Thanks ๐Ÿ™‚

Hey, sorry to comment again, but any luck to release the library?
We have to deactivate leakcanary while using Hyperion and it's quite painful.

From the last message, it looked like we were very close to making the release, right?
Actually, @RationalRank opened a PR to fix the credentials issue #247

Thanks @mrk-han

@eduardbosch-jt Hey man, sorry for the slow updates.

Life IRL has been incredibly busy due to a lot of uncommon things coming up and resolving, and work has had little room to help encourage / promote OSS time while I've been working on a lot of tight timelines.

This might not be much of an excuse as to why I haven't gotten a bit of time to handle this, I just haven't had enough spoons to swap over into this context and get it done lately. Will try to have something for you soon or I'll reach out to see if someone can handle this internally.

Thanks for your patience, and feel free to keep pinging me to remind me if I forget again! I really won't mind at all.

I totally understand @mrk-han
I hope you or someone can have a little bit of time to tackle this.

Many thanks โค๏ธ

@eduardbosch-jt Handling it now!

Looks like there's some security flag that might be from a misconfigured API key. I'm in contact with our security team to address before I merge #247 --- thanks so much for this @RationalRank

Update: I'm getting access to the current security org (we were blocked because the org we were in wasn't the right one, and I didn't have access).

Our team is making a new org and granting me access to check the failure, I'll address or ignore the security concern and then we can merge #247 and continue with the release.

Great @mrk-han โค๏ธ
Thanks for sharing the progress here. It helps a lot.

Let us know if we can help you in any way.

image

gpg: directory '/home/circleci/.gnupg' created
gpg: keybox '/home/circleci/.gnupg/pubring.kbx' created
gpg: no valid OpenPGP data found.
gpg: Total number processed: 0

Exited with code exit status 2

Here's the latest error -- does anyone have an idea of why this is happening? I just don't have much bandwidth right now to troubleshoot, I'll try to get to it this weekend

@eduardbosch-jt @RationalRank

It looks like our security team may have deleted the private key stored on CircleCI after the recent breach, so I'll go ahead and generate a new one and see if that fixes this issue -- thanks for your patience everyone

Already making progress on this, keys were rotated and I'll update y'all asap

Update: Replaced the gpg key and keyID, swapped the keyID to be an env variable to swap more easily in the future -- and when I thought everything was going to be working I got a daemon crash Gradle build daemon disappeared unexpectedly (it may have been killed or may have crashed)

Hopefully this will be wrapped up soon ๐Ÿ˜„

Looks like we finally got a successful build! https://app.circleci.com/pipelines/github/willowtreeapps/Hyperion-Android/100/workflows/fd05e20d-f60d-441c-bc0f-71f6da2ad224/jobs/317

The trick ended up being going up to the larger resource class ๐Ÿ˜ฌ

I went ahead and released the repository on nexus repository manager, so let me know if everything is working on y'all's end (hopefully it is) and I'll close this issue.

Thanks everyone for your help and patience on this.

CC: @eduardbosch-jt @RationalRank @Toubap @devPalacio

Thanks for fixing it and also for sharing the ongoing progress โค๏ธ
I'll check as soon as I can and get back to you.
You are so big @mrk-han ๐Ÿ”

Works like a charm @mrk-han
Thanks for taking care of this โค๏ธ

Woo hoo! Thanks @eduardbosch-jt. Closing this out