PDA

View Full Version : CI Tool to Release to FG Forge



bmos
February 7th, 2024, 22:24
Hi everyone,
I've built out some automation you can use to release builds to the FG Forge.
It's a python module you can use upload and release a build without having to deal with the Forge UI.
It also has a built-in github action so you can integrate it into a release workflow so you can push builds to the Forge right from your IDE or on GitHub :)

https://github.com/bmos/FG-Forge-Updater

In short, it works like this:
1. Make changes to the source code of an extension
2. Commit the changes to github along with version number changes, readme updates, etc
3. Tag the commit as "v1.0" or anything starting with a lowercase v
4. The workflow will automatically package it into an ext or mod file, upload it to the forge, set the latest build to live channel, and update the forge description to match the readme.md included in the build file.

LordEntrails
February 8th, 2024, 17:31
Nice. Thanks for sharing (not that I need it, but love to see pipeline/deployment automation.)

sgtwhy
February 18th, 2024, 00:32
@bmos as a devops engineer "by day", this is awesome stuff.

great use of github actions to compile and deploy the resulting extensions.

would this bypass the usual "build queued for processing" that seems to happen via the Forge UI ?

for reasons unclear to me, since 12-Dec-2023 all my uploads fail to show up in forge ... so im considering testing your method to see if it works any better.

bmos
February 18th, 2024, 00:47
@bmos as a devops engineer "by day", this is awesome stuff.

great use of github actions to compile and deploy the resulting extensions.Thanks!


would this bypass the usual "build queued for processing" that seems to happen via the Forge UI ?

for reasons unclear to me, since 12-Dec-2023 all my uploads fail to show up in forge ... so im considering testing your method to see if it works any better.Unfortunately not, it will probably throw an error after it uploads your build since the build ID will not be available yet for selection.
I should probably add a flag to just upload without setting the channel...

With your issue, you should open the Inspector while uploading your build. You might be able to learn something about it. Does the upload success toast message appear?

sgtwhy
February 18th, 2024, 02:03
more details ... I'm trying to upload builds for a new extension (see attached)

I thought it might be related to creating a new item, requiring review / approval.

59894

But I uploaded a build last night and the "pending processing" went away ... but it does not show up "Build Management".
That's after a fresh boot and multiple browser refreshes ... still not showing up.


So, thinking maybe it was a server upload issue ... I went and tested my existing extension.
... it immediately went from processing to "successful". (so, was much faster although 3x the file size)

But checking afterwards, the "Build Management" still only shows the previous updates from 2023 and not the new uploads.
(see second screen shot)
59895

either I did something to my local copy of the extensions that being rejected (although no errors seen) ... or maybe there is an issue with the server or something, since none of the 2024 uploads are showing up.:cry:

rhagelstrom
February 18th, 2024, 02:20
Rumblings in the dev community is the forge is currently broken

sgtwhy
February 18th, 2024, 02:27
Rumblings in the dev community is the forge is currently broken

Ah! my gut kept saying this feels like a "server out of storage" issue :D

damned
February 18th, 2024, 02:31
Many people are having issues uploading attachments in forums too.

LordEntrails
February 18th, 2024, 02:49
Signs that T.R.E.N.L.O.E. AI is about to take over the world!

bmos
March 2nd, 2024, 22:36
I released v1.0.7 which also allows generation of a cumulative users graph which it adds to the release notes.
https://github.com/bmos/FG-Forge-Updater/releases/tag/v1.0.7
Example:
https://github.com/FG-Unofficial-Developers-Guild/FG-CoreRPG-Moon-Tracker/releases/tag/v2.6-rc.1

bmos
April 2nd, 2024, 18:31
My GitHub account was randomly suspended today so this resource is (hopefully temporarily) unavailable.

EDIT: aaaaand we're back. Still no reply from GitHub.
EDIT2: They sent an email saying this issue impacted a number of users (including me)

bmos
May 25th, 2024, 12:19
59894
If your Forge account still works this way (there are different levels of verification for different users and I don't get these green messages when I upload builds), can you see what the HTML code for that green message is?
I can add it into the code of the script so it skips setting the channel when that message is shown.

bmos
August 14th, 2024, 23:40
Released v1.1.2 to handle the new Forge login page flow

## What's Changed
* Bump pandas to 2.2.2 by @dependabot
* Bump types-beautifulsoup4 to 4.12.0.20240511 by @dependabot
* Bump polyfactory to 2.16.2 by @dependabot
* Bump pre-commit to 3.8.0 by @dependabot
* Bump selenium to 4.23.1 by @dependabot
* Bump pytest to 8.3.2 by @dependabot
* Bump types-seaborn to 0.13.2.20240804 by @dependabot
* Bump mypy to 1.11.1 by @dependabot
* Bump ruff 0.5.7 by @dependabot
* Bump pandas-stubs to 2.2.2.240807 by @dependabot
* Bump matplotlib to 3.9.1.post1 by @dependabot
* Change login URL as previous URL no longer works without sign-in
* Change log-in button xpath as it had changed

**Full Changelog**: https://github.com/bmos/FG-Forge-Updater/compare/v1.1.1...v1.1.2

bmos
April 3rd, 2025, 23:25
To those using this release tooling:

SmiteWorks changed security settings for the Forge and this tool can no longer connect.
Please see this thread for updates: https://www.fantasygrounds.com/forums/showthread.php?84712-Forge-Cloudflare-Issue

Feb 2026: It works again, as of v2 :)