GurliGebis / WoWAddon-AngrierWorldQuests

29 stars 14 forks source link

Ajour compatability: Tagging releases as latest #5

Closed danielcherubini closed 3 years ago

danielcherubini commented 4 years ago

Hi

You can use Ajour to manage the installation and versioning of this install.. You provide it with a github link, and it will take care of the rest.. however there's an issue, Ajour uses tags, specifically the "latest" tag. If you tag your releases with Latest, you will gain people using Ajour, and other plugin managers to work out of the box.

Thanks

GurliGebis commented 4 years ago

Should be done now, however, it does not seem like the URL Ajour tries to download from matches the one github generates for the "latest" tag.

danielcherubini commented 4 years ago

the URL https://github.com/GurliGebis/AngryWorldQuests/releases/latest is a 302 Redirect to the latest release.. my guess is they are not handling the 302 correctly... or they are looking for a spefically named asset. I'll double check with them

talizea commented 4 years ago

The WowUp updater requires that

In order for WowUp to be able to install an addon from GitHub the author must have created a tagged release. That tagged release must then contain a packaged zip file that WowUp can find.

Not sure about Ajour (and others).

danielcherubini commented 4 years ago

Ajour does exactly that, it parses the url, then uses the git api to find the asset, looks for a zip, then goes from there.. the error i'm getting is that it cannot find a zip.. so i'm checking the source now

danielcherubini commented 4 years ago

Here's the outut from CURL... Looks like the assets array is empty,

curl https://api.github.com/repos/GurliGebis/AngryWorldQuests/releases/latest
{
  "url": "https://api.github.com/repos/GurliGebis/AngryWorldQuests/releases/34513361",
  "assets_url": "https://api.github.com/repos/GurliGebis/AngryWorldQuests/releases/34513361/assets",
  "upload_url": "https://uploads.github.com/repos/GurliGebis/AngryWorldQuests/releases/34513361/assets{?name,label}",
  "html_url": "https://github.com/GurliGebis/AngryWorldQuests/releases/tag/v0.30.0",
  "id": 34513361,
  "author": {
    "login": "GurliGebis",
    "id": 13592619,
    "node_id": "MDQ6VXNlcjEzNTkyNjE5",
    "avatar_url": "https://avatars2.githubusercontent.com/u/13592619?v=4",
    "gravatar_id": "",
    "url": "https://api.github.com/users/GurliGebis",
    "html_url": "https://github.com/GurliGebis",
    "followers_url": "https://api.github.com/users/GurliGebis/followers",
    "following_url": "https://api.github.com/users/GurliGebis/following{/other_user}",
    "gists_url": "https://api.github.com/users/GurliGebis/gists{/gist_id}",
    "starred_url": "https://api.github.com/users/GurliGebis/starred{/owner}{/repo}",
    "subscriptions_url": "https://api.github.com/users/GurliGebis/subscriptions",
    "organizations_url": "https://api.github.com/users/GurliGebis/orgs",
    "repos_url": "https://api.github.com/users/GurliGebis/repos",
    "events_url": "https://api.github.com/users/GurliGebis/events{/privacy}",
    "received_events_url": "https://api.github.com/users/GurliGebis/received_events",
    "type": "User",
    "site_admin": false
  },
  "node_id": "MDc6UmVsZWFzZTM0NTEzMzYx",
  "tag_name": "v0.30.0",
  "target_commitish": "main",
  "name": "v0.30.0",
  "draft": false,
  "prerelease": false,
  "created_at": "2020-11-27T17:17:55Z",
  "published_at": "2020-11-27T17:25:15Z",
  "assets": [

  ],
  "tarball_url": "https://api.github.com/repos/GurliGebis/AngryWorldQuests/tarball/v0.30.0",
  "zipball_url": "https://api.github.com/repos/GurliGebis/AngryWorldQuests/zipball/v0.30.0",
  "body": ""
}

https://github.com/casperstorm/ajour/blob/307ba399713fa455e3bf3668873166caad23a17e/crates/core/src/repository/backend/git.rs#L47

Here it's trying to get the JSON response and cast it to the model on line 155, so if the array of releases is empty, it's going to have an issue.

I wonder why the array is empty

danielcherubini commented 4 years ago

it also seems that it's missing the prerelease boolean, that also could be causing an issue..

esran commented 3 years ago

For reference, New Openables (https://github.com/srhinos/new-openables) works fine with Ajour via github.

danielcherubini commented 3 years ago

Looks like that repo has an asset in its release.

If you’d like me to help out with the GitHub automation of releases, let me know. I love handling automation.

JohnPeel commented 3 years ago

Might be useful to write a GitHub action that reads the pkgmeta and generates the zip, then all the wow addon repos can use it.

GurliGebis commented 3 years ago

I have renamed the project to Angrier World Quests, and created it on CurseForge - hopefully it will be accepted, so I can maintain it there.

GurliGebis commented 3 years ago

I'm closing this ticket, since it is on CurseForge now: https://www.curseforge.com/wow/addons/angrier-world-quests