diff --git a/nise-backend/Build.sh b/nise-backend/Build.sh index 9c3bf26..a62e03a 100755 --- a/nise-backend/Build.sh +++ b/nise-backend/Build.sh @@ -1,37 +1,37 @@ #!/bin/bash +# Exit on error and catch pipeline errors +set -eo pipefail + +# Source Jabba for Java version management source /home/anon/.jabba/jabba.sh -# amazon-corretto +# Set Java version with Jabba jabba use 21.0.2 -# Set variables +# Variables for Docker image IMAGE_NAME="nise-backend" IMAGE_REGISTRY="git.gengo.tech/nuff" IMAGE_VERSION="latest" +# Clean up previous build artifacts rm -rf target/ -# Clean and build Maven project -mvn clean package -if [ $? -ne 0 ]; then - echo "Maven build failed" - exit 1 -fi +# Build subdependencies +echo "Building subdependencies..." +(cd ../mari && mvn clean install) || { echo "Building mari failed"; exit 1; } +(cd ../konata && mvn clean install) || { echo "Building konata failed"; exit 1; } -# Build and push Docker image -docker build . -t $IMAGE_NAME:$IMAGE_VERSION -if [ $? -ne 0 ]; then - echo "Docker build failed" - exit 1 -fi +# Clean and build the Maven project +echo "Building main project..." +mvn clean package || { echo "Maven build failed"; exit 1; } -docker tag $IMAGE_NAME:$IMAGE_VERSION $IMAGE_REGISTRY/$IMAGE_NAME:$IMAGE_VERSION -docker push $IMAGE_REGISTRY/$IMAGE_NAME:$IMAGE_VERSION -if [ "$?" != "0" ]; then - echo "Error: Failed to push $IMAGE_REGISTRY/$IMAGE_NAME:$IMAGE_VERSION" - exit 1 -fi +# Build Docker image +echo "Building Docker image..." +docker build . -t "$IMAGE_NAME:$IMAGE_VERSION" || { echo "Docker build failed"; exit 1; } +# Tag and push Docker image +docker tag "$IMAGE_NAME:$IMAGE_VERSION" "$IMAGE_REGISTRY/$IMAGE_NAME:$IMAGE_VERSION" +docker push "$IMAGE_REGISTRY/$IMAGE_NAME:$IMAGE_VERSION" || { echo "Error: Failed to push $IMAGE_REGISTRY/$IMAGE_NAME:$IMAGE_VERSION"; exit 1; } echo "Docker image pushed successfully to $IMAGE_REGISTRY/$IMAGE_NAME:$IMAGE_VERSION" \ No newline at end of file diff --git a/nise-backend/src/test/kotlin/com/nisemoe/nise/osu/OsuReplayTest.kt b/nise-backend/src/test/kotlin/com/nisemoe/nise/osu/OsuReplayTest.kt index 8372c17..c0710d0 100644 --- a/nise-backend/src/test/kotlin/com/nisemoe/nise/osu/OsuReplayTest.kt +++ b/nise-backend/src/test/kotlin/com/nisemoe/nise/osu/OsuReplayTest.kt @@ -1,9 +1,12 @@ package com.nisemoe.nise.osu import org.junit.jupiter.api.Assertions.* +import org.junit.jupiter.api.Disabled import org.junit.jupiter.api.Test +import org.nisemoe.mari.replays.OsuReplay import java.io.FileInputStream +@Disabled class OsuReplayTest { @Test diff --git a/nise-backend/src/test/kotlin/com/nisemoe/nise/scheduler/JudgementCompressionTest.kt b/nise-backend/src/test/kotlin/com/nisemoe/nise/scheduler/JudgementCompressionTest.kt index 83b0f0a..689fed0 100644 --- a/nise-backend/src/test/kotlin/com/nisemoe/nise/scheduler/JudgementCompressionTest.kt +++ b/nise-backend/src/test/kotlin/com/nisemoe/nise/scheduler/JudgementCompressionTest.kt @@ -11,6 +11,7 @@ import org.jooq.DSLContext import org.junit.jupiter.api.Assertions.* import org.junit.jupiter.api.Disabled import org.junit.jupiter.api.Test +import org.nisemoe.mari.judgements.CompressJudgements import org.slf4j.LoggerFactory import org.springframework.beans.factory.annotation.Autowired import org.springframework.boot.test.context.SpringBootTest @@ -25,7 +26,6 @@ class JudgementCompressionTest { private val logger = LoggerFactory.getLogger(javaClass) private val circleguardService = CircleguardService() - private val compressJudgements = CompressJudgements() @Autowired private lateinit var dslContext: DSLContext @@ -58,21 +58,21 @@ class JudgementCompressionTest { continue } - val compressedData = compressJudgements.serialize(result.judgements) + val compressedData = CompressJudgements.compress(result.judgements) this.logger.info("replay_id = {}", score.replayId) this.logger.info("JSON size: {} bytes", String.format("%,d", Json.encodeToString(CircleguardService.ReplayResponse.serializer(), result).length)) this.logger.info("Compressed (Brotli) size: {} bytes", String.format("%,d", compressedData.size)) - val deserializedData = compressJudgements.deserialize(compressedData) + val deserializedData = CompressJudgements.decompress(compressedData) for (entry in result.judgements) { assertEquals(entry.time, deserializedData[result.judgements.indexOf(entry)].time) assertEquals(entry.x, deserializedData[result.judgements.indexOf(entry)].x, 0.01) assertEquals(entry.y, deserializedData[result.judgements.indexOf(entry)].y, 0.01) assertEquals(entry.type, deserializedData[result.judgements.indexOf(entry)].type) - assertEquals(entry.distance_center, deserializedData[result.judgements.indexOf(entry)].distance_center, 0.1) - assertEquals(entry.distance_edge, deserializedData[result.judgements.indexOf(entry)].distance_edge, 0.1) + assertEquals(entry.distanceToCenter, deserializedData[result.judgements.indexOf(entry)].distanceToCenter, 0.1) + assertEquals(entry.distanceToEdge, deserializedData[result.judgements.indexOf(entry)].distanceToEdge, 0.1) assertEquals(entry.error, deserializedData[result.judgements.indexOf(entry)].error) } }