name: build-and-deploy on: push: branches: [ "master" ] jobs: build: runs-on: ubuntu-latest timeout-minutes: 30 steps: - name: Checkout uses: actions/checkout@v4 - name: Set up JDK 17 uses: actions/setup-java@v4 with: distribution: temurin java-version: "17" cache: gradle - name: Force toolchain JDK 17 run: | if [ -f build.gradle.kts ]; then sed -i 's/JavaLanguageVersion.of(19)/JavaLanguageVersion.of(17)/' build.gradle.kts fi - name: Build (skip tests) env: GRADLE_OPTS: "-Dorg.gradle.internal.http.connectionTimeout=60000 -Dorg.gradle.internal.http.socketTimeout=60000" run: ./gradlew build -x test --no-daemon - name: Upload artifact uses: actions/upload-artifact@v4 with: name: trisolarisserver-jar path: build/libs/TrisolarisServer-*-SNAPSHOT.jar deploy: runs-on: ubuntu-latest needs: build steps: - name: Download artifact uses: actions/download-artifact@v4 with: name: trisolarisserver-jar path: /tmp/trisolarisserver-artifact - name: Deploy jar and restart run: | set -e sudo mkdir -p /opt/deploy/TrisolarisServer/build/libs sudo cp -f /tmp/trisolarisserver-artifact/*.jar /opt/deploy/TrisolarisServer/build/libs/ sudo systemctl restart TrisolarisServer.service