This repository follows the Conventional Commits specification for commit messages.
- Create a
.env
file at the root of the project containing:
DOTA2_PATH="/path/to/dota2"
- Install node packages:
npm install
- Initialize luarocks:
luarocks init --local
- Add
<project_dir>/lua_modules/bin
to thePATH
.
Custom rocks trees defined with rocks_trees
in a LuaRocks user config
(usually at $HOME/.config/luarocks/config.lua
or $HOME/.luarocks/config.lua
)
will get added to the project's rocks_trees
config too
(this is a LuaRocks specific behavior).
To truly isolate the project tree from everything else, I recommend appending
the following to <PROJECT_ROOT>/.luarocks/config-5.1.lua
(after running luarocks init
):
rocks_trees = {}
Then verify LuaRocks is using only the projects rocks tree by running:
luarocks config rocks_trees
It should print something like this:
{
{
name = "project",
root = "<PROJECT_ROOT>/lua_modules"
}
}
Run tests:
task test
task build
-
Update changelog:
-
Re-generate file with
git-cliff
git-cliff --bump -o CHANGELOG.md
-
Commit changes
-
-
Update version
-
Update version strings
game/scripts/vscripts/invokation/const/metadata.lua
src/content/panorama/scripts/lib/constants.ts
-
Commit changes with
chore(release)
labelgit commit -m "chore(release): version <VERSION>"
-
-
Rebuild and test version changes in UI
-
Create and push tag
git tag -m "version {version}" v{version} git push --follow-tags
-
Create release on GitHub from tag
-
Publish release to Steam Workshop
Change note template:
v{version} ### Gameplay - ... ### UI - ... --- Issues: https://github.com/13k/invokation/issues