Mod Upload: Git support and auto build pbo's from source!
[b]Update[/b]: We've [url=https://community.withsix.com/topic/111/mod-upload-git-support-and-auto-build-pbo-s-from-source/2]released the initial version[/url]!
Following the ability to [url=https://community.withsix.com/topic/101/blog-post-upload-mods-directly-from-your-pc]Upload and Sync mods directly from your PC[/url],
We're delighted to report that we're making progress on Git support for our mod upload service, and also are shaping up our Build services.
- If you host your compiled mods on any public Git repo (GitHub, TFS, etc), we can download it and process and publish it like any other download (or our own upload) service
- If you host your mods source on any of the supported download or upload services (Git, DropBox, random file hosts, Sync withSIX Upload, etc), we can build them into pbo's and process and publish it.
Of course all of this includes the already existing processing of Userconfigs and adding BI Keys and BI Signs etc :)
For the future we intend to look into GitHub hooks, so we can do CI (Continuous Integration) builds as well.
Meaning when you push to a certain branch or make a new release tag, we will detect it, and start building and publishing your mod update :)
We're happy announce the release of our Git support and the basic "Build mods from source" feature.
Basic, since we just use Rapification atm, and not yet Binarization (BI tools in fully setup A2/A3 environment).
- Ability to use git:// or http(s)://... .git urls for downloading pbo'ed mods (For example: [b]https://[/b]github.com/sickboy/Test_A3[b].git[/b])
- Ability to use any of our download/upload mechanisms with source mods (to be pbo'ed and rapified by Mikero Tools), if you include a [i].withsix-ci.json[/i] file in the root.
See for example: [url=https://github.com/sickboy/Test_A3/blob/master/.withsix-ci.json]TEST_A3\.withsix-ci.json[/url] or the whole [url=https://github.com/sickboy/Test_A3]TEST_A3 sample[/url]
We will look into implementing full BI Binarize support over the coarse of the next days 😃
And are still evaluating GitHub hooks so we can do "CI" (Continuous Integration) at your leisure :)
There doesn't seem to be much documentation, so I'll ask.
- We rely a lot on the += operator in our configs. Does your build chain support that?
- Can we have a mix of premade pbos and pbos to be built? (I presume yes, but it's hard to tell.)
- How is the linked json used? Is it applied per folder with a config.cpp or is there some other trigger? I presume it's not saying "pack the whole modfolder into a pbo".
- What happens if sourcepath is set to something?
- Is the prefix for determining where in arma's virtual file system it is placed? Will the full name of that be prefix+foldername+postfix ?
If this turns out to be something we can use, then it will make our lives a lot easier.
- We currently only pack, don't binarize. Currently we use MakePBO 220.127.116.11 and Depbo.dll 18.104.22.168 (will check if we can upgrade to the latest version shortly)
- Currently you can't have a mix of pre-built and to-be-built, however I've added it for the next deploy of our CI tool (we'll not recurse Addons and Dta folders, however we will copy pbo's from these folders)
- The json should be in the root of the repository/archive.
- The sourcePath should be a relative path and should specify the root of the modfolder, so without one specified, we assume the repostiory/archive root is the root of the modfolder (containing addons folder etc). If your data exists in a subfolder, e.g "src", then you'd specify "src" as source path. (as commonly used in C# projects I think)
- Pre and Postfix here is just for the filename, you can use the Mikero tools supported PBOPREFIX format to handle the pboprefixes.
Let me know if there's anything we can do to make it more useful to you :)