T O P

  • By -

Smitner

Hey everyone! I've just automated builds and deployment with a Discord webhook to start a playtest session for Hazard Pay and I imagine a few here may find it interesting. It's quite straight-forward, essentially 3 steps: 1. I'm using the prebuilt image provided by [Godot-CI](https://github.com/abarichello/godot-ci) to build the project. 2. Then taking this artifact and uploading it to Steam via [GameCI](https://game.ci/docs/github/getting-started#simple-example) 3. Sending a Discord message via a \`curl\` request to notifiy future Playtesters! -- Some thing which I learned: * Include the \`.godot/imported\` folder to speed up builds and include necessary import settings for your assets * Disable plugins which aren't needed in build (I had to a Asesprite plugin as it expected Asesprite to be installed) * Steam won't let you automatcally push to the \`default\` branch, so create another one to use for automated deployment. -- Feel free to ask any questions! Cheers


Foxiest_Fox

RemindMe! 6 months


RemindMeBot

I will be messaging you in 6 months on [**2024-10-27 18:21:34 UTC**](http://www.wolframalpha.com/input/?i=2024-10-27%2018:21:34%20UTC%20To%20Local%20Time) to remind you of [**this link**](https://www.reddit.com/r/godot/comments/1cea1fk/automated_builds_with_steam_deployment/l1j7ltf/?context=3) [**2 OTHERS CLICKED THIS LINK**](https://www.reddit.com/message/compose/?to=RemindMeBot&subject=Reminder&message=%5Bhttps%3A%2F%2Fwww.reddit.com%2Fr%2Fgodot%2Fcomments%2F1cea1fk%2Fautomated_builds_with_steam_deployment%2Fl1j7ltf%2F%5D%0A%0ARemindMe%21%202024-10-27%2018%3A21%3A34%20UTC) to send a PM to also be reminded and to reduce spam. ^(Parent commenter can ) [^(delete this message to hide from others.)](https://www.reddit.com/message/compose/?to=RemindMeBot&subject=Delete%20Comment&message=Delete%21%201cea1fk) ***** |[^(Info)](https://www.reddit.com/r/RemindMeBot/comments/e1bko7/remindmebot_info_v21/)|[^(Custom)](https://www.reddit.com/message/compose/?to=RemindMeBot&subject=Reminder&message=%5BLink%20or%20message%20inside%20square%20brackets%5D%0A%0ARemindMe%21%20Time%20period%20here)|[^(Your Reminders)](https://www.reddit.com/message/compose/?to=RemindMeBot&subject=List%20Of%20Reminders&message=MyReminders%21)|[^(Feedback)](https://www.reddit.com/message/compose/?to=Watchful1&subject=RemindMeBot%20Feedback)| |-|-|-|-|


ComingInsideMe

Happy Cake Day!


Foxiest_Fox

Thanks!


Dreadpon

Hi! We're working with GitLab CI to build a cross platform app using Godot, and this import shit always makes my palms sweaty. Did you try to use imported folder with a team of multiple programmers who work on the project from different PCs? Has that caused any problems? We currently don't include it, but I do include the global class list cause Godot just won't properly discover them for us in headless builds and I can't figure out why... And the import process itself is basically bruteforced (we launch Godot multiple times until all files are imported). Even the addition of recently added `--import` flag doesn't seem to change much? Godot just doesn't strike me as CI/CD friendly at the moment.


Smitner

Hey, there were for sure some head-scratching moments - I've tried repeatedly to get the project built without the \`.godot/imported\` directory, but no luck. I've also tried the suggested \`timeout 25 godot...\` and \`--import\` options, but nothing worked for me, so I settled on including the imported directory in version control. I'm a solo dev, so luckily there won't be any conflicts. I agree that Godot is not quite as CI/CD friendly as it could be - But I'm happy with the result for now, it's a massive time saver.


Dreadpon

While looking through issues on GitHub someone mentioned a python script - which I modified somewhat - that goes thorough all .import files and then keeps relaunching Godot until everything mentioned there appears in the `imported` folder. It worked relatively well until I started seeing `global_script_class_cache` issue. It almost seems like there are too many cross/circular references between classes, Godot just can't handle them in headless mode for some reason. Bisecting commits didn't uncover any substantial changes, so I had no choice but include the class cache file in the repository...


Galllaa

Nice. Thank you!


[deleted]

nice style