name: push on: push jobs: launcher: name: Launcher runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v2 with: submodules: recursive - name: Cache Gradle uses: actions/cache@v1 with: path: ~/.gradle/caches key: gravit-${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }}-launcher - name: Set up JDK 17 uses: actions/setup-java@v1 with: java-version: 17 - name: Grant execute permission for gradlew run: chmod +x gradlew - name: Build with Gradle run: ./gradlew build - name: Create artifacts run: | mkdir -p artifacts/modules cd LaunchServer/build/libs/ zip -r -9 ../../../artifacts/libraries.zip * -x "LaunchServer.jar" -x "LaunchServer-clean.jar" cp LaunchServer.jar ../../../artifacts/LaunchServer.jar cd ../../../ServerWrapper/build/libs cp ServerWrapper.jar ../../../artifacts/ServerWrapper.jar cd ../../../LauncherAuthlib/build/libs cp LauncherAuthlib.jar ../../../artifacts/LauncherAuthlib.jar cd ../../../ cp modules/*_module/build/libs/*.jar artifacts/modules || true cp modules/*_lmodule/build/libs/*.jar artifacts/modules || true - name: Upload artifacts uses: actions/upload-artifact@v1 with: name: Launcher path: artifacts - name: Get version value, set to env if: startsWith(github.event.ref, 'refs/tags') run: echo "LAUNCHER_VERSION=$(echo ${{ github.event.ref }} | awk -F\/ '{print $3}')" >> $GITHUB_ENV - name: Prebuild release files if: startsWith(github.event.ref, 'refs/tags') run: | cd artifacts zip -9 LauncherBase.zip libraries.zip LaunchServer.jar zip -j -9 LaunchServerModules.zip ../modules/*_module/build/libs/*.jar zip -j -9 LauncherModules.zip ../modules/*_lmodule/build/libs/*.jar zip -j -9 ServerWrapperModules.zip ../modules/*_swmodule/build/libs/*.jar || true - name: Create release id: create_release uses: softprops/action-gh-release@v1 if: startsWith(github.event.ref, 'refs/tags') env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Список настроек тута: https://github.com/softprops/action-gh-release#-customizing # Можно сделать пуш описания релиза из файла with: name: GravitLauncher ${{ env.LAUNCHER_VERSION }} draft: false prerelease: false files: | artifacts/*