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

Create Release script #21

Open
3 of 13 tasks
Saborknight opened this issue Mar 5, 2019 · 8 comments
Open
3 of 13 tasks

Create Release script #21

Saborknight opened this issue Mar 5, 2019 · 8 comments
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@Saborknight
Copy link
Member

Saborknight commented Mar 5, 2019

Implement release script, to allow automatic building and publishing of the mod.

Hopefully there's a way to force publishing using a custom user!


Requirements to pull this off

  • A user account on steam needs to be created
  • The user account needs to have Arma 3 bought on it
  • SteamCMD needs to be downloaded on each users computer (this should be done within the script)
  • Publisher data needs to be included in a vdf file, this should be committed into the repo with all data except contentfolder, previewfile and changenote. The first two need to be handled by the script (goddamn absolute values)
  • A preview file, Arma 3 publisher recommends a ratio of 1:1, and the guide recommends no bigger than 1mb. Must be committed into repo in the same folder as the make.ps1 file

Script actions

  • If the current Git commit does not have a tag associated with it (use this to check) then prompt for which version the user wants to release as (make sure only one single "v" is ever on there, in case user puts "v2.0.1" instead of "2.0.1")
  • Build the script as per usual
  • Download SteamCMD (if not already present) into the \tools directory (alongside armake.exe)
  • If the workshop-data.vdf file doesn't already exist, create a template file and prompt for the desired data to fill in for visibility, title, and description
  • If empty, place the absolute paths relevant for contentfolder and previewfile
  • Error if the actual preview file does not exist for whatever reason (just in case, and also for when this script is copied to other projects)
  • Prompt the user for any text to add in the changelog (can this be done in the same way github does committing?)
  • Execute the SteamCMD file with: C:\steamCMD\steamcmd.exe +login myLoginName myPassword +workshop_build_item C:\WorkShopItems\myMap\myMap.vdf +quit, replacing the absolute paths with variable $projectRoot
@Saborknight Saborknight added the enhancement New feature or request label Mar 5, 2019
@Saborknight Saborknight self-assigned this Mar 5, 2019
@Saborknight
Copy link
Member Author

Whilst we're at it, just FTP the release to the Arma 3 server, as well as the key, plus stopping and starting the server.

@UrekD
Copy link
Collaborator

UrekD commented Mar 5, 2019

publishing using a custom user!

I don't belive this is possible sadly, alternative could be an account with only arma..

@Saborknight
Copy link
Member Author

Saborknight commented May 20, 2019

So far research has lead to the conclusion that we can implement an automated way of releasing to Steam Workshop. However, the requirements listed in the first comment under "Requirements to pull this off" need to be fulfilled first.

Reference this guide for more in-depth instructions on how to set up.

On the user's end, the make script should be called with a simple -release flag. The script should then do what it says in the first comment, under the "Script Actions" header. The user should never have to touch the workshop-data.vdf file!

Saborknight added a commit that referenced this issue Aug 9, 2019
What
=================
Added VDF file so that once Steam Workshop release function has been
created in `make.ps1`, I don't have to look for the format again.

Issue ID: #21
Saborknight added a commit that referenced this issue Aug 18, 2019
Added - VDF file in preparation for automatic releases to SW

What
=================
Added VDF file so that once Steam Workshop release function has been
created in `make.ps1`, I don't have to look for the format again.

Issue ID: #21
@Saborknight
Copy link
Member Author

We don't have to do this anymore! ACE saves the day once more: https://github.com/acemod/ACE3/blob/master/tools/publish.py

@Saborknight Saborknight added this to the v5.6.0 (Modpack v3.1.0) milestone Jul 30, 2020
@Saborknight
Copy link
Member Author

@Saborknight
Copy link
Member Author

Saborknight commented Oct 22, 2021

More examples:
CBATeam/CBA_A3@929649b
acemod/ACE3@5a4451a

@Saborknight
Copy link
Member Author

Steam Workshop now allows contributors to upload to workshop. Could use this

@Saborknight
Copy link
Member Author

So someone wrote a guide on how to allow contributors to upload, not just owners... it just seems to be the regular SteamCMD method, but considering the previous example was for a different game using the vdf file, it's good to see an Arma 3 specific example: https://discord.com/channels/105462288051380224/105464579600977920/899967388144001124.

Another fun note that the guide mentions is that we could also use PublisherCMD to do it, which is Bohemia Interactive's very own Publisher that would be used to manually upload like we currently do. Wiki for that is here: https://community.bistudio.com/wiki/Publisher. We should compare the two methods and see what's best for an average contributor to use.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants