BigWigsMods / packager

Generate an addon zip file from a Git, SVN, or Mercurial checkout.
153 stars 61 forks source link

Fetching a library can fail to copy a file but the action still succeeds. #158

Closed thespags closed 1 year ago

thespags commented 1 year ago

Hi a bit wonky of something I ran into but I wanted to let you know.

If fetching a library fails to copy a file, the action for the dependent addon finishes in a partial state with incomplete library copy.

The way I was running into it, I was using @project-version@ in my library's TOC file (incorrectly). When my addon that dependent on my library went to copy the library, it failed halfway through, but the overall build succeeded leaving my addon version corrupted.

Meorawr commented 1 year ago

I suspect this was the run you ran into the issue on: https://github.com/thespags/InstanceCurrencyTracker/actions/runs/6176314605/job/16765001077

Relevant section of the log:

2023-09-13T18:18:43.8607463Z ##[group]Fetching latest version of external https://github.com/thespags/LibTradeSkillRecipes/
2023-09-13T18:18:43.8618867Z Checked out 6078c0d
2023-09-13T18:18:43.8619619Z Copying files into .release/InstanceCurrencyTracker/Libs/LibTradeSkillRecipes:
2023-09-13T18:18:43.8620670Z   Copying: tests-retail.lua
2023-09-13T18:18:43.8620999Z   Copying: Libs/LibStub/LibStub.lua
2023-09-13T18:18:43.8621301Z   Copying: Libs/LibStub/LibStub.toc
2023-09-13T18:18:43.8621606Z   Copying: Libs/LibStub/tests/test3.lua
2023-09-13T18:18:43.8622505Z   Copying: Libs/LibStub/tests/test4.lua
2023-09-13T18:18:43.8622804Z   Copying: Libs/LibStub/tests/test2.lua
2023-09-13T18:18:43.8623103Z   Copying: Libs/LibStub/tests/test.lua
2023-09-13T18:18:43.8623420Z   Copying: tests-wotlk.lua
2023-09-13T18:18:43.8623740Z   Copying: tests-classic.lua
2023-09-13T18:18:43.8624046Z   Copying: lib-tbc.xml
2023-09-13T18:18:43.8624375Z   Copying: lib-retail.xml
2023-09-13T18:18:43.8624666Z   Copying: LibTradeSkillRecipes.lua
2023-09-13T18:18:43.8624987Z   Copying: tests-tbc.lua
2023-09-13T18:18:43.8625271Z   Copying: LibTradeSkillRecipes.toc
2023-09-13T18:18:43.8625758Z     Error! Build type version keywords are not allowed in a multi-version build.
2023-09-13T18:18:43.8626185Z            These should be replaced with lua conditional statements:
2023-09-13T18:18:43.8626584Z              14:@version-classic@
2023-09-13T18:18:43.8626886Z              17:@version-bcc@
2023-09-13T18:18:43.8627179Z              20:@version-wrath@
2023-09-13T18:18:43.8627485Z              23:@version-retail@
2023-09-13T18:18:43.8627835Z            See https://wowpedia.fandom.com/wiki/WOW_PROJECT_ID
2023-09-13T18:18:43.8629576Z ##[endgroup]
2023-09-13T18:18:43.8649839Z ##[group]Generating changelog of commits into CHANGELOG.md
thespags commented 1 year ago

Yeah, I've fixed the issue on my end. I'm wondering if the expected behavior is that the error should bubble up and fail the entire git action.

Meorawr commented 1 year ago

My raw feeling is the packager shouldn't be doing any processing on TOC files in dependency libraries to begin with, but there's a chance I'm missing something that might explain why it is.

thespags commented 1 year ago

Agreed. I was confused because the libraries' TOC isn't needed by the addon.

Although it is/was my first time writing a library, I don't know if a TOC is necessary or standard to do. I'm assuming some folks may want to manage their own library dependencies. Otherwise, I thought a TOC was mandatory for the packager to publish to curseforge.

nebularg commented 1 year ago

yea, doesn't look like @thespags was not doing anything terribly wrong, packager should ignore external toc files and ultimately should have aborted the build hitting that error.

nebularg commented 1 year ago

Thanks for reporting