BasedHardware / Friend

AI wearable necklace
https://basedhardware.com
MIT License
2.06k stars 221 forks source link

Automate development and production releases [$700] #298

Open josancamon19 opened 2 weeks ago

josancamon19 commented 2 weeks ago

Is your feature request related to a problem? Please describe. Use Github Actions + Fastlane to automate releases to alpha and production channels. When pushing to development branch, it should push a version to Testflight, and for android it should push an alpha version, when pushing to production, it should create draft releases for each platform.

Describe the solution you'd like When someone pushes to development or main, it should do what mentioned above.

Describe alternatives you've considered CircleCI, and others.

pratikbaid3 commented 2 weeks ago

Hi. I'd like to work on this task. Are you set on using fastlane? Or does codemagic work for you as well?

vinayshankardubey commented 2 weeks ago

Hi I am working on it, I am using Github Action

pratikbaid3 commented 2 weeks ago

@josancamon19 any chance you can assign the tasks that are already being worked on. This will prevent engineering waste. Thanks.

vinayshankardubey commented 2 weeks ago

@josancamon19 any chance you can assign the tasks that are already being worked on. This will prevent engineering waste. Thanks.

Yes @josancamon19 , @pratikbaid3 is right

josancamon19 commented 2 weeks ago

Assigned to vinayshankardubey rn, please keep posting updates

TekExplorer commented 2 weeks ago

If this doesn't get done, I'd be willing to make my own PR, but I wont start unless I'm asked to. I'm the kind of person to make it super clear, so you'll know exactly what secrets to set in the repo. Just let me know.

vinayshankardubey commented 2 weeks ago

Thanks @josancamon19 I am working on it

vinayshankardubey commented 2 weeks ago

Hi @josancamon19 ,

Hope you are doing well. As you have assigned me this task, finally I have implemented this functionality.

Now I'm able to create build, APK for android and IPA for iOS.after every push request on main branch. Currently this is generating debug build for android, for creating release build I need upload-keystore.jks file which is not available in the project file.

After this my plan is, Please provide credentials and make plan to deploy build directly on "Play Store" after build creation.

Please find below screenshots for check my work progress and also you can check my repo from here : https://github.com/vinayshankardubey/Friend

image

vinayshankardubey commented 2 weeks ago

image

raymondyegon commented 2 weeks ago

Hi @josancamon19 ,

Hope you are doing well. As you have assigned me this task, finally I have implemented this functionality.

Now I'm able to create build, APK for android and IPA for iOS.after every push request on main branch. Currently this is generating debug build for android, for creating release build I need upload-keystore.jks file which is not available in the project file.

After this my plan is, Please provide credentials and make plan to deploy build directly on "Play Store" after build creation.

Please find below screenshots for check my work progress and also you can check my repo from here : https://github.com/vinayshankardubey/Friend

image

Please create a PR as suggest for use to be able to give feedback from there

vinayshankardubey commented 2 weeks ago

Please create a PR as suggest for use to be able to give feedback from there

Sure @raymondyegon !

But write now this functionality is not completed please provide upload-keystore.jks so I can create release build for Android also, through CI/CD.Right now this code is on my github repo which I have forked from real project.

Please just guide me how can I put my functionality on real project because I also need access of real project to create TOKEN key which is needed at the time or running action, you can also create this.

I am creating PR and Guide also.

Thanks. @josancamon19

josancamon19 commented 2 weeks ago

Please send me a DM on discord @josancamon19 I'll share the jks key there, the key has to go as a secret btw, so that it is not exposed.

vinayshankardubey commented 2 weeks ago

Please send me a DM on discord @josancamon19 I'll share the jks key there, the key has to go as a secret btw, so that it is not exposed.

@josancamon19 Please check just sent hi by vinayshankardubey

josancamon19 commented 1 week ago

@vinayshankardubey Please keep posting updates, happy to help if you have any issues, and it'd also help if you create a Draft PR

vinayshankardubey commented 1 week ago

Hi Team,

I have just created a push request in development branch. Right now I have set this action will perform on push request on "main branch" and pull and push request on "development"

It's working properly at my end now we need to test it at real project.

Please take pull request of "development branch" but before pull request please help me to add two secret's on project "Secrets and Variable" section.

  1. Secret TOKEN : Make sure it name should be "TOKEN"
  2. upload-keystore.jks in Base64 format : I am using this because of security purpose generate bas64 format of upload-keystore.jks and add that key in secret with the name "SECRET_JKS"

Please help me to add these two dependencies then you can test it and please don't forget to give me feedback and suggestions if any.

Thanks @josancamon19 @kodjima33 @raymondyegon

image

vinayshankardubey commented 1 week ago

Hi Team,

Can you please review my PR and Let me know feedback's and suggestion's so that I can complete my work.

Thanks @josancamon19

vinayshankardubey commented 1 week ago

Hi Team,

Today I am going to integrate Fastlane.

Thanks.

vinayshankardubey commented 1 week ago

Hi Team,

I have implemented Fastlane. Just going for a final try But for making release on testflight and play store I need below credetials for configure in Appfiles for both cases.

iOS : app_identifier("[[APP_IDENTIFIER]]") # The bundle identifier of your app apple_id("[[APPLE_ID]]") # Your Apple Developer Portal username

itc_team_id("[[XXXXX]]") # App Store Connect Team ID team_id("[XXXXX]]") # Developer Portal Team ID

Android : Service Account JSON file: This file contains the credentials for your Google Play Developer API service account.

So please provide me credential so that I can head for next process.

Thanks

vinayshankardubey commented 1 day ago

Hi Team,

I have completed my fastlane integration for iOS and you can see , uploaded a testflight build also ....but it's working on my pc same functionality is not working with github actions.....I need some help ...Who can help me with xCode with Github Action..

and @josancamon19 please check discord.just dm you...I need some help