Quantcast Addon Packager Proxy - WoWInterface
Thread Tools Display Modes
01-16-15, 07:36 PM   #1
p3lim
A Pyroguard Emberseer
 
p3lim's Avatar
AddOn Author - Click to view addons
Join Date: Feb 2007
Posts: 1,623
Addon Packager Proxy

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

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.

Last edited by p3lim : 08-08-16 at 04:04 PM.
  Reply With Quote
01-16-15, 08:48 PM   #2
Choonstertwo
A Chromatic Dragonspawn
 
Choonstertwo's Avatar
AddOn Author - Click to view addons
Join Date: Jan 2011
Posts: 194
This looks awesome. I already use Git with GitHub/CurseForge and tag each release, so this should fit in well with my existing process.
  Reply With Quote
01-17-15, 03:00 AM   #3
p3lim
A Pyroguard Emberseer
 
p3lim's Avatar
AddOn Author - Click to view addons
Join Date: Feb 2007
Posts: 1,623
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.
  Reply With Quote
01-17-15, 08:21 PM   #4
Choonstertwo
A Chromatic Dragonspawn
 
Choonstertwo's Avatar
AddOn Author - Click to view addons
Join Date: Jan 2011
Posts: 194
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.
  Reply With Quote
01-17-15, 09:59 PM   #5
p3lim
A Pyroguard Emberseer
 
p3lim's Avatar
AddOn Author - Click to view addons
Join Date: Feb 2007
Posts: 1,623
Originally Posted by Choonstertwo View Post
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.
  Reply With Quote
01-17-15, 10:47 PM   #6
p3lim
A Pyroguard Emberseer
 
p3lim's Avatar
AddOn Author - Click to view addons
Join Date: Feb 2007
Posts: 1,623
Spent some time improving the markdown to bbcode conversion, pretty much untested right now.

https://github.com/p3lim/addon-packa...80ff4f23466acb
  Reply With Quote
01-18-15, 04:24 AM   #7
p3lim
A Pyroguard Emberseer
 
p3lim's Avatar
AddOn Author - Click to view addons
Join Date: Feb 2007
Posts: 1,623
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.
  Reply With Quote
01-18-15, 08:00 PM   #8
Gethe
RealUI Developer
 
Gethe's Avatar
Premium Member
Featured
Join Date: Sep 2008
Posts: 850
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?
__________________
Knowledge = Power; Be OP
  Reply With Quote
01-18-15, 08:03 PM   #9
jlam
A Deviate Faerie Dragon
AddOn Author - Click to view addons
Join Date: Oct 2010
Posts: 11
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?
  Reply With Quote
01-18-15, 08:18 PM   #10
p3lim
A Pyroguard Emberseer
 
p3lim's Avatar
AddOn Author - Click to view addons
Join Date: Feb 2007
Posts: 1,623
Originally Posted by Gethe View Post
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

Last edited by p3lim : 01-18-15 at 09:10 PM.
  Reply With Quote
01-18-15, 08:39 PM   #11
p3lim
A Pyroguard Emberseer
 
p3lim's Avatar
AddOn Author - Click to view addons
Join Date: Feb 2007
Posts: 1,623
Originally Posted by jlam View Post
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.

Originally Posted by jlam View Post
Is there a way to just provide the zipfile directly?
No.

Last edited by p3lim : 01-18-15 at 08:44 PM.
  Reply With Quote
01-18-15, 11:58 PM   #12
Torhal
A Pyroguard Emberseer
 
Torhal's Avatar
AddOn Author - Click to view addons
Join Date: Aug 2008
Posts: 1,179
Originally Posted by jlam View Post
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.
__________________
Whenever someone says "pls" because it's shorter than "please", I say "no" because it's shorter than "yes".

Author of Revelation, Spamalyzer, TravelAgent, Volumizer, and many other AddOns.
  Reply With Quote
01-19-15, 01:15 AM   #13
p3lim
A Pyroguard Emberseer
 
p3lim's Avatar
AddOn Author - Click to view addons
Join Date: Feb 2007
Posts: 1,623
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

Last edited by p3lim : 01-19-15 at 01:17 AM.
  Reply With Quote
02-07-15, 04:49 PM   #14
Dorwido
A Wyrmkin Dreamwalker
AddOn Author - Click to view addons
Join Date: Apr 2006
Posts: 54
Originally Posted by Torhal View Post
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.
__________________
Auction Analytics
http://www.wowauction.org/
  Reply With Quote
02-07-15, 05:27 PM   #15
Cairenn
Credendo Vides
 
Cairenn's Avatar
Premium Member
WoWInterface Admin
Join Date: Mar 2004
Posts: 7,056
Dorwido, use our API instead: http://www.wowinterface.com/forums/s...ad.php?t=51835
  Reply With Quote
02-07-15, 07:06 PM   #16
Dorwido
A Wyrmkin Dreamwalker
AddOn Author - Click to view addons
Join Date: Apr 2006
Posts: 54
Originally Posted by Cairenn View Post
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 = [email protected](locale="deDE", format="lua_table", handle-unlocalized="english")@

[email protected]@ 
{}
[email protected]@
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.
__________________
Auction Analytics
http://www.wowauction.org/
  Reply With Quote
02-07-15, 07:25 PM   #17
p3lim
A Pyroguard Emberseer
 
p3lim's Avatar
AddOn Author - Click to view addons
Join Date: Feb 2007
Posts: 1,623
Originally Posted by Dorwido View Post
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
  Reply With Quote
02-11-15, 11:19 AM   #18
Dorwido
A Wyrmkin Dreamwalker
AddOn Author - Click to view addons
Join Date: Apr 2006
Posts: 54
Originally Posted by p3lim View Post
any news about this one?
__________________
Auction Analytics
http://www.wowauction.org/
  Reply With Quote
02-13-15, 01:43 PM   #19
p3lim
A Pyroguard Emberseer
 
p3lim's Avatar
AddOn Author - Click to view addons
Join Date: Feb 2007
Posts: 1,623
Originally Posted by Dorwido View Post
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.
  Reply With Quote
02-16-15, 12:36 PM   #20
p3lim
A Pyroguard Emberseer
 
p3lim's Avatar
AddOn Author - Click to view addons
Join Date: Feb 2007
Posts: 1,623
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.
  Reply With Quote

WoWInterface » Developer Discussions » Dev Tools » Addon Packager Proxy

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off