Jump to content

Infinity Auto Packager - automatically generate mod packages when you publish a release


Recommended Posts

What does this tool do?
A tool that automatically generates Infinity Engine mod packages when you publish a release.

What are Infinity Engine mod packages?
They are standardized, universal and cross-platform Infinity Engine Mod Packages

  • .zip package
    It contains the latest WeiDU executable for Windows and macOS and .command file for macOS. While it's possible to include WeiDU executable for Linux with a different name, it's not currently planned, unless there is a strong desire for it
  • .iemod package
    The IEMOD format is intended to be a platform-independent distribution format for modifications for games using the Infinity Engine.
    The packages are used mainly by mod managers. Among other things, they offer a "double-click at file>extract>install" feature.

General info

  • the zip package always contains the latest official WeiDU version from https://github.com/WeiDUorg/weidu/releases, at the time when it has been created
  • because of how WeiDU Auto-Update feature is designed, at this time there is no point in including a specific WeiDU version because it will be overwritten anyway during mod installation
  • the version of the package is read directly from the WeiDU tp2 VERSION keyword
  • the package name is taken from mod metadata ini file "Name=" key, excluding non-supported characters for GitHub package files
  • can be combined with the ModRelease tool
  • the tool is a server-less micro-service - it will operate as long GitHub Actions exist in any form

Example: ( repository )

IL3b4CH.gif

How to do the one-time installation inside your mod repository?
- by adding to the repository

  1. Check repository 'Actions' permissions: go to Settings > Actions and check rights:
    SqCzU2O.png
     
  2. Download the Infinity Auto Packager repository, extract the "InfinityAutoPackager-master.zip" file
  3. Copy '.github' folder into your top-level folder of the mod repository
  4. Do not modify the IAP with the custom actions that alter the package content during creation, it breaks the PI "mod update" feature
  5. Commit and push changes to the remote repository

How to use it?

  1. Publish release

ATTENTION: Any actions, either via a customized version of IAP or manually manipulating the final package, that will result in different package content than the repository itself will break the Project Infinity mods Auto-Update feature. Don't do this.

After a few moments, the .iemod and .zip packages will be automatically created and added to the published release. How long it takes depends on how big the mod is.

If you have additional questions, feel free to ask 😎

Edited by AL|EN
fixed image link, typos, updated docs
Link to comment
4 hours ago, AL|EN said:

After a few moments, the .iemod and .zip packages will be automatically created and added to the published release. How long it takes depends on how big the mod is.

That's the only drawback of this tool: for RoT v4.0 (more than 500 Mo), it can take minutes... ;)

 

Link to comment
31 minutes ago, qwerty1234567 said:

Very welcome, but it would be great if it (optionally) allowed publishing releases by simply pushing a tag, Travis style.

Creating tag is not sufficient in order to avoid possible mistakes like wrong 'VERSION' keyword. But you can 'push tag', just use "Mod Release" tool. You will thanks me later when the tool will save you from trivial omissions and mistakes 😎

Even if I would add a code to overwrite 'VERSION' keyword (and create commit + push from GitHub backed) then there is also the readme.md, html docs etc. Too much unknown.

There is a nodejs tool, forgot the name, where you creating releases by manipulating 'changelog.md' file - i didn't use it because for majority of the modders, it was too detached from the usual workflow. It can save even more manual work, but it require complete workflow change.

Link to comment

I'm the only one (apparently) that is having problems with this.   So, what am I doing wrong?

 

Run failed for v0.1 (585e28e)

Repository: lzenner/transitions
Workflow: .github/workflows/InfinityAutoPackager.yaml
Duration: 24.0 seconds
Finished: 2020-08-13 02:53:14 UTC

View results

Jobs:


You are receiving this because this workflow ran on your branch.
Manage your GitHub Actions notifications here.AD7V7N3X3NKTMIXQCKCAQADSANISPA5CNFSM4P5VC3M2YY3PNVWWK3TUL52HS4DFXNBWQZLDNNJXK2LUMVCXMZLOORHG65DJMZUWGYLUNFXW5KTDN5WW2ZLOORPWSZFVGEYDIMZZHEYTANJQHMYTKOJXGI4DOMJZGQ.gif

Annotations

Check failure on line 1 in .github

@github-actions github-actions / InfinityAutoPackager

.github#L1

ENOENT: no such file or directory, stat 'transitions-v0.1.iemod'

 

Link to comment
On 2/25/2020 at 12:42 PM, AL|EN said:

.zip package
It contains the latest WeiDU executable for Windows and macOS (for Linux is impossible) and .command file for macOS.

But why would you make a 1 archive file, while you could make one for each OS ? And thus have only the associated files in it.

Edited by Jarno Mikkola
Link to comment
5 hours ago, Jarno Mikkola said:

But why would you make a 1 archive file, while you could make one for each OS ? 

That's what it does - one for each OS

My bad.  I'm wrong.  It puts all the different versions into one zip file.  The other file is for something else.

Edited by Lauriel
Link to comment
2 hours ago, lynx said:

I think it expects the mod to be packaged in a subdir. You got that unhelpful error since it's not coded defensively.

https://github.com/lzenner/transitions/runs/978679071?check_suite_focus=true

https://github.com/ALIENQuake/CreateIEModZipPackage/blob/master/dist/CreateIEModZipPackage.ps1

Ok, I'll try that.  Thank you.

EDIT: That worked.  Thank you @lynx!

Edited by Lauriel
Link to comment

# 1.1.2

  • the case of the letter 's' in 'setup-' prefix for Windows WeiDU executable will match the first letter of mod tp2 name
  • example: if the mod tp2 is Abc.tp2, the 'Setup-' prefix will have uppercase 'S'
  • macOS WeiDU executable and .command file will not be altered

# 1.1.1

  • fixed empty package name when there was no .ini file

 

Edited by AL|EN
Link to comment
6 hours ago, AL|EN said:

# 1.1.2

  • the case of the letter 's' in 'setup-' prefix for Windows WeiDU executable will match the first letter of mod tp2 name
  • example: if the mod tp2 is Abc.tp2, the 'Setup-' prefix will have uppercase 'S'
  • macOS WeiDU executable and .command file will not be altered

This may be a stupid question, but why ? My mod name starts with an uppercase letter and uses a lowercase setup with no problem.

Link to comment
10 minutes ago, lefreut said:

This may be a stupid question, but why ? My mod name starts with an uppercase letter and uses a lowercase setup with no problem.

Main motivation is that many modders like to use Capital-Letters for their files. When they provided the Windows weidu executable manually inside mod packages, they keep the case of 'Setup-' prefix. You can see this in many mods. Infinity Auto Packager provide the weidu executable but some of them want's to keep the case. Also, other modders didn't like the fact that even if they lowercase mod all files, the 'Setup-' prefix still has Uppercase letter.

Link to comment

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...