From e98c0a9f8910880f0caf90b77cad833059346d5f Mon Sep 17 00:00:00 2001 From: Aurelien Vaillant Date: Wed, 2 Feb 2022 10:13:43 +0100 Subject: [PATCH 01/24] Always update release, but check if it's needed to make a new release --- .github/workflows/generate_release.yml | 1 + .github/workflows/pr_main.yml | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/generate_release.yml b/.github/workflows/generate_release.yml index 1b1700c..fcdbb2d 100644 --- a/.github/workflows/generate_release.yml +++ b/.github/workflows/generate_release.yml @@ -21,6 +21,7 @@ jobs: - name: Setup a new Semantic Version id: new_semantic_setup + if: ${{ github.event.action == 'opened' }} uses: zwaldowski/semver-release-action@v2 with: bump: ${{ inputs.bump_version }} diff --git a/.github/workflows/pr_main.yml b/.github/workflows/pr_main.yml index b4aa051..e712dd1 100644 --- a/.github/workflows/pr_main.yml +++ b/.github/workflows/pr_main.yml @@ -16,7 +16,6 @@ jobs: prepare-first-release: name: Make the pre-release needs: init-release-data - if: ${{ github.event.action == 'opened' }} uses: Moderlab-Production/BlenderTemplate/.github/workflows/generate_release.yml@main with: bump_version: ${{ needs.init-release-data.outputs.version_type }} @@ -28,6 +27,7 @@ jobs: name: Generate archive package needs: - init-release-data + - prepare-first-release - unit-test uses: Moderlab-Production/BlenderTemplate/.github/workflows/package.yml@main with: From 4dc408d9981199fd37c983ae4fbe30d1e89b9b72 Mon Sep 17 00:00:00 2001 From: Aurelien Vaillant Date: Wed, 2 Feb 2022 10:27:40 +0100 Subject: [PATCH 02/24] Clear the pr main with duplicate data --- .github/workflows/pr_main.yml | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/.github/workflows/pr_main.yml b/.github/workflows/pr_main.yml index e712dd1..976b379 100644 --- a/.github/workflows/pr_main.yml +++ b/.github/workflows/pr_main.yml @@ -42,20 +42,8 @@ jobs: - release-package runs-on: ubuntu-latest steps: - - name: Debug the release + - name: Update/Publish the release uses: tubone24/update_release@v1.3.1 - if: ${{ needs.init-release-data.outputs.version_draft == 'true' }} - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - TAG_NAME: ${{ needs.init-release-data.outputs.version_name }} - with: - release_name: ${{ needs.init-release-data.outputs.version_name }} - body: '' - prerelease: ${{ needs.init-release-data.outputs.version_draft }} - - - name: Publish the release - uses: tubone24/update_release@v1.3.1 - if: ${{ needs.init-release-data.outputs.version_draft == 'false' }} env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} TAG_NAME: ${{ needs.init-release-data.outputs.version_name }} From 22fac3b775cc4095ef1dfd00276636260bfabe27 Mon Sep 17 00:00:00 2001 From: Aurelien Vaillant Date: Wed, 2 Feb 2022 10:39:50 +0100 Subject: [PATCH 03/24] Update the script to define package name --- .github/package.py | 2 +- .github/workflows/package.yml | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/package.py b/.github/package.py index a4a545c..23a39f1 100644 --- a/.github/package.py +++ b/.github/package.py @@ -10,4 +10,4 @@ def get_folder_name(): if __name__ == "__main__": name = get_folder_name() - print(f'Show this value : {name}') + # print(f'Show this value : {name}') diff --git a/.github/workflows/package.yml b/.github/workflows/package.yml index f40c241..b378867 100644 --- a/.github/workflows/package.yml +++ b/.github/workflows/package.yml @@ -43,7 +43,9 @@ jobs: echo "With python, get a folder name" python '.github/package.py' echo "set with output value" - echo "::set-output name=type::$(python .github/package.py)" + echo "Default env variable ${{env.APP_NAME}}" + echo "{$(python .github/package.py)}={value}" >> $GITHUB_ENV + echo "show env variable ${{env.APP_NAME}}" - name: Commit the previous update uses: actions-js/push@v1.3 From b8d25e7d1ea4da5a8f821bc875d3ae23f28bac01 Mon Sep 17 00:00:00 2001 From: Aurelien Vaillant Date: Wed, 2 Feb 2022 10:46:40 +0100 Subject: [PATCH 04/24] Set NAME and PACKAGE env variable --- .github/workflows/package.yml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/package.yml b/.github/workflows/package.yml index b378867..1bf0546 100644 --- a/.github/workflows/package.yml +++ b/.github/workflows/package.yml @@ -21,8 +21,8 @@ on: default: 'false' env: - APP_NAME: 'moderlab_type' - NAME_PACKAGE: 'moderlab_type.zip' + APP_NAME: 'addon_name' + NAME_PACKAGE: 'addon_name.zip' # Execute this command @@ -44,8 +44,10 @@ jobs: python '.github/package.py' echo "set with output value" echo "Default env variable ${{env.APP_NAME}}" - echo "{$(python .github/package.py)}={value}" >> $GITHUB_ENV - echo "show env variable ${{env.APP_NAME}}" + echo "APP_NAME={$(python .github/package.py)}" >> $GITHUB_ENV + echo "NAME_PACKAGE={${{env.APP_NAME}}.zip}" >> $GITHUB_ENV + echo "show env variable app name ${{env.APP_NAME}}" + echo "show env variable package ${{env.NAME_PACKAGE}}" - name: Commit the previous update uses: actions-js/push@v1.3 From 42754060e31958d6ea1937bc248e4376c4c29678 Mon Sep 17 00:00:00 2001 From: Aurelien Vaillant Date: Wed, 2 Feb 2022 10:52:56 +0100 Subject: [PATCH 05/24] Write github var env with the package python script --- .github/package.py | 5 ++++- .github/workflows/package.yml | 7 +++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/.github/package.py b/.github/package.py index 23a39f1..f0a4eec 100644 --- a/.github/package.py +++ b/.github/package.py @@ -10,4 +10,7 @@ def get_folder_name(): if __name__ == "__main__": name = get_folder_name() - # print(f'Show this value : {name}') + + with open('$GITHUB_ENV', 'a') as f: + f.write(f'APP_NAME={name}') + f.write(f'NAME_PACKAGE={name}.zip') diff --git a/.github/workflows/package.yml b/.github/workflows/package.yml index 1bf0546..73ac5a9 100644 --- a/.github/workflows/package.yml +++ b/.github/workflows/package.yml @@ -41,11 +41,10 @@ jobs: - name: Setup package name run: | echo "With python, get a folder name" - python '.github/package.py' - echo "set with output value" echo "Default env variable ${{env.APP_NAME}}" - echo "APP_NAME={$(python .github/package.py)}" >> $GITHUB_ENV - echo "NAME_PACKAGE={${{env.APP_NAME}}.zip}" >> $GITHUB_ENV + python '.github/package.py' +# echo "APP_NAME={$(python .github/package.py)}" >> $GITHUB_ENV +# echo "NAME_PACKAGE={${{env.APP_NAME}}.zip}" >> $GITHUB_ENV echo "show env variable app name ${{env.APP_NAME}}" echo "show env variable package ${{env.NAME_PACKAGE}}" From cff2f0ca39ae2af87cec4bc1fdd386d84af4802c Mon Sep 17 00:00:00 2001 From: Aurelien Vaillant Date: Wed, 2 Feb 2022 10:57:20 +0100 Subject: [PATCH 06/24] Update debug script --- .github/package.py | 5 ++++- .github/workflows/package.yml | 2 -- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/package.py b/.github/package.py index f0a4eec..309104c 100644 --- a/.github/package.py +++ b/.github/package.py @@ -10,7 +10,10 @@ def get_folder_name(): if __name__ == "__main__": name = get_folder_name() + print(f'Python : The folder name find are "{name}"') - with open('$GITHUB_ENV', 'a') as f: + with open('$GITHUB_ENV', 'w') as f: f.write(f'APP_NAME={name}') f.write(f'NAME_PACKAGE={name}.zip') + print('Update all env. variable') + f.close() diff --git a/.github/workflows/package.yml b/.github/workflows/package.yml index 73ac5a9..eae2da3 100644 --- a/.github/workflows/package.yml +++ b/.github/workflows/package.yml @@ -43,8 +43,6 @@ jobs: echo "With python, get a folder name" echo "Default env variable ${{env.APP_NAME}}" python '.github/package.py' -# echo "APP_NAME={$(python .github/package.py)}" >> $GITHUB_ENV -# echo "NAME_PACKAGE={${{env.APP_NAME}}.zip}" >> $GITHUB_ENV echo "show env variable app name ${{env.APP_NAME}}" echo "show env variable package ${{env.NAME_PACKAGE}}" From dcad1f74c8385f2daaf13ef62a572497c9e1b7d6 Mon Sep 17 00:00:00 2001 From: Aurelien Vaillant Date: Wed, 2 Feb 2022 11:04:09 +0100 Subject: [PATCH 07/24] Fix env. variable call --- .github/package.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/package.py b/.github/package.py index 309104c..aa36058 100644 --- a/.github/package.py +++ b/.github/package.py @@ -9,10 +9,11 @@ def get_folder_name(): if __name__ == "__main__": + env_file = os.getenv('GITHUB_ENV') name = get_folder_name() print(f'Python : The folder name find are "{name}"') - with open('$GITHUB_ENV', 'w') as f: + with open(env_file, 'a') as f: f.write(f'APP_NAME={name}') f.write(f'NAME_PACKAGE={name}.zip') print('Update all env. variable') From bdfa596bf31455232eacfc3c7dbd5ec5713eec03 Mon Sep 17 00:00:00 2001 From: Aurelien Vaillant Date: Wed, 2 Feb 2022 11:45:57 +0100 Subject: [PATCH 08/24] Give the python version used --- .github/package.py | 8 ++++---- .github/workflows/package.yml | 5 +++++ 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/.github/package.py b/.github/package.py index aa36058..d52ebcb 100644 --- a/.github/package.py +++ b/.github/package.py @@ -11,10 +11,10 @@ def get_folder_name(): if __name__ == "__main__": env_file = os.getenv('GITHUB_ENV') name = get_folder_name() + archive = name + '.zip' print(f'Python : The folder name find are "{name}"') - with open(env_file, 'a') as f: - f.write(f'APP_NAME={name}') - f.write(f'NAME_PACKAGE={name}.zip') + with open(env_file, 'w') as f: + f.write('APP_NAME={name}'.format(name=name)) + f.write('NAME_PACKAGE={archive}.zip'.format(archive=archive)) print('Update all env. variable') - f.close() diff --git a/.github/workflows/package.yml b/.github/workflows/package.yml index eae2da3..23b94cb 100644 --- a/.github/workflows/package.yml +++ b/.github/workflows/package.yml @@ -33,6 +33,11 @@ jobs: steps: - uses: actions/checkout@main + - name: "Set up python" + uses: actions/setup-python@v2 + with: + python-version: 3.8 + # Update the bl info version, update the init file and push if needed - name: Change version number in the bl info addon data run: python '.github/version.py' --tag=${{ inputs.num_version }} --name=${{ env.APP_NAME }} From 4ffb0af8e47d48422729ed72c91454a1ece9f11b Mon Sep 17 00:00:00 2001 From: Aurelien Vaillant Date: Wed, 2 Feb 2022 11:58:09 +0100 Subject: [PATCH 09/24] Update the package script file --- .github/package.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/package.py b/.github/package.py index d52ebcb..bf0d49e 100644 --- a/.github/package.py +++ b/.github/package.py @@ -11,10 +11,10 @@ def get_folder_name(): if __name__ == "__main__": env_file = os.getenv('GITHUB_ENV') name = get_folder_name() - archive = name + '.zip' print(f'Python : The folder name find are "{name}"') - with open(env_file, 'w') as f: - f.write('APP_NAME={name}'.format(name=name)) - f.write('NAME_PACKAGE={archive}.zip'.format(archive=archive)) - print('Update all env. variable') + with open(env_file, 'a') as f: + f.write(f'APP_NAME={name}') + + with open(env_file, 'a') as f: + f.write(f'NAME_PACKAGE={name}.zip') From 9cb2640eb6086a4d107b6049beaceaae149cf509 Mon Sep 17 00:00:00 2001 From: Aurelien Vaillant Date: Wed, 2 Feb 2022 12:17:19 +0100 Subject: [PATCH 10/24] Try to update the env package value --- .github/package.py | 8 -------- .github/workflows/package.yml | 2 ++ 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/.github/package.py b/.github/package.py index bf0d49e..ef99c5c 100644 --- a/.github/package.py +++ b/.github/package.py @@ -9,12 +9,4 @@ def get_folder_name(): if __name__ == "__main__": - env_file = os.getenv('GITHUB_ENV') name = get_folder_name() - print(f'Python : The folder name find are "{name}"') - - with open(env_file, 'a') as f: - f.write(f'APP_NAME={name}') - - with open(env_file, 'a') as f: - f.write(f'NAME_PACKAGE={name}.zip') diff --git a/.github/workflows/package.yml b/.github/workflows/package.yml index 23b94cb..6b30eb4 100644 --- a/.github/workflows/package.yml +++ b/.github/workflows/package.yml @@ -48,7 +48,9 @@ jobs: echo "With python, get a folder name" echo "Default env variable ${{env.APP_NAME}}" python '.github/package.py' + echo "::set-output name=APP_NAME::$(echo python '.github/package.py')" echo "show env variable app name ${{env.APP_NAME}}" + echo "::set-output name=changelog::$(echo python '.github/package.py'.zip)" echo "show env variable package ${{env.NAME_PACKAGE}}" - name: Commit the previous update From f2062b2d5bac9cad6be6cf92b8932137ba261ac1 Mon Sep 17 00:00:00 2001 From: Aurelien Vaillant Date: Wed, 2 Feb 2022 12:26:36 +0100 Subject: [PATCH 11/24] Get the folder name with another way --- .github/workflows/package.yml | 28 +++++++++++----------------- 1 file changed, 11 insertions(+), 17 deletions(-) diff --git a/.github/workflows/package.yml b/.github/workflows/package.yml index 6b30eb4..0c50f51 100644 --- a/.github/workflows/package.yml +++ b/.github/workflows/package.yml @@ -20,10 +20,6 @@ on: required: true default: 'false' -env: - APP_NAME: 'addon_name' - NAME_PACKAGE: 'addon_name.zip' - # Execute this command jobs: @@ -38,20 +34,18 @@ jobs: with: python-version: 3.8 - # Update the bl info version, update the init file and push if needed - - name: Change version number in the bl info addon data - run: python '.github/version.py' --tag=${{ inputs.num_version }} --name=${{ env.APP_NAME }} - # Get the local folder name - name: Setup package name + id: folder run: | echo "With python, get a folder name" - echo "Default env variable ${{env.APP_NAME}}" python '.github/package.py' - echo "::set-output name=APP_NAME::$(echo python '.github/package.py')" - echo "show env variable app name ${{env.APP_NAME}}" - echo "::set-output name=changelog::$(echo python '.github/package.py'.zip)" - echo "show env variable package ${{env.NAME_PACKAGE}}" + echo "::set-output name=folder::$(echo python '.github/package.py')" + echo "::set-output name=package::$(echo python '.github/package.py'.zip)" + + # Update the bl info version, update the init file and push if needed + - name: Change version number in the bl info addon data + run: python '.github/version.py' --tag=${{ inputs.num_version }} --name=${{ steps.folder.outputs.folder }} - name: Commit the previous update uses: actions-js/push@v1.3 @@ -68,18 +62,18 @@ jobs: - name: Create zip archive release run: | cd '${{ github.workspace }}' - zip -r '${{ github.workspace }}/releases/${{ env.NAME_PACKAGE }}' ${{ env.APP_NAME }} + zip -r '${{ github.workspace }}/releases/${{ steps.folder.outputs.package }}' ${{ steps.folder.outputs.folder }} - uses: actions/upload-artifact@v2 with: - name: ${{ env.NAME_PACKAGE }} - path: ${{ github.workspace }}/releases/${{ env.NAME_PACKAGE }} + name: ${{ steps.folder.outputs.package }} + path: ${{ github.workspace }}/releases/${{ steps.folder.outputs.package }} - name: Update the github release if: github.event_name == 'pull_request' uses: johnwbyrd/update-release@v1.0.0 with: token: ${{ secrets.GITHUB_TOKEN }} - files: '${{ github.workspace }}/releases/${{ env.NAME_PACKAGE }}' + files: '${{ github.workspace }}/releases/${{ steps.folder.outputs.package }}' release: ${{ inputs.name_version }} tag: ${{ inputs.name_version }} \ No newline at end of file From 028d2a6189923fc3733720b8894598ef663cc878 Mon Sep 17 00:00:00 2001 From: Aurelien Vaillant Date: Wed, 2 Feb 2022 12:32:37 +0100 Subject: [PATCH 12/24] Fix expression --- .github/workflows/package.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/package.yml b/.github/workflows/package.yml index 0c50f51..1a44f39 100644 --- a/.github/workflows/package.yml +++ b/.github/workflows/package.yml @@ -40,8 +40,8 @@ jobs: run: | echo "With python, get a folder name" python '.github/package.py' - echo "::set-output name=folder::$(echo python '.github/package.py')" - echo "::set-output name=package::$(echo python '.github/package.py'.zip)" + echo "::set-output name=folder::${{(echo python '.github/package.py')}}" + echo "::set-output name=package::${{(echo python '.github/package.py'.zip)}}" # Update the bl info version, update the init file and push if needed - name: Change version number in the bl info addon data From 9fcbc155758a55b49d77fb6dafea0c42016ee89f Mon Sep 17 00:00:00 2001 From: Aurelien Vaillant Date: Wed, 2 Feb 2022 13:31:38 +0100 Subject: [PATCH 13/24] Update the set folder name --- .github/workflows/package.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/package.yml b/.github/workflows/package.yml index 1a44f39..c35dda7 100644 --- a/.github/workflows/package.yml +++ b/.github/workflows/package.yml @@ -40,8 +40,10 @@ jobs: run: | echo "With python, get a folder name" python '.github/package.py' - echo "::set-output name=folder::${{(echo python '.github/package.py')}}" - echo "::set-output name=package::${{(echo python '.github/package.py'.zip)}}" + name = echo python '.github/package.py' + archive = echo python '.github/package.py'.zip + echo "::set-output name=folder::${name}" + echo "::set-output name=package::${archive}" # Update the bl info version, update the init file and push if needed - name: Change version number in the bl info addon data From 2da1a667127405f4e0a8e8158043bc7e1fd27eaa Mon Sep 17 00:00:00 2001 From: Aurelien Vaillant Date: Wed, 2 Feb 2022 13:36:44 +0100 Subject: [PATCH 14/24] Update python script --- .github/workflows/package.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/package.yml b/.github/workflows/package.yml index c35dda7..8c877d1 100644 --- a/.github/workflows/package.yml +++ b/.github/workflows/package.yml @@ -40,9 +40,9 @@ jobs: run: | echo "With python, get a folder name" python '.github/package.py' - name = echo python '.github/package.py' - archive = echo python '.github/package.py'.zip + name = python '.github/package.py' echo "::set-output name=folder::${name}" + archive = '.github/package.py'.zip echo "::set-output name=package::${archive}" # Update the bl info version, update the init file and push if needed From 6cf19ede0f17832902642674abefa447e8494246 Mon Sep 17 00:00:00 2001 From: Aurelien Vaillant Date: Wed, 2 Feb 2022 13:41:07 +0100 Subject: [PATCH 15/24] Small fix with the package folder name script --- .github/package.py | 1 + .github/workflows/package.yml | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/package.py b/.github/package.py index ef99c5c..d5de56b 100644 --- a/.github/package.py +++ b/.github/package.py @@ -10,3 +10,4 @@ def get_folder_name(): if __name__ == "__main__": name = get_folder_name() + print(name) diff --git a/.github/workflows/package.yml b/.github/workflows/package.yml index 8c877d1..3ff3d56 100644 --- a/.github/workflows/package.yml +++ b/.github/workflows/package.yml @@ -40,9 +40,9 @@ jobs: run: | echo "With python, get a folder name" python '.github/package.py' - name = python '.github/package.py' + name=echo python '.github/package.py' echo "::set-output name=folder::${name}" - archive = '.github/package.py'.zip + archive='.github/package.py'.zip echo "::set-output name=package::${archive}" # Update the bl info version, update the init file and push if needed From ed750fbd831b7652aec75d714f42819a39e4a9fe Mon Sep 17 00:00:00 2001 From: Aurelien Vaillant Date: Wed, 2 Feb 2022 13:46:23 +0100 Subject: [PATCH 16/24] Another test --- .github/workflows/package.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/package.yml b/.github/workflows/package.yml index 3ff3d56..0fd5b80 100644 --- a/.github/workflows/package.yml +++ b/.github/workflows/package.yml @@ -40,14 +40,18 @@ jobs: run: | echo "With python, get a folder name" python '.github/package.py' - name=echo python '.github/package.py' + name= python '.github/package.py' + echo "The folder name are ${python '.github/package.py}" echo "::set-output name=folder::${name}" archive='.github/package.py'.zip echo "::set-output name=package::${archive}" # Update the bl info version, update the init file and push if needed - name: Change version number in the bl info addon data - run: python '.github/version.py' --tag=${{ inputs.num_version }} --name=${{ steps.folder.outputs.folder }} + run: | + echo "The folder name are ${{ steps.folder.outputs.folder }}" + echo "The tag used are ${{ inputs.num_version }}" + python '.github/version.py' --tag=${{ inputs.num_version }} --name=${{ steps.folder.outputs.folder }} - name: Commit the previous update uses: actions-js/push@v1.3 From 51a8918a052d4b29422da316a03927eb3c8e5b97 Mon Sep 17 00:00:00 2001 From: Aurelien Vaillant Date: Wed, 2 Feb 2022 13:48:04 +0100 Subject: [PATCH 17/24] Bad echo value --- .github/workflows/package.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/package.yml b/.github/workflows/package.yml index 0fd5b80..b9437da 100644 --- a/.github/workflows/package.yml +++ b/.github/workflows/package.yml @@ -41,7 +41,7 @@ jobs: echo "With python, get a folder name" python '.github/package.py' name= python '.github/package.py' - echo "The folder name are ${python '.github/package.py}" + echo "The folder name are ${name}" echo "::set-output name=folder::${name}" archive='.github/package.py'.zip echo "::set-output name=package::${archive}" From 8aab4100a1154519e9db685710d3f2167822fb59 Mon Sep 17 00:00:00 2001 From: Aurelien Vaillant Date: Wed, 2 Feb 2022 13:51:15 +0100 Subject: [PATCH 18/24] Set variable fix --- .github/workflows/package.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/package.yml b/.github/workflows/package.yml index b9437da..35adb1d 100644 --- a/.github/workflows/package.yml +++ b/.github/workflows/package.yml @@ -40,7 +40,7 @@ jobs: run: | echo "With python, get a folder name" python '.github/package.py' - name= python '.github/package.py' + name=$(python '.github/package.py') echo "The folder name are ${name}" echo "::set-output name=folder::${name}" archive='.github/package.py'.zip From d4466bff296f85246104640372fc9cb9ecfc3eaf Mon Sep 17 00:00:00 2001 From: Aurelien Vaillant Date: Wed, 2 Feb 2022 13:53:57 +0100 Subject: [PATCH 19/24] Fix archive name --- .github/workflows/package.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/package.yml b/.github/workflows/package.yml index 35adb1d..106647f 100644 --- a/.github/workflows/package.yml +++ b/.github/workflows/package.yml @@ -43,7 +43,8 @@ jobs: name=$(python '.github/package.py') echo "The folder name are ${name}" echo "::set-output name=folder::${name}" - archive='.github/package.py'.zip + archive=$(python '.github/package.py').zip + echo "The archive name are ${archive}" echo "::set-output name=package::${archive}" # Update the bl info version, update the init file and push if needed From 75bd4d20b2a9cfd68b9886eb114fb75e0cd9a7bf Mon Sep 17 00:00:00 2001 From: Aurelien Vaillant Date: Wed, 2 Feb 2022 14:01:24 +0100 Subject: [PATCH 20/24] Fix upload artifact --- .github/workflows/package.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/package.yml b/.github/workflows/package.yml index 106647f..6d73b93 100644 --- a/.github/workflows/package.yml +++ b/.github/workflows/package.yml @@ -73,7 +73,7 @@ jobs: - uses: actions/upload-artifact@v2 with: - name: ${{ steps.folder.outputs.package }} + name: ${{ steps.folder.outputs.folder }} path: ${{ github.workspace }}/releases/${{ steps.folder.outputs.package }} - name: Update the github release From 80e8dbb1ca63134c784ae05599cc864567c5d467 Mon Sep 17 00:00:00 2001 From: Aurelien Vaillant Date: Wed, 2 Feb 2022 14:07:35 +0100 Subject: [PATCH 21/24] Simplify the package workflow --- .github/workflows/package.yml | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/.github/workflows/package.yml b/.github/workflows/package.yml index 6d73b93..0539fab 100644 --- a/.github/workflows/package.yml +++ b/.github/workflows/package.yml @@ -29,30 +29,17 @@ jobs: steps: - uses: actions/checkout@main - - name: "Set up python" - uses: actions/setup-python@v2 - with: - python-version: 3.8 - - # Get the local folder name - - name: Setup package name + - name: Setup package variable id: folder run: | - echo "With python, get a folder name" python '.github/package.py' - name=$(python '.github/package.py') - echo "The folder name are ${name}" - echo "::set-output name=folder::${name}" + echo "::set-output name=folder::$(python '.github/package.py')" archive=$(python '.github/package.py').zip - echo "The archive name are ${archive}" echo "::set-output name=package::${archive}" # Update the bl info version, update the init file and push if needed - name: Change version number in the bl info addon data - run: | - echo "The folder name are ${{ steps.folder.outputs.folder }}" - echo "The tag used are ${{ inputs.num_version }}" - python '.github/version.py' --tag=${{ inputs.num_version }} --name=${{ steps.folder.outputs.folder }} + run: python '.github/version.py' --tag=${{ inputs.num_version }} --name=${{ steps.folder.outputs.folder }} - name: Commit the previous update uses: actions-js/push@v1.3 From de4c6e41756014c32d4ddff8edb344eefd37d9be Mon Sep 17 00:00:00 2001 From: Aurelien Vaillant Date: Wed, 2 Feb 2022 14:09:48 +0100 Subject: [PATCH 22/24] Remove unused variable --- .github/workflows/package.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/package.yml b/.github/workflows/package.yml index 0539fab..523e876 100644 --- a/.github/workflows/package.yml +++ b/.github/workflows/package.yml @@ -32,10 +32,8 @@ jobs: - name: Setup package variable id: folder run: | - python '.github/package.py' echo "::set-output name=folder::$(python '.github/package.py')" - archive=$(python '.github/package.py').zip - echo "::set-output name=package::${archive}" + echo "::set-output name=package::$(python '.github/package.py').zip" # Update the bl info version, update the init file and push if needed - name: Change version number in the bl info addon data From 681b7aa88e3d26761b190168c0b31c1fc4986732 Mon Sep 17 00:00:00 2001 From: Aurelien Vaillant Date: Wed, 2 Feb 2022 14:24:20 +0100 Subject: [PATCH 23/24] Update unit test "activate addon" to be independent with the addon name --- tests/unit_test/test_b3d_install_addon.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/tests/unit_test/test_b3d_install_addon.py b/tests/unit_test/test_b3d_install_addon.py index 7ab887d..45de677 100644 --- a/tests/unit_test/test_b3d_install_addon.py +++ b/tests/unit_test/test_b3d_install_addon.py @@ -1,5 +1,7 @@ import unittest import bpy +import glob +import os class ActivateAddon(unittest.TestCase): @@ -8,9 +10,15 @@ class ActivateAddon(unittest.TestCase): def setUp(self) -> None: pass + @staticmethod + def get_folder_name(): + """Return the folder name to get the addon name we want activated""" + addon = glob.glob("/addon-moderlab/*/__init__.py", recursive=True) + return os.path.basename(os.path.dirname(addon[0])) + def test_activate_addon(self): """Activate the blender addon 'moderlab_plugin'""" - addon = bpy.ops.preferences.addon_enable(module='moderlab_type') + addon = bpy.ops.preferences.addon_enable(module=self.get_folder_name()) self.assertEqual({'FINISHED'}, addon) From f92c651c80d522201aeb257df35ca317fce3e5eb Mon Sep 17 00:00:00 2001 From: Jeremy D Date: Wed, 9 Feb 2022 11:58:02 +0100 Subject: [PATCH 24/24] Update and optimize template --- tests/launch_test.sh | 34 +++-------------------- tests/unit_test/test_b3d_install_addon.py | 2 +- tests/utils/blender.py | 2 +- tests/utils/blender_addon.py | 7 +++-- 4 files changed, 10 insertions(+), 35 deletions(-) diff --git a/tests/launch_test.sh b/tests/launch_test.sh index 657dbcf..28d0ce5 100644 --- a/tests/launch_test.sh +++ b/tests/launch_test.sh @@ -1,31 +1,5 @@ -#!/bin/sh - -# To disable the sdt with each command, add ' > /dev/null 2>&1' to redirect all info -# Set all variables -MOUNT_FOLDER="/addon-moderlab" -INSTALL_ADDON="$MOUNT_FOLDER/tests/utils/blender_addon.py" - +#!/bin/bash +MOUNT_FOLDER="addon_moderlab" export FOLDER_TEST=$MOUNT_FOLDER - -# ----- ----- ----- ----- -# From a previous archive generated, install the moderlab plugin -/opt/blender/blender --background --python "$INSTALL_ADDON" -- "$MOUNT_FOLDER" > /dev/null 2>&1 -install_error=$? - -if [ $install_error = 1 ]; then - echo Blender Test Error - echo Exit code is install_error - (exit 1) -else - # ----- ----- ----- ----- - # Launch Blender Test - /opt/blender/blender --background -noaudio --disable-autoexec --addons moderlab_type --python-exit-code 1 --python "$1" -- --verbose - blender_error=$? - - if [ $blender_error = 1 ]; then - echo Blender Test Error - echo Exit code is $blender_error - (exit 1) - fi - -fi +/opt/blender/blender --background --python-exit-code 1 --python "/addon_moderlab/tests/utils/blender_addon.py" > /dev/null 2>&1 || exit 1 +/opt/blender/blender --background -noaudio --disable-autoexec --python-exit-code 1 --python "$1" -- --verbose || exit 1 \ No newline at end of file diff --git a/tests/unit_test/test_b3d_install_addon.py b/tests/unit_test/test_b3d_install_addon.py index 45de677..b3e3b7e 100644 --- a/tests/unit_test/test_b3d_install_addon.py +++ b/tests/unit_test/test_b3d_install_addon.py @@ -13,7 +13,7 @@ class ActivateAddon(unittest.TestCase): @staticmethod def get_folder_name(): """Return the folder name to get the addon name we want activated""" - addon = glob.glob("/addon-moderlab/*/__init__.py", recursive=True) + addon = glob.glob("/addon_moderlab/*/__init__.py", recursive=True) return os.path.basename(os.path.dirname(addon[0])) def test_activate_addon(self): diff --git a/tests/utils/blender.py b/tests/utils/blender.py index c25ef8b..f013c95 100644 --- a/tests/utils/blender.py +++ b/tests/utils/blender.py @@ -18,7 +18,7 @@ def b3d_launch_blender_test(client: docker = docker.from_env(), test: list = Non local_path = os.environ.get('GITHUB_WORKSPACE') else: local_path = os.getcwd() - container_folder = '/addon-moderlab' + container_folder = '/addon_moderlab' volume = [f'{local_path}:{container_folder}'] image_name = tag if test is None: diff --git a/tests/utils/blender_addon.py b/tests/utils/blender_addon.py index b0f21e5..7f80ba5 100644 --- a/tests/utils/blender_addon.py +++ b/tests/utils/blender_addon.py @@ -5,16 +5,17 @@ import bpy dependency = { # 'moderlab_plugin': ['moderlab_plugin.zip', 'Moderlab-Production/BlenderPlugin'], 'moderlab_type': ['moderlab_type.zip', 'Moderlab-Production/BlenderObjectType'], + # 'moderlab_pie': ['moderlab_pie.zip', 'Moderlab-Production/BlenderPieMenu'], # 'uv-packer': ['uv-packer.zip', 'Moderlab-Production/UvPacker'], } -def b3d_install_addon(addon_path: str): +def b3d_install_addon(): for key, value in dependency.items(): - bpy.ops.preferences.addon_install(filepath=f'{addon_path}/{value[0]}') + bpy.ops.preferences.addon_install(filepath=f'/addon_moderlab/{value[0]}') bpy.ops.preferences.addon_enable(module=key) bpy.ops.wm.save_userpref() if __name__ == '__main__': - b3d_install_addon(sys.argv[-1]) + b3d_install_addon()