YoYoGames / GameMaker-Bugs

Public tracking for GameMaker bugs
26 stars 8 forks source link

[iOS] Unzip extension's iOSSourceFromMac to GMS2TEMP instead of pscp to the MacOS remote and then unzip #7959

Open shichen85 opened 1 month ago

shichen85 commented 1 month ago

Is your feature request related to a problem?

When building iOS projects from the command line without setting up a remote as https://github.com/YoYoGames/GameMaker-Bugs/issues/2235 now supports, if the project has an extension where its iOSSourceFromMac contains zip files, the zip files will not be unzipped to the XCode project generated in GMS2TEMP.

In contrast, when building from the IDE with remote MacOS configured, we can see unzipping happens in the following manner:

bash -l -c "mkdir -p /Users/one/gamemakerstudio2/GM_IOS/ios_fw/ios_fwFromPC/Fw"
pscp C:\Users\two\GameMakerProjects\ios_fw\extensions\Extension1\iOSSourceFromMac\options.zip /Users/one/gamemakerstudio2/GM_IOS/ios_fw/ios_fwFromPC/Fw/options.zip
RunCommandOnMac bash -l -c "cd /Users/one/gamemakerstudio2/GM_IOS/ios_fw/ios_fwFromPC/Fw; unzip -o options.zip;"

So the unzipping step relies on having the MacOS remote configured.

Describe the solution you'd like

We would like the unzipping to take place in the XCode project generated in GMS2TEMP. This way, the XCode project is complete with the extension's framework, and since it gets copied over to the remote MacOS later anyways, it should not alter the behavior on the remote MacOS. Hopefully, this will not impact the experience of developers who use the IDE, and it enables developers who use the command line to generate the XCode project only to have the complete project.

Describe alternatives you've considered

Our CI server has a step to unzip the files in iOSSourceFromMac, but this is a custom solution that is not accessible to other developers.

Additional context

ios_fw.zip

Build this project with November beta Igor without setting up any MacOS remote. See that files in iOSSourceFromMac will never get unzipped to the generated XCode project in GMS2TEMP. Build the project from the IDE with a MacOS remote. See that the zip files are unzipped to the XCode project on the remote MacOS.

DiasFranciscoA commented 3 days ago

Hello @shichen85,

thank you for reaching out to us we are looking at this FR at the moment and wanted to know if you could provide the command line you are using to run the test project (you can ommit sensitive paths). We just need something to also provide to QA for testing.

shichen85 commented 3 days ago

Hello @shichen85,

thank you for reaching out to us we are looking at this FR at the moment and wanted to know if you could provide the command line you are using to run the test project (you can ommit sensitive paths). We just need something to also provide to QA for testing.

Hello, the command we use would be:

/home/runner/work/_actions/bscotch/igor-setup/develop/dist/runtimes/runtime-2024.1100.0.712/bin/igor/linux/x64/Igor
/uf=/home/runner/work/_actions/bscotch/igor-setup/develop/dist/gm-sandbox/gm-user/build_2151704
/rp=/home/runner/work/_actions/bscotch/igor-setup/develop/dist/runtimes/runtime-2024.1100.0.712
/project=/home/runner/work/ganary/ganary/Ganary/Ganary.yyp
/cache=/home/runner/work/_actions/bscotch/igor-setup/develop/dist/gm-sandbox/gm-cache
/temp=/home/runner/work/_actions/bscotch/igor-setup/develop/dist/gm-sandbox/gm-temp
/of=/home/runner/work/_actions/bscotch/igor-setup/develop/dist/gm-sandbox/gm-temp/Ganary.win
/tf=Ganary.ipa
/config=Default
/runtime=YYC
/v
/ic
/cr
--
iOS
Package

You can see the run and log here: https://github.com/bscotch/ganary/actions/runs/11955624849/job/33328424762#step:6:9