diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 189f0e2f0..6128d43aa 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -130,6 +130,9 @@ jobs: name: publish-stage-id path: ci-release-helper/repoid + - name: Release RAM + run: node ci-release-helper/scripts/kill-java.js + - name: Publish to maven central run: ./gradlew runcihelper --args publish-to-maven-central --scan "-Pcihelper.cert.username=${{ secrets.SONATYPE_USER }}" "-Pcihelper.cert.password=${{ secrets.SONATYPE_KEY }}" @@ -267,6 +270,9 @@ jobs: - name: Initialize Publishing Caching Repository run: ./gradlew runcihelper --args sync-maven-metadata ${{ env.gradleArgs }} + - name: Release RAM + run: node ci-release-helper/scripts/kill-java.js + # # Parallel compilation will exhaust machine memory causing OOM # - name: Assemble # run: ./gradlew assemble ${{ env.gradleArgs }} "-Porg.gradle.parallel=${{ matrix.parallelCompilation }}" @@ -289,6 +295,9 @@ jobs: name: publish-stage-id path: ci-release-helper/repoid + - name: Release RAM + run: node ci-release-helper/scripts/kill-java.js + - name: Publish to maven central run: ./gradlew runcihelper --args publish-to-maven-central --scan "-Pcihelper.cert.username=${{ secrets.SONATYPE_USER }}" "-Pcihelper.cert.password=${{ secrets.SONATYPE_KEY }}" diff --git a/ci-release-helper/scripts/kill-java.js b/ci-release-helper/scripts/kill-java.js new file mode 100644 index 000000000..d08f97ce7 --- /dev/null +++ b/ci-release-helper/scripts/kill-java.js @@ -0,0 +1,28 @@ +/* + * Copyright 2019-2022 Mamoe Technologies and contributors. + * + * 此源代码的使用受 GNU AFFERO GENERAL PUBLIC LICENSE version 3 许可证的约束, 可以在以下链接找到该许可证. + * Use of this source code is governed by the GNU AGPLv3 license that can be found through the following link. + * + * https://github.com/mamoe/mirai/blob/dev/LICENSE + */ + + +let ostype = require('os').type(); +let child_process = require('child_process'); + +if (ostype.toLowerCase().indexOf('windows') !== -1) { + child_process.spawnSync('taskkill', + ['/f', '/im', 'java*'], + { + stdio: "inherit" + } + ); +} else { + child_process.spawnSync('pkill', + ['-9', 'java'], + { + stdio: "inherit" + } + ); +}