Skip to content

Azure, MacOS, Ubuntu improvements#1199

Open
Koi-3088 wants to merge 4 commits intoPokemonAutomation:mainfrom
Koi-3088:main
Open

Azure, MacOS, Ubuntu improvements#1199
Koi-3088 wants to merge 4 commits intoPokemonAutomation:mainfrom
Koi-3088:main

Conversation

@Koi-3088
Copy link
Copy Markdown
Member

  • Extract the Resources folder for all OS.
  • Use a .dmg installer for MacOS.
  • Implement gstreamer for Ubuntu.
  • Improve Azure build times for all OS (especially MacOS by consolidating building and notarization steps).
  • Fix double-zip issue for Azure artifacts and make them more convenient.
  • Add ability to run multiple instances on MacOS via terminal by running open -n /Applications/SerialPrograms/SerialPrograms.app --args --profile <some profile name>

- Use a .dmg installer for MacOS.
- Implement gstreamer for Ubuntu.
- Improve Azure build times for all OS.
- Fix double-zip issue for Azure.
- Add ability to run multiple instances on MacOS via terminal by running `open -n /Applications/SerialPrograms/SerialPrograms.app --args --profile <some profile name>`
@Koi-3088 Koi-3088 requested review from Mysticial and pifopi April 20, 2026 07:29
@Koi-3088
Copy link
Copy Markdown
Member Author

Azure app bundle (Ubuntu AppImage, MacOS .app/.dmg) and Windows build artifacts work fine on my end. Local build works fine as well. But should be tested/verified since some build environment variables might be quirky/weird, and I don't want to break local builds or introduce regressions.

@Koi-3088 Koi-3088 requested review from Ericzklm and Gin890 April 20, 2026 07:39
@Koi-3088 Koi-3088 marked this pull request as draft April 20, 2026 07:48
@Koi-3088 Koi-3088 marked this pull request as ready for review April 20, 2026 07:49
Copy link
Copy Markdown
Collaborator

@Mysticial Mysticial left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Holy shit this resource stuff is getting messy. lol

@Koi-3088
Copy link
Copy Markdown
Member Author

Holy shit this resource stuff is getting messy. lol

Yeah, a little bit. Which is why I wanted to just rip the bandaid off for application bundles while jw is dealing with the brunt of it.

cd "$CACHE_DIR"
if [ "$BUILD_TYPE" = "PrivateBeta" ]; then
echo "=== Creating password-protected archive for PrivateBeta ==="
7z a -tzip -mx=9 "-p$ARTIFACT_PASSWORD" -mem=AES256 "$ZIP_NAME" "$DMG_NAME"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have an issue extracting the zip with the default MacOS Archive Utility, had to install third party tools to do so. Archive Utility supposedly doesn't support AES256. Archive Utility doesn't tell you what failed exactly so users likely assume the password is incorrect

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can just require 7zip for private beta for all OS, since all are password-protected in the same way. It's also trivial to install and has powerful functionality. What would otherwise be the proposed change that preserves the behavior?

Copy link
Copy Markdown
Member Author

@Koi-3088 Koi-3088 Apr 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also note that this is not new to this PR, the 7zip step was just consolidated into the building stage with the introduction of the .dmg file (was previously in the macos-notarization.yml which was removed).

EDIT: We do have a pinned message in the Discord beta channel that mentions the 7zip requirement.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wasn't aware that 7zip started supporting MacOS. It is only available as CLI though which might be non-intuitive for non-technical users. Given that it's just for the beta and that the command to run can just be given, it's likely not a big deal. Users can also just install Unarchiver instead.

The proposed change to support Archive Utility would be to use a different format when encrypting with 7zip or use Apple's aea to keep AES

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did some reading. Seems like if I were to use Apple's aea I would have to do it via terminal if I want a custom password, but then users would also have to use terminal to extract, which kind of defeats the purpose.

Could remove -mem=AES256 to use MacOS default encryption (should be ZipCrypto?) or explicitly specify it, not sure if there's a difference. Probably latter is better.

I'll test it locally using p7zip and will update the PR if Archive Utility looks happy. AES256 is probably overkill anyways.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems to work on my end, pushed the requested change.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants