Skip to content

Commit 817fbcd

Browse files
authored
Removed AgentEnvName.AGENT_VERSION (#1919)
1 parent a532dbd commit 817fbcd

25 files changed

Lines changed: 159 additions & 137 deletions

File tree

.github/workflows/build_and_test.yml

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@ jobs:
2929
java-version: 11
3030
distribution: temurin
3131
- name: Install system packages
32-
# libcurl is needed for ktor-client-curl, libc-bin for orchestrator
33-
run: sudo apt-get update && sudo apt-get install -y libcurl4-openssl-dev libc-bin
32+
# libcurl is needed for ktor-client-curl
33+
run: sudo apt-get update && sudo apt-get install -y libcurl4-openssl-dev
3434
- name: Retrieve Kotlin version
3535
run: |
3636
kv=$(cat gradle/libs.versions.toml | grep '^kotlin =' | awk -F'[=]' '{print $2}' | tr -d '" ')
@@ -40,21 +40,8 @@ jobs:
4040
with:
4141
path: ~/.konan
4242
key: ${{ runner.os }}-gradle-konan-${{ env.KOTLIN_VERSION }}
43-
# https://gvisor.dev/docs/user_guide/install/
44-
- name: Install gvisor runsc runtime
45-
run: |
46-
ARCH=$(uname -m)
47-
URL=https://storage.googleapis.com/gvisor/releases/release/latest/${ARCH}
48-
wget -nv ${URL}/runsc ${URL}/runsc.sha512 \
49-
${URL}/containerd-shim-runsc-v1 ${URL}/containerd-shim-runsc-v1.sha512
50-
sha512sum -c runsc.sha512 \
51-
-c containerd-shim-runsc-v1.sha512
52-
rm -f *.sha512
53-
chmod a+rx runsc containerd-shim-runsc-v1
54-
sudo mv runsc containerd-shim-runsc-v1 /usr/local/bin
55-
sudo /usr/local/bin/runsc install
56-
sudo systemctl reload docker
57-
- uses: gradle/gradle-build-action@v2
43+
- name: Build all (excluding tests for save-orchestrator-common)
44+
uses: gradle/gradle-build-action@v2
5845
with:
5946
gradle-version: wrapper
6047
gradle-home-cache-cleanup: true
@@ -63,6 +50,22 @@ jobs:
6350
-x detekt
6451
-x spotlessCheck
6552
-x :save-agent:linkDebugExecutableLinuxX64
53+
-x :save-orchestrator-common:check
54+
-Pdetekt.multiplatform.disabled=true
55+
-PgprUser=${{ github.actor }}
56+
-PgprKey=${{ secrets.GITHUB_TOKEN }}
57+
--scan
58+
--build-cache
59+
- name: Check save-orchestrator-common
60+
uses: gradle/gradle-build-action@v2
61+
with:
62+
gradle-version: wrapper
63+
gradle-home-cache-cleanup: true
64+
arguments: |
65+
:save-orchestrator-common:check
66+
-x detekt
67+
-x spotlessCheck
68+
-x :save-agent:linkDebugExecutableLinuxX64
6669
-Pdetekt.multiplatform.disabled=true
6770
-PgprUser=${{ github.actor }}
6871
-PgprKey=${{ secrets.GITHUB_TOKEN }}

gradle/plugins/src/main/kotlin/com/saveourtool/save/buildutils/save-cli-configuration.gradle.kts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,13 +51,11 @@ dependencies {
5151
)
5252
}
5353

54-
// todo: this logic is duplicated between agent and frontend, can be moved to a shared plugin in gradle/plugins
5554
val generateVersionFileTaskProvider = tasks.register("generateVersionFile") {
5655
val versionsFile = File("$buildDir/generated/src/generated/Versions.kt")
5756

5857
dependsOn(rootProject.tasks.named("getSaveCliVersion"))
5958
inputs.file(pathToSaveCliVersion)
60-
inputs.property("project version", version.toString())
6159
outputs.file(versionsFile)
6260

6361
doFirst {
@@ -68,7 +66,6 @@ val generateVersionFileTaskProvider = tasks.register("generateVersionFile") {
6866
package generated
6967
7068
internal const val SAVE_CORE_VERSION = "$saveCliVersion"
71-
internal const val SAVE_CLOUD_VERSION = "$version"
7269
7370
""".trimIndent()
7471
)
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
/**
2+
* Configuration utilities for projects which needs a generated file with SAVE_CLOUD_VERSION
3+
*/
4+
5+
package com.saveourtool.save.buildutils
6+
7+
import java.io.File
8+
9+
tasks.register("generateSaveCloudVersionFile") {
10+
val outputDir = File("$buildDir/generated/src")
11+
val versionsFile = outputDir.resolve("generated/SaveCloudVersion.kt")
12+
inputs.property("project version", version.toString())
13+
outputs.dir("$buildDir/generated/src")
14+
15+
doFirst {
16+
versionsFile.parentFile.mkdirs()
17+
versionsFile.writeText(
18+
"""
19+
package generated
20+
21+
internal const val SAVE_CLOUD_VERSION = "$version"
22+
23+
""".trimIndent()
24+
)
25+
}
26+
}

save-agent/build.gradle.kts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ plugins {
77
kotlin("multiplatform")
88
alias(libs.plugins.kotlin.plugin.serialization)
99
id("com.saveourtool.save.buildutils.code-quality-convention")
10+
id("com.saveourtool.save.buildutils.save-cloud-version-file-configuration")
1011
}
1112

1213
kotlin {
@@ -37,6 +38,13 @@ kotlin {
3738
}
3839

3940
commonMain {
41+
kotlin {
42+
srcDir(
43+
tasks.named("generateSaveCloudVersionFile").map {
44+
it.outputs.files.singleFile
45+
}
46+
)
47+
}
4048
dependencies {
4149
implementation(libs.save.common)
4250
implementation(projects.saveCloudCommon)

save-agent/src/commonMain/kotlin/com/saveourtool/save/agent/AgentConfiguration.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import com.saveourtool.save.agent.utils.requiredEnv
1010
import com.saveourtool.save.core.config.LogType
1111
import com.saveourtool.save.core.config.OutputStreamType
1212
import com.saveourtool.save.core.config.ReportType
13+
import generated.SAVE_CLOUD_VERSION
1314

1415
import kotlinx.serialization.Serializable
1516

@@ -46,7 +47,7 @@ data class AgentConfiguration(
4647
info = AgentInfo(
4748
containerId = requiredEnv(AgentEnvName.CONTAINER_ID),
4849
containerName = requiredEnv(AgentEnvName.CONTAINER_NAME),
49-
version = requiredEnv(AgentEnvName.AGENT_VERSION),
50+
version = SAVE_CLOUD_VERSION,
5051
),
5152
heartbeat = HeartbeatConfig(
5253
url = requiredEnv(AgentEnvName.HEARTBEAT_URL),

save-agent/src/commonMain/kotlin/com/saveourtool/save/agent/utils/Utils.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ internal fun AgentConfiguration.updateFromEnv(): AgentConfiguration {
2020
info = info.copy(
2121
containerId = optionalEnv(AgentEnvName.CONTAINER_ID) ?: info.containerId,
2222
containerName = optionalEnv(AgentEnvName.CONTAINER_NAME) ?: info.containerName,
23-
version = optionalEnv(AgentEnvName.AGENT_VERSION) ?: info.version,
2423
),
2524
heartbeat = heartbeat.copy(
2625
url = optionalEnv(AgentEnvName.HEARTBEAT_URL) ?: heartbeat.url,

save-agent/src/commonTest/kotlin/com/saveourtool/save/agent/SaveAgentTest.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ open class SaveAgentTest {
2929
init {
3030
setenv(AgentEnvName.CONTAINER_ID.name, "agent-for-test")
3131
setenv(AgentEnvName.CONTAINER_NAME.name, "save-agent-for-test")
32-
setenv(AgentEnvName.AGENT_VERSION.name, "save-agent-version")
3332
setenv(AgentEnvName.HEARTBEAT_URL.name, HEARTBEAT_ENDPOINT.toLocalhostUrl())
3433
setenv(AgentEnvName.CLI_COMMAND.name, "echo Doing nothing it test mode")
3534
setenv(AgentEnvName.EXECUTION_ID.name, "1")

save-backend/src/main/kotlin/com/saveourtool/save/backend/controllers/RunExecutionController.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ import com.saveourtool.save.utils.*
1818
import com.saveourtool.save.v1
1919

2020
import com.fasterxml.jackson.databind.ObjectMapper
21-
import generated.SAVE_CLOUD_VERSION
2221
import io.micrometer.core.instrument.MeterRegistry
2322
import org.slf4j.Logger
2423
import org.springframework.boot.web.reactive.function.client.WebClientCustomizer
@@ -206,7 +205,6 @@ class RunExecutionController(
206205
.contentType(MediaType.APPLICATION_JSON)
207206
.bodyValue(
208207
execution.toRunRequest(
209-
saveAgentVersion = SAVE_CLOUD_VERSION,
210208
saveAgentUrl = internalFileStorage.generateRequiredUrlToDownload(InternalFileKey.saveAgentKey),
211209
)
212210
)

save-cloud-common/src/commonMain/kotlin/com/saveourtool/save/agent/AgentEnvName.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ package com.saveourtool.save.agent
44
* Env names which agent supports and expects
55
*/
66
enum class AgentEnvName {
7-
AGENT_VERSION,
87
CLI_COMMAND,
98
CONTAINER_ID,
109
CONTAINER_NAME,

save-cloud-common/src/commonMain/kotlin/com/saveourtool/save/request/RunExecutionRequest.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,11 @@ import kotlinx.serialization.Serializable
66
/**
77
* @property executionId ID of [com.saveourtool.save.entities.Execution]
88
* @property sdk
9-
* @property saveAgentVersion version of save-agent [generated.SAVE_CLOUD_VERSION]
109
* @property saveAgentUrl URL to download save-agent
1110
*/
1211
@Serializable
1312
data class RunExecutionRequest(
1413
val executionId: Long,
1514
val sdk: Sdk,
16-
val saveAgentVersion: String,
1715
val saveAgentUrl: String,
1816
)

0 commit comments

Comments
 (0)