Setup config to be functional with pre-release file

This commit is contained in:
Aurelien Vaillant
2022-03-01 09:56:43 +01:00
parent f63fe975b3
commit b7936db235
5 changed files with 22 additions and 8 deletions
+2 -1
View File
@@ -14,6 +14,7 @@ Update the file "tests/main.py", line 29, set your addon name.
All unit tests call docker image [stilobique/blender:latest](https://hub.docker.com/repository/docker/stilobique/blender). All unit tests call docker image [stilobique/blender:latest](https://hub.docker.com/repository/docker/stilobique/blender).
# Addons/Plugins dependency # Addons/Plugins dependency
Update json file `tests/dependency.json` with name, archive and repository Github path. Update json file `tests/dependency.json` with name, archive and repository Github path. Each entry requiert `archive
name`, the repository url path '{owner}/{repo}' and optional parameter if the release needed to be a prerelease.
> ⛔ The `moderlab_plugin` need to be on last entry. > ⛔ The `moderlab_plugin` need to be on last entry.
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"blender": { "blender": {
"moderlab_type": ["moderlab_type.zip", "Moderlab-Production/BlenderObjectType"], "moderlab_type": ["moderlab_type.zip", "Moderlab-Production/BlenderObjectType", "prerelease"],
"moderlab_pie": ["moderlab_plugin.zip", "Moderlab-Production/BlenderPieMenu"], "moderlab_pie": ["moderlab_plugin.zip", "Moderlab-Production/BlenderPieMenu"],
"moderlab_plugin": ["moderlab_plugin.zip", "Moderlab-Production/BlenderPlugin"] "moderlab_plugin": ["moderlab_plugin.zip", "Moderlab-Production/BlenderPlugin"]
}, },
-1
View File
@@ -43,7 +43,6 @@ if __name__ == '__main__':
test_list = [] test_list = []
items = arg.replace('--test=', '').split(',') items = arg.replace('--test=', '').split(',')
for item in items: for item in items:
print('Launch this test : ', item)
test_list.append(item) test_list.append(item)
# Launch Unit Test # Launch Unit Test
+5 -1
View File
@@ -13,5 +13,9 @@ def get_b3d_addon_dependency(archive: list):
b3d_dependency = data['blender'] b3d_dependency = data['blender']
for key, value in b3d_dependency.items(): for key, value in b3d_dependency.items():
get_release_file(value[0], value[1]) if 'prerelease' in value:
prerelease = True
else:
prerelease = False
get_release_file(value[0], value[1], prerelease=prerelease)
archive.append(value[0]) archive.append(value[0])
+14 -4
View File
@@ -13,13 +13,23 @@ def read_token():
return token return token
def get_release_file(filename: str, repo: str): def get_release_file(filename: str, repo: str, prerelease: bool = False):
"""Download from Github the latest release files""" """Download from Github the latest release files"""
g = Github(read_token()) g = Github(read_token())
repository = g.get_repo(repo) repository = g.get_repo(repo)
latest = repository.get_latest_release() all_releases = repository.get_releases()
latest.get_assets() assets_release = None
for file in latest.get_assets():
for release in all_releases:
print(f'Get "{filename}", with a prerelease value to "{prerelease}" ')
if release.prerelease is prerelease:
assets_release = release.get_assets()
break
else:
assets_release = release.get_assets()
break
for file in assets_release:
if file.name == filename: if file.name == filename:
dl_file(file.url, file.name) dl_file(file.url, file.name)