Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Versioning and releases #8

Closed
remyroy opened this issue Nov 1, 2016 · 11 comments

Comments

Projects
None yet
2 participants
@remyroy
Copy link

commented Nov 1, 2016

As part of the CDDA Game Launcher, it would be nice if PKs_Rebalancing used release versions. The launcher could check what is the currently installed version of the mod, check if there is a new version on github and prompt the user to upgrade his mod or do the upgrade automatically. I'm not sure what would be the best way to achieve this.

An easy and forward looking solution would be to add a version field in modinfo.json using a comparable version scheme value. Something like "version": "0.9" at the same level as "type": "MOD_INFO".

Github offer the ability to create releases. From the launcher, it would be easy to scan those releases for the version and list the available versions. An alternative would be to create tags in your git repository (which a github release also does).

This is related to remyroy/CDDA-Game-Launcher#84

@pisskop

This comment has been minimized.

Copy link
Owner

commented Nov 11, 2016

Do you have an example I can view

@remyroy

This comment has been minimized.

Copy link
Author

commented Nov 11, 2016

I just forked your repository. On the master branch, I added a version value of dev in modinfo.json. I created a v1 branch from which I created a release. In that release, I changed the version value to 1.

I did something similar with a fictitious version 2.

@pisskop

This comment has been minimized.

Copy link
Owner

commented Nov 22, 2016

https://github.com/pisskop/PKs_Rebalancing/blob/master/modinfo.json#L7

"version": "2.1.1",

Aye, so if I understand it right I still need to update it though? I dont quite get how this changes that. Will the Launcher only pick up on significant changes?

@remyroy

This comment has been minimized.

Copy link
Author

commented Nov 22, 2016

I can do a lot of different things with the launcher. I can read the version value of that Github file and compare it against the same value of an installed PKs_Rebalancing mod. That is the basic stuff.

There are potential issues that can be raised is if you do other modifications in your mod without changing the version value. Let's say have a version 1.0. You do a commit in pk_overmap_terrain.json without changing the version value. There will be than 2 different versions 1.0 on Github. One without the change in pk_overmap_terrain.json and one with the change in pk_overmap_terrain.json. They will be indistinguishable from the launcher perspective (and potentially to players as well). Many problems can eventually come up if you have multiple version 1.0. One of them is a player having a bug with version 1.0 and asking for support. You will not be able to tell if it's the version with the change in pk_overmap_terrain.json or the version without the change in pk_overmap_terrain.json.

The solution to this is to create releases. See the releases tab of your repository. If you do releases, I can simply scan the release page and inspect the latest release for the latest version or all the other releases if someone wants to install an older one. They will all be unique which they should be.

@remyroy

This comment has been minimized.

Copy link
Author

commented Nov 22, 2016

With releases you can do as many commits as you like in your master branch without having to worry to much about versions. When you are satisfied with some development, you can publish a release. Before publishing the release, bump your version number to a new higher value.

@pisskop

This comment has been minimized.

Copy link
Owner

commented Nov 22, 2016

https://github.com/pisskop/PKs_Rebalancing/releases

Jaa. This works and is easy enough.

@remyroy

This comment has been minimized.

Copy link
Author

commented Nov 22, 2016

When you do a release, you should also try to use a tag name that matches the version value. Also, it’s common practice to prefix your tag names with the letter v. For instance, if you want to release version 2.1.1, your tag name should be v2.1.1 in your release.

@remyroy

This comment has been minimized.

Copy link
Author

commented Nov 22, 2016

You can revert all those releases and version changes if you want to start at a lower value too.

@pisskop

This comment has been minimized.

Copy link
Owner

commented Nov 27, 2016

Okay. Im excited to get the outdated mod out of coregame.

@pisskop pisskop closed this Nov 27, 2016

@pisskop pisskop reopened this Nov 27, 2016

@pisskop pisskop closed this Feb 10, 2017

@remyroy

This comment has been minimized.

Copy link
Author

commented Jul 14, 2017

I just noticed that you aren't adding your version number in your modinfo.json file anymore. This is unfortunate. I could have use it to make sure people have the latest version of your mod and automatically update your mod with my launcher. I can't tell which version is installed in a player game's directory.

@pisskop

This comment has been minimized.

Copy link
Owner

commented Jul 28, 2017

I should fix this

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.