WoWInterface

WoWInterface (https://www.wowinterface.com/forums/index.php)
-   Dev Tools (https://www.wowinterface.com/forums/forumdisplay.php?f=41)
-   -   Addon Packager Proxy (https://www.wowinterface.com/forums/showthread.php?t=51553)

p3lim 01-16-15 07:36 PM

Addon Packager Proxy
 
This is the official topic for the Addon Packager Proxy release tool.

Quote:

Addon Packager Proxy

This is a tool designed to help authors of "addons" for the popular MMORPG "World of Warcraft"
release their projects to both Curse/CurseForge and WowInterface, the two most popular
sites for hosting releases for such projects.

The tool (currently) has some very specific usage requirements:
  • The user needs to use Git.
  • The user needs to push to both GitHub and CurseForge repositories.
  • The user needs to use Markdown for changelogs.
    • Although changelogs are optional.

For a more in-depth explanation and usage guide, see the readme on GitHub:
https://github.com/p3lim/addon-packager-proxy


This topic will be used for feedback and suggestions, all bug reports should be submitted to the issue
tracker on Github: https://github.com/p3lim/addon-packager-proxy/issues.

Enjoy.

Notice:
This application is no longer in active development, I strongly advice using an alternative solution (such as BigWigs' packager, which I've written a guide for)

Choonstertwo 01-16-15 08:48 PM

This looks awesome. I already use Git with GitHub/CurseForge and tag each release, so this should fit in well with my existing process.

p3lim 01-17-15 03:00 AM

I've simplified the process quite a bit in v0.2.0, you no longer need to fork the repository, and you no longer have to do changes to core files for the application.

You now "deploy" the application directly to Heroku, setting the needed variables in a setup page.
The addon information will now be stored in a gist you create, the app will fetch that on every run.

I plan on adding a complete setup wizard to the app, removing the last few manual steps during the setup and letting the app do all the work.

Choonstertwo 01-17-15 08:21 PM

I was getting 404 errors from the AddOn repository's webhook until I changed the URL from https://<APP_NAME>.herokuapp.com/webhook to https://<APP_NAME>.herokuapp.com/. Once I changed the URL and redelivered the create event, it found the packaged AddOn and uploaded it to WoWI without issue.

This is much better than manually uploading to WoWI and dealing with the BBCode changelog.

p3lim 01-17-15 09:59 PM

Quote:

Originally Posted by Choonstertwo (Post 305143)
I was getting 404 errors from the AddOn repository's webhook until I changed the URL from https://<APP_NAME>.herokuapp.com/webhook to https://<APP_NAME>.herokuapp.com/. Once I changed the URL and redelivered the create event, it found the packaged AddOn and uploaded it to WoWI without issue.

Yeah that was one of the changes I did earlier today/yesterday. I updated the wiki to reflect that, but since this is still alpha quality, make sure you check the commit log before updating.

p3lim 01-17-15 10:47 PM

Spent some time improving the markdown to bbcode conversion, pretty much untested right now.

https://github.com/p3lim/addon-packa...80ff4f23466acb

p3lim 01-18-15 04:24 AM

And there goes my first successful actual release (excluding testing), also showcasing the new markdown to bbcode support.

My full logs from deploy to successful upload for reference:
Code:

2015-01-18T10:09:46.308890+00:00 heroku[api]: Enable Logplex by [email protected]
2015-01-18T10:09:46.309368+00:00 heroku[api]: Release v2 created by [email protected]
2015-01-18T10:09:51.507285+00:00 heroku[api]: Set GIST_ID, SECRET_KEY, WOWI_USERNAME, WOWI_PASSWORD, QUERY_MAX_ATTEMPTS, QUERY_DELAY_SECONDS config vars by [email protected]
2015-01-18T10:09:51.507285+00:00 heroku[api]: Release v3 created by [email protected]
2015-01-18T10:09:54.990365+00:00 heroku[api]: Add papertrail:choklad add-on by [email protected]
2015-01-18T10:09:54.990365+00:00 heroku[api]: Release v4 created by [email protected]
2015-01-18T10:10:45.757870+00:00 heroku[api]: Scale to web=1 by [email protected]
2015-01-18T10:10:45.865426+00:00 heroku[api]: Release v5 created by [email protected]
2015-01-18T10:10:45.865426+00:00 heroku[api]: Deploy 44c533d by [email protected]
2015-01-18T10:10:48.385404+00:00 heroku[web.1]: Starting process with command `npm start`
2015-01-18T10:10:51.258711+00:00 app[web.1]: > [email protected] start /app
2015-01-18T10:10:51.258673+00:00 app[web.1]:
2015-01-18T10:10:51.258713+00:00 app[web.1]: > node server.js
2015-01-18T10:10:51.258715+00:00 app[web.1]:
2015-01-18T10:10:51.986545+00:00 app[web.1]: [LOG] Successfully fetched addon list.
2015-01-18T10:11:22.648216+00:00 app[web.1]: [LOG] Ping: Design for failure.
2015-01-18T10:16:24.491893+00:00 app[web.1]: [LOG] Received event for "oUF_Reputation" version "60000.11-Release".
2015-01-18T10:17:24.503682+00:00 app[web.1]: [LOG] Attempt #1 at querying CurseForge.
2015-01-18T10:17:24.840656+00:00 app[web.1]: [LOG] Found tag link on CurseForge.
2015-01-18T10:17:25.060691+00:00 app[web.1]: [LOG] Found file link on CurseForge.
2015-01-18T10:17:25.132239+00:00 app[web.1]: [LOG] Successfully downloaded file from CurseForge.
2015-01-18T10:17:25.838016+00:00 app[web.1]: [LOG] Successfully authenticated with WowInterface.
2015-01-18T10:17:25.922909+00:00 app[web.1]: [LOG] Found existing addon, previous version: "60000.10-Release".
2015-01-18T10:17:26.705615+00:00 app[web.1]: [LOG] Addon "oUF_Reputation" version "60000.11-Release" was successfully uploaded.


Gethe 01-18-15 08:00 PM

I have not used Heroku, so please excuse my ignorance. How would I handle updating the app to a more recent version of your repo?

jlam 01-18-15 08:03 PM

I've not looked at the project code yet, but from the description I'm uneasy with using Curse's download bandwidth as part of a project to upload to WowInterface. Is there a way to just provide the zipfile directly?

p3lim 01-18-15 08:18 PM

Quote:

Originally Posted by Gethe (Post 305194)
I have not used Heroku, so please excuse my ignorance. How would I handle updating the app to a more recent version of your repo?

I'm gonna make a wiki article about it.

Edit: https://github.com/p3lim/addon-packa.../wiki/Updating

p3lim 01-18-15 08:39 PM

Quote:

Originally Posted by jlam (Post 305195)
I've not looked at the project code yet, but from the description I'm uneasy with using Curse's download bandwidth as part of a project to upload to WowInterface.

I've got approval from Curse admins, it should not be a problem.

Quote:

Originally Posted by jlam (Post 305195)
Is there a way to just provide the zipfile directly?

No.

Torhal 01-18-15 11:58 PM

Quote:

Originally Posted by jlam (Post 305195)
I've not looked at the project code yet, but from the description I'm uneasy with using Curse's download bandwidth as part of a project to upload to WowInterface. Is there a way to just provide the zipfile directly?

Many authors, myself included, do this manually every time they make a release; let the CurseForge packager do its thing, navigate to the download for the new file, download it, navigate to the project management page on WoWInterface, then upload it. This merely automates what's already being done.

EDIT: This would be a completely different story were the utility made for end-users. In that case, bandwidth would be a definite concern.

p3lim 01-19-15 01:15 AM

Made some changes to how the app handles changelogs in 0.3.4.

Short version: They must be enabled per-addon in the addon list (the gist).

Long version: https://github.com/p3lim/addon-packa...wiki/Changelog

Dorwido 02-07-15 04:49 PM

Quote:

Originally Posted by Torhal (Post 305205)
Many authors, myself included, do this manually every time they make a release; let the CurseForge packager do its thing, navigate to the download for the new file, download it, navigate to the project management page on WoWInterface, then upload it.

I know that from somewhere! I wish both sites just would have the packaging, changelog creation and also the translation, then I could just add both endpoints into my git config and push once release on both.

And this one sounds good, but as long it requires to make another repo on github, I am not bothered to check it out.

Cairenn 02-07-15 05:27 PM

Dorwido, use our API instead: http://www.wowinterface.com/forums/s...ad.php?t=51835 :)

Dorwido 02-07-15 07:06 PM

Quote:

Originally Posted by Cairenn (Post 306221)

Saw that one too, even its only a quick documentation how to use it, I guess setting it up to easy push a new release takes some time too, I would really love to see here a packager too and allow the same tags as on curseforge (dunno if that would be a legal issue) for example for translation I use the following:

Code:

if ( GetLocale() ~= "deDE" ) then
        return;
end
local ns = select( 2, ... );
ns.L = --@localization(locale="deDE", format="lua_table", handle-unlocalized="english")@

--@debug@
{}
--@end-debug@

It fills the localisation automatic for all languages and the debug thing is removed on pushing and I do use it to not get lua errors in my developing enviorment.

Kinda could do then an
git commit
git tag
git push

And it appears on both sites and only need to go on the site for changing descriptions, that would save alot of time.

Currently it is to do the git stuff on curseforge, then download the file there, upload it here, copy&paste the changelog from curseforge and change the formatting, enter the new version number and copy&paste the description if any change and then upload here.

And the api here to use still need to know all those stuff have a local zip etc, that data need to be scraped somewhere as well?

Its late maybe I oversee something.

p3lim 02-07-15 07:25 PM

Quote:

Originally Posted by Dorwido (Post 306220)
And this one sounds good, but as long it requires to make another repo on github, I am not bothered to check it out.

See this: https://github.com/p3lim/addon-packager-proxy/issues/4

Dorwido 02-11-15 11:19 AM

Quote:

Originally Posted by p3lim (Post 306226)

any news about this one?

p3lim 02-13-15 01:43 PM

Quote:

Originally Posted by Dorwido (Post 306363)
any news about this one?

It's up to CurseForge, I requested it as a feature to one of their developers/admins, other than that I don't know.
The issue ticket on GitHub will be updated whenever something changes on their end.

p3lim 02-16-15 12:36 PM

0.4.0 is out, two major changes:
  • Changelogs are pulled directly from the repository, not from the packaged zip.
    • This means that you don't have to bring the changelog along if you don't want to.
  • Github can be considered optional, but the app would be semi-automatic. See issue #4.


All times are GMT -6. The time now is 03:00 PM.

vBulletin © 2024, Jelsoft Enterprises Ltd
© 2004 - 2022 MMOUI