moonlight-android icon indicating copy to clipboard operation
moonlight-android copied to clipboard

Added github workflow and added nightly build plus pre-release

Open bladeoner opened this issue 9 months ago • 4 comments

Hi @cgutman,

I have added the following, which I think will help to collect feedback before releasing a new version:

  • A Github CI workflow to build the debug apk's for root and nonRoot.

Important notice: It generates a "debug keystore" everytime the pipeline runs, to always use the same "debug keystore" you can use the following command from a machine with Android Studio: base64 --wrap=0 .android/debug.keystore > encodedData.txt

After that you can add it under "Settings" of the repository, click on "Secrets and Variables" under "Security", click on "Actions" and click on "New repository secret". The name should be "DEBUG_KEYSTORE" and the value retrieved with the command. image. This will ensure users are able to upgrade to a newer version of a debug client, because the debug signing key will be the same.

  • Added a pre-release, which will release automatically after a PR has been merged to main. The apk debug files will contain the commit sha in the filenames and only the files of the last commit will be available. image
  • Added a nightly builds section for root and nonRoot in the README, which looks like the following image

bladeoner avatar Feb 12 '25 17:02 bladeoner

Hi @ReenigneArcher could you look at this PR please?

I think it can help the community to create a debug version for testing and troubleshooting purposes.

bladeoner avatar Feb 19 '25 16:02 bladeoner

@bladeoner Yes, I can take a closer look at it tonight. At a first glance I would suggest adding workflow concurrency (there are a lot of examples in LizardByte/Sunshine workflows) which will cancel in process workflows when a PR is pushed to multiple times in quick succession.

Note: I am not a Moonlight maintainer but I'm definitely glad to help out and get a pre-review done for cgutman.

ReenigneArcher avatar Feb 19 '25 16:02 ReenigneArcher

Thanks in advance.

bladeoner avatar Feb 19 '25 16:02 bladeoner

I have not actually tested this, but overall it seems pretty decent to me. I do have a few suggestions though.

One global suggestion is to further indent the steps by 2 additional spaces.

e.g.

    steps:
    - uses: android-actions/setup-android@v3
      with:
        cmdline-tools-version: 9477386

To become:

    steps:
      - uses: android-actions/setup-android@v3
        with:
          cmdline-tools-version: 9477386

Also, can the appveyor build be removed if this is added?

Hi @ReenigneArcher, thank you for reviewing the code. I have applied the suggested changes.

If we implement this, I think we don't need appveyor anymore because this will do the check when a PR has been opened, but that's up to @cgutman to keep it in place or remove it at a later stage.

Successful pipeline run: https://github.com/bladeoner/moonlight-android/actions/runs/13430345240

bladeoner avatar Feb 20 '25 07:02 bladeoner