From 7d531e0c37d4dd60aca25c2e6e6754dcf3f93afe Mon Sep 17 00:00:00 2001 From: moomiji <35213527+moomiji@users.noreply.github.com> Date: Fri, 20 Dec 2024 22:36:02 +0800 Subject: [PATCH 1/5] ci: refactor nodejs puslish --- .github/actions/publish_nodejs/action.yml | 96 +++++++++++++++++++++++ .github/workflows/build.yml | 54 ++----------- .github/workflows/publish_nodejs.yml | 44 +---------- 3 files changed, 107 insertions(+), 87 deletions(-) create mode 100644 .github/actions/publish_nodejs/action.yml diff --git a/.github/actions/publish_nodejs/action.yml b/.github/actions/publish_nodejs/action.yml new file mode 100644 index 000000000..bd9570856 --- /dev/null +++ b/.github/actions/publish_nodejs/action.yml @@ -0,0 +1,96 @@ +name: publish nodejs package +description: publish nodejs package +inputs: + token: + description: The NPM access token to use when publishing + required: true + access: + description: > + Determines whether the published package should be publicly visible, + or restricted to members of your NPM organization. + required: false + dry-run: + description: Run npm with the --dry-run flag to avoid actually publishing anything. + required: false + on_finished: + description: Run a bash on finished. + required: false + on_publish_failed: + description: Run a bash on publish failed. + required: false +outputs: + failed: + description: "Random number" + value: ${{ steps.nodejs.outputs.id == 'undefined' || steps.output_failure.outputs.failed == 'true' }} + +runs: + using: 'composite' + steps: + - + uses: JS-DevTools/npm-publish@v3 + id: nodejs + with: + package: assets/MAA-nodejs-package/maa-node + token: ${{ inputs.token }} + access: ${{ inputs.access }} + dry-run: ${{ inputs.dry-run }} + - + uses: JS-DevTools/npm-publish@v3 + with: + package: assets/MAA-nodejs-package/maa-node-win32-x64 + token: ${{ inputs.token }} + access: ${{ inputs.access }} + dry-run: ${{ inputs.dry-run }} + - + uses: JS-DevTools/npm-publish@v3 + with: + package: assets/MAA-nodejs-package/maa-node-win32-arm64 + token: ${{ inputs.token }} + access: ${{ inputs.access }} + dry-run: ${{ inputs.dry-run }} + - + uses: JS-DevTools/npm-publish@v3 + with: + package: assets/MAA-nodejs-package/maa-node-linux-x64 + token: ${{ inputs.token }} + access: ${{ inputs.access }} + dry-run: ${{ inputs.dry-run }} + - + uses: JS-DevTools/npm-publish@v3 + with: + package: assets/MAA-nodejs-package/maa-node-linux-arm64 + token: ${{ inputs.token }} + access: ${{ inputs.access }} + dry-run: ${{ inputs.dry-run }} + - + uses: JS-DevTools/npm-publish@v3 + with: + package: assets/MAA-nodejs-package/maa-node-darwin-x64 + token: ${{ inputs.token }} + access: ${{ inputs.access }} + dry-run: ${{ inputs.dry-run }} + - + uses: JS-DevTools/npm-publish@v3 + with: + package: assets/MAA-nodejs-package/maa-node-darwin-arm64 + token: ${{ inputs.token }} + access: ${{ inputs.access }} + dry-run: ${{ inputs.dry-run }} + - + name: Remove NodeJS Release + if: always() + shell: bash + run: | + eval $ON_FINISHED || echo "::warning::Failed to eval $ON_FINISHED" + env: + ON_FINISHED: ${{ inputs.on_finished }} + - + name: Output Failure + id: output_failure + if: failure() || steps.nodejs.outputs.id == 'undefined' + shell: bash + run: | + eval $ON_PUBLISH_FAILED || echo "::warning::Failed to eval $ON_PUBLISH_FAILED" + echo "failed=true" >> $GITHUB_OUTPUT + env: + ON_PUBLISH_FAILED: ${{ inputs.on_publish_failed }} diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6b1449c76..4f1d46671 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -491,52 +491,14 @@ jobs: || eval $OUTPUT_PUBLISH_FAILED rm -r assets/MAA-pip-pkgs - - uses: JS-DevTools/npm-publish@v3 + - uses: MaaXYZ/MaaFramework/.github/actions/publish_nodejs@main id: nodejs with: - package: assets/MAA-nodejs-package/maa-node - access: public - token: ${{ secrets.NPM_TOKEN }} - - - uses: JS-DevTools/npm-publish@v3 - with: - package: assets/MAA-nodejs-package/maa-node-win32-x64 - access: public - token: ${{ secrets.NPM_TOKEN }} - - - uses: JS-DevTools/npm-publish@v3 - with: - package: assets/MAA-nodejs-package/maa-node-win32-arm64 - access: public - token: ${{ secrets.NPM_TOKEN }} - - - uses: JS-DevTools/npm-publish@v3 - with: - package: assets/MAA-nodejs-package/maa-node-linux-x64 - access: public - token: ${{ secrets.NPM_TOKEN }} - - - uses: JS-DevTools/npm-publish@v3 - with: - package: assets/MAA-nodejs-package/maa-node-linux-arm64 - access: public - token: ${{ secrets.NPM_TOKEN }} - - - uses: JS-DevTools/npm-publish@v3 - with: - package: assets/MAA-nodejs-package/maa-node-darwin-x64 - access: public - token: ${{ secrets.NPM_TOKEN }} - - - uses: JS-DevTools/npm-publish@v3 - with: - package: assets/MAA-nodejs-package/maa-node-darwin-arm64 - access: public - token: ${{ secrets.NPM_TOKEN }} - - - name: Remove NodeJS Release - run: | - rm -r assets/MAA-nodejs-package + access: public + token: ${{ secrets.NPM_TOKEN }} + on_finished: rm -r assets/MAA-nodejs-package + on_publish_failed: ${{ env.OUTPUT_PUBLISH_FAILED }} + continue-on-error: true - run: | cd assets @@ -551,7 +513,7 @@ jobs: prerelease: ${{ needs.meta.outputs.is_pre_release == 'true' }} - name: Create issue if failed to release - if: failure() || steps.nuget.outputs.failed || steps.pip.outputs.failed || steps.nodejs.outputs.id == 'undefined' + if: failure() || steps.nuget.outputs.failed || steps.pip.outputs.failed || steps.nodejs.outputs.failed uses: actions-cool/issues-helper@v3 with: actions: "create-issue" @@ -562,4 +524,4 @@ jobs: ${{ steps.pip.outputs.failed && '- pip @MistEO' || '' }} ${{ steps.nodejs.outputs.id == 'undefined' && '- nodejs @neko-para' || '' }} - cc @MistEO \ No newline at end of file + cc @MistEO diff --git a/.github/workflows/publish_nodejs.yml b/.github/workflows/publish_nodejs.yml index 63b602a34..8f06262bc 100644 --- a/.github/workflows/publish_nodejs.yml +++ b/.github/workflows/publish_nodejs.yml @@ -15,45 +15,7 @@ jobs: name: MAA-nodejs-package path: assets/MAA-nodejs-package - - uses: JS-DevTools/npm-publish@v3 - id: nodejs + - uses: MaaXYZ/MaaFramework/.github/actions/publish_nodejs@main with: - package: assets/MAA-nodejs-package/maa-node - access: public - token: ${{ secrets.NPM_TOKEN }} - - - uses: JS-DevTools/npm-publish@v3 - with: - package: assets/MAA-nodejs-package/maa-node-win32-x64 - access: public - token: ${{ secrets.NPM_TOKEN }} - - - uses: JS-DevTools/npm-publish@v3 - with: - package: assets/MAA-nodejs-package/maa-node-win32-arm64 - access: public - token: ${{ secrets.NPM_TOKEN }} - - - uses: JS-DevTools/npm-publish@v3 - with: - package: assets/MAA-nodejs-package/maa-node-linux-x64 - access: public - token: ${{ secrets.NPM_TOKEN }} - - - uses: JS-DevTools/npm-publish@v3 - with: - package: assets/MAA-nodejs-package/maa-node-linux-arm64 - access: public - token: ${{ secrets.NPM_TOKEN }} - - - uses: JS-DevTools/npm-publish@v3 - with: - package: assets/MAA-nodejs-package/maa-node-darwin-x64 - access: public - token: ${{ secrets.NPM_TOKEN }} - - - uses: JS-DevTools/npm-publish@v3 - with: - package: assets/MAA-nodejs-package/maa-node-darwin-arm64 - access: public - token: ${{ secrets.NPM_TOKEN }} + access: public + token: ${{ secrets.NPM_TOKEN }} From 681df38e065d03b78b9a284ce4679cfa6f65255d Mon Sep 17 00:00:00 2001 From: moomiji <35213527+moomiji@users.noreply.github.com> Date: Sat, 21 Dec 2024 14:53:46 +0800 Subject: [PATCH 2/5] ci: test --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4f1d46671..20983dd2e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -491,7 +491,7 @@ jobs: || eval $OUTPUT_PUBLISH_FAILED rm -r assets/MAA-pip-pkgs - - uses: MaaXYZ/MaaFramework/.github/actions/publish_nodejs@main + - uses: MaaXYZ/MaaFramework/.github/actions/publish_nodejs@ci/refactor-nodejs-publish id: nodejs with: access: public From c41b1d43c0cf8c6126c00fcad7ce28859520f019 Mon Sep 17 00:00:00 2001 From: moomiji <35213527+moomiji@users.noreply.github.com> Date: Sat, 21 Dec 2024 15:26:50 +0800 Subject: [PATCH 3/5] ci: update --- .github/actions/publish_nodejs/action.yml | 8 ++++---- .github/workflows/build.yml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/actions/publish_nodejs/action.yml b/.github/actions/publish_nodejs/action.yml index bd9570856..c5a7e69f2 100644 --- a/.github/actions/publish_nodejs/action.yml +++ b/.github/actions/publish_nodejs/action.yml @@ -21,7 +21,7 @@ inputs: outputs: failed: description: "Random number" - value: ${{ steps.nodejs.outputs.id == 'undefined' || steps.output_failure.outputs.failed == 'true' }} + value: ${{ steps.nodejs.outputs.id == 'undefined' || steps.publish_failed.outputs.failed == 'true' }} runs: using: 'composite' @@ -77,7 +77,7 @@ runs: access: ${{ inputs.access }} dry-run: ${{ inputs.dry-run }} - - name: Remove NodeJS Release + name: Finished if: always() shell: bash run: | @@ -85,8 +85,8 @@ runs: env: ON_FINISHED: ${{ inputs.on_finished }} - - name: Output Failure - id: output_failure + name: Publish Failed + id: publish_failed if: failure() || steps.nodejs.outputs.id == 'undefined' shell: bash run: | diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 20983dd2e..76134f56e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -522,6 +522,6 @@ jobs: Please manually publish the following packages: ${{ steps.nuget.outputs.failed && '- nuget @moomiji' || '' }} ${{ steps.pip.outputs.failed && '- pip @MistEO' || '' }} - ${{ steps.nodejs.outputs.id == 'undefined' && '- nodejs @neko-para' || '' }} + ${{ steps.nodejs.outputs.failed && '- nodejs @neko-para' || '' }} cc @MistEO From 0287776fdf4d530b21c402428818e2ec22911b7f Mon Sep 17 00:00:00 2001 From: moomiji <35213527+moomiji@users.noreply.github.com> Date: Sun, 22 Dec 2024 11:55:31 +0800 Subject: [PATCH 4/5] ci: update --- .github/actions/publish_nodejs/action.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/actions/publish_nodejs/action.yml b/.github/actions/publish_nodejs/action.yml index c5a7e69f2..deff17e7e 100644 --- a/.github/actions/publish_nodejs/action.yml +++ b/.github/actions/publish_nodejs/action.yml @@ -21,7 +21,7 @@ inputs: outputs: failed: description: "Random number" - value: ${{ steps.nodejs.outputs.id == 'undefined' || steps.publish_failed.outputs.failed == 'true' }} + value: ${{ steps.nodejs.outputs.id == '' || steps.publish_failed.outputs.failed == 'true' }} runs: using: 'composite' @@ -87,7 +87,7 @@ runs: - name: Publish Failed id: publish_failed - if: failure() || steps.nodejs.outputs.id == 'undefined' + if: failure() || steps.nodejs.outputs.id == '' shell: bash run: | eval $ON_PUBLISH_FAILED || echo "::warning::Failed to eval $ON_PUBLISH_FAILED" From e22adc83bcbed8a6445d1b99de294b86781b49c8 Mon Sep 17 00:00:00 2001 From: moomiji <35213527+moomiji@users.noreply.github.com> Date: Sun, 22 Dec 2024 11:55:37 +0800 Subject: [PATCH 5/5] Revert "ci: test" This reverts commit 681df38e065d03b78b9a284ce4679cfa6f65255d. --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 76134f56e..473ae6dee 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -491,7 +491,7 @@ jobs: || eval $OUTPUT_PUBLISH_FAILED rm -r assets/MAA-pip-pkgs - - uses: MaaXYZ/MaaFramework/.github/actions/publish_nodejs@ci/refactor-nodejs-publish + - uses: MaaXYZ/MaaFramework/.github/actions/publish_nodejs@main id: nodejs with: access: public