Skip to content
This repository was archived by the owner on Jul 4, 2025. It is now read-only.

Commit a4100b2

Browse files
authored
Merge branch 'feat/new-model-folder' into j/pulling-interact-with-model-list-1
2 parents 40f1d99 + d2904ee commit a4100b2

25 files changed

+833
-192
lines changed

.github/workflows/nightly-build.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -104,11 +104,11 @@ jobs:
104104
id: update-latest-version
105105
run: |
106106
echo "{\"tag_name\": \"v${{ needs.get-update-version.outputs.new_version }}\"}" > version.json
107-
aws s3 sync version.json s3://${{ secrets.DELTA_AWS_S3_BUCKET_NAME }}/cortex/latest/version.json
108-
aws s3 sync s3://${{ secrets.DELTA_AWS_S3_BUCKET_NAME }}/cortex/temp-latest/mac-amd64-cortex-nightly.tar.gz s3://${{ secrets.DELTA_AWS_S3_BUCKET_NAME }}/cortex/latest/mac-amd64/cortex-nightly.tar.gz
109-
aws s3 sync s3://${{ secrets.DELTA_AWS_S3_BUCKET_NAME }}/cortex/temp-latest/mac-arm64-cortex-nightly.tar.gz s3://${{ secrets.DELTA_AWS_S3_BUCKET_NAME }}/cortex/latest/mac-arm64/cortex-nightly.tar.gz
110-
aws s3 sync s3://${{ secrets.DELTA_AWS_S3_BUCKET_NAME }}/cortex/temp-latest/linux-amd64-cortex-nightly.tar.gz s3://${{ secrets.DELTA_AWS_S3_BUCKET_NAME }}/cortex/latest/linux-amd64/cortex-nightly.tar.gz
111-
aws s3 sync s3://${{ secrets.DELTA_AWS_S3_BUCKET_NAME }}/cortex/temp-latest/windows-amd64-cortex-nightly.tar.gz s3://${{ secrets.DELTA_AWS_S3_BUCKET_NAME }}/cortex/latest/windows-amd64/cortex-nightly.tar.gz
107+
aws s3 cp version.json s3://${{ secrets.DELTA_AWS_S3_BUCKET_NAME }}/cortex/latest/version.json
108+
aws s3 cp s3://${{ secrets.DELTA_AWS_S3_BUCKET_NAME }}/cortex/temp-latest/mac-amd64-cortex-nightly.tar.gz s3://${{ secrets.DELTA_AWS_S3_BUCKET_NAME }}/cortex/latest/mac-amd64/cortex-nightly.tar.gz
109+
aws s3 cp s3://${{ secrets.DELTA_AWS_S3_BUCKET_NAME }}/cortex/temp-latest/mac-arm64-cortex-nightly.tar.gz s3://${{ secrets.DELTA_AWS_S3_BUCKET_NAME }}/cortex/latest/mac-arm64/cortex-nightly.tar.gz
110+
aws s3 cp s3://${{ secrets.DELTA_AWS_S3_BUCKET_NAME }}/cortex/temp-latest/linux-amd64-cortex-nightly.tar.gz s3://${{ secrets.DELTA_AWS_S3_BUCKET_NAME }}/cortex/latest/linux-amd64/cortex-nightly.tar.gz
111+
aws s3 cp s3://${{ secrets.DELTA_AWS_S3_BUCKET_NAME }}/cortex/temp-latest/windows-amd64-cortex-nightly.tar.gz s3://${{ secrets.DELTA_AWS_S3_BUCKET_NAME }}/cortex/latest/windows-amd64/cortex-nightly.tar.gz
112112
113113
env:
114114
AWS_ACCESS_KEY_ID: ${{ secrets.DELTA_AWS_ACCESS_KEY_ID }}

.github/workflows/template-build-linux-x64.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -154,10 +154,10 @@ jobs:
154154
- name: upload to aws s3 if public provider is aws
155155
if: inputs.public_provider == 'aws-s3'
156156
run: |
157-
aws s3 sync ./engine/cortex.tar.gz s3://${{ secrets.DELTA_AWS_S3_BUCKET_NAME }}/cortex/temp-latest/linux-amd64-cortex-nightly.tar.gz
157+
aws s3 cp ./engine/cortex.tar.gz s3://${{ secrets.DELTA_AWS_S3_BUCKET_NAME }}/cortex/temp-latest/linux-amd64-cortex-nightly.tar.gz
158158
159-
aws s3 sync ./engine/cortex.tar.gz s3://${{ secrets.DELTA_AWS_S3_BUCKET_NAME }}/cortex/v${{ inputs.new_version }}/linux-amd64/cortex-nightly.tar.gz
160-
aws s3 sync ./engine/${{ steps.set-output-params.outputs.package_name }}.deb s3://${{ secrets.DELTA_AWS_S3_BUCKET_NAME }}/cortex/v${{ inputs.new_version }}/linux-amd64/cortex-${{ inputs.new_version }}-linux-amd64-installer.deb
159+
aws s3 cp ./engine/cortex.tar.gz s3://${{ secrets.DELTA_AWS_S3_BUCKET_NAME }}/cortex/v${{ inputs.new_version }}/linux-amd64/cortex-nightly.tar.gz
160+
aws s3 cp ./engine/${{ steps.set-output-params.outputs.package_name }}.deb s3://${{ secrets.DELTA_AWS_S3_BUCKET_NAME }}/cortex/v${{ inputs.new_version }}/linux-amd64/cortex-${{ inputs.new_version }}-linux-amd64-installer.deb
161161
env:
162162
AWS_ACCESS_KEY_ID: ${{ secrets.DELTA_AWS_ACCESS_KEY_ID }}
163163
AWS_SECRET_ACCESS_KEY: ${{ secrets.DELTA_AWS_SECRET_ACCESS_KEY }}

.github/workflows/template-build-macos.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -208,10 +208,10 @@ jobs:
208208
- name: upload to aws s3 if public provider is aws
209209
if: inputs.public_provider == 'aws-s3'
210210
run: |
211-
aws s3 sync ./engine/cortex.tar.gz s3://${{ secrets.DELTA_AWS_S3_BUCKET_NAME }}/cortex/temp-latest/mac-${{ inputs.arch}}-cortex-nightly.tar.gz
211+
aws s3 cp ./engine/cortex.tar.gz s3://${{ secrets.DELTA_AWS_S3_BUCKET_NAME }}/cortex/temp-latest/mac-${{ inputs.arch}}-cortex-nightly.tar.gz
212212
213-
aws s3 sync ./engine/cortex.tar.gz s3://${{ secrets.DELTA_AWS_S3_BUCKET_NAME }}/cortex/v${{ inputs.new_version }}/mac-${{ inputs.arch}}/cortex-nightly.tar.gz
214-
aws s3 sync ./engine/${{ steps.set-output-params.outputs.package_name }}.pkg s3://${{ secrets.DELTA_AWS_S3_BUCKET_NAME }}/cortex/v${{ inputs.new_version }}/mac-${{ inputs.arch}}/cortex-${{ inputs.new_version }}-mac-${{ inputs.arch}}-installer.pkg
213+
aws s3 cp ./engine/cortex.tar.gz s3://${{ secrets.DELTA_AWS_S3_BUCKET_NAME }}/cortex/v${{ inputs.new_version }}/mac-${{ inputs.arch}}/cortex-nightly.tar.gz
214+
aws s3 cp ./engine/${{ steps.set-output-params.outputs.package_name }}.pkg s3://${{ secrets.DELTA_AWS_S3_BUCKET_NAME }}/cortex/v${{ inputs.new_version }}/mac-${{ inputs.arch}}/cortex-${{ inputs.new_version }}-mac-${{ inputs.arch}}-installer.pkg
215215
env:
216216
AWS_ACCESS_KEY_ID: ${{ secrets.DELTA_AWS_ACCESS_KEY_ID }}
217217
AWS_SECRET_ACCESS_KEY: ${{ secrets.DELTA_AWS_SECRET_ACCESS_KEY }}

.github/workflows/template-build-windows-x64.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -218,10 +218,10 @@ jobs:
218218
run: |
219219
Import-Module "$env:ChocolateyInstall\helpers\chocolateyProfile.psm1"
220220
refreshenv
221-
aws s3 sync ./engine/cortex.tar.gz s3://${{ secrets.DELTA_AWS_S3_BUCKET_NAME }}/cortex/temp-latest/windows-amd64-cortex-nightly.tar.gz
221+
aws s3 cp ./engine/cortex.tar.gz s3://${{ secrets.DELTA_AWS_S3_BUCKET_NAME }}/cortex/temp-latest/windows-amd64-cortex-nightly.tar.gz
222222
223-
aws s3 sync ./engine/cortex.tar.gz s3://${{ secrets.DELTA_AWS_S3_BUCKET_NAME }}/cortex/v${{ inputs.new_version }}/windows-amd64/cortex-nightly.tar.gz
224-
aws s3 sync ./setup.exe s3://${{ secrets.DELTA_AWS_S3_BUCKET_NAME }}/cortex/v${{ inputs.new_version }}/windows-amd64/cortex-${{ inputs.new_version }}-windows-amd64-installer.exe
223+
aws s3 cp ./engine/cortex.tar.gz s3://${{ secrets.DELTA_AWS_S3_BUCKET_NAME }}/cortex/v${{ inputs.new_version }}/windows-amd64/cortex-nightly.tar.gz
224+
aws s3 cp ./setup.exe s3://${{ secrets.DELTA_AWS_S3_BUCKET_NAME }}/cortex/v${{ inputs.new_version }}/windows-amd64/cortex-${{ inputs.new_version }}-windows-amd64-installer.exe
225225
env:
226226
AWS_ACCESS_KEY_ID: ${{ secrets.DELTA_AWS_ACCESS_KEY_ID }}
227227
AWS_SECRET_ACCESS_KEY: ${{ secrets.DELTA_AWS_SECRET_ACCESS_KEY }}

engine/CMakeLists.txt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,6 @@ endif()
7070
find_package(jsoncpp CONFIG REQUIRED)
7171
find_package(Drogon CONFIG REQUIRED)
7272
find_package(yaml-cpp CONFIG REQUIRED)
73-
find_package(jinja2cpp CONFIG REQUIRED)
7473
find_package(httplib CONFIG REQUIRED)
7574
find_package(nlohmann_json CONFIG REQUIRED)
7675
find_package(CLI11 CONFIG REQUIRED)
@@ -87,7 +86,6 @@ add_executable(${TARGET_NAME} main.cc
8786

8887
target_link_libraries(${TARGET_NAME} PRIVATE httplib::httplib)
8988
target_link_libraries(${TARGET_NAME} PRIVATE nlohmann_json::nlohmann_json)
90-
target_link_libraries(${TARGET_NAME} PRIVATE jinja2cpp)
9189
target_link_libraries(${TARGET_NAME} PRIVATE CLI11::CLI11)
9290
target_link_libraries(${TARGET_NAME} PRIVATE unofficial::minizip::minizip)
9391
target_link_libraries(${TARGET_NAME} PRIVATE LibArchive::LibArchive)

engine/commands/cortex_upd_cmd.cc

Lines changed: 46 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
#include "utils/archive_utils.h"
77
#include "utils/file_manager_utils.h"
88
#include "utils/logging_utils.h"
9+
#include "utils/scope_exit.h"
910
#include "utils/system_info_utils.h"
1011
#include "utils/url_parser.h"
1112

@@ -23,6 +24,16 @@ void CortexUpdCmd::Exec(std::string v) {
2324
ssc.Exec();
2425
}
2526
}
27+
28+
// Try to remove cortex temp folder if it exists first
29+
try {
30+
auto n = std::filesystem::remove_all(
31+
std::filesystem::temp_directory_path() / "cortex");
32+
CTL_INF("Deleted " << n << " files or directories");
33+
} catch (const std::exception& e) {
34+
CTL_WRN(e.what());
35+
}
36+
2637
if (CORTEX_VARIANT == file_manager_utils::kProdVariant) {
2738
if (!GetStable(v))
2839
return;
@@ -38,7 +49,7 @@ void CortexUpdCmd::Exec(std::string v) {
3849

3950
bool CortexUpdCmd::GetStable(const std::string& v) {
4051
auto system_info = system_info_utils::GetSystemInfo();
41-
CTL_INF("OS: " << system_info.os << ", Arch: " << system_info.arch);
52+
CTL_INF("OS: " << system_info->os << ", Arch: " << system_info->arch);
4253

4354
// Download file
4455
auto github_host = GetHostName();
@@ -56,7 +67,7 @@ bool CortexUpdCmd::GetStable(const std::string& v) {
5667
}
5768

5869
if (!HandleGithubRelease(json_data["assets"],
59-
{system_info.os + "-" + system_info.arch})) {
70+
{system_info->os + "-" + system_info->arch})) {
6071
return false;
6172
}
6273
} catch (const nlohmann::json::parse_error& e) {
@@ -75,15 +86,24 @@ bool CortexUpdCmd::GetStable(const std::string& v) {
7586

7687
// Replace binary file
7788
auto executable_path = file_manager_utils::GetExecutableFolderContainerPath();
78-
auto src = std::filesystem::temp_directory_path() / "cortex" / kCortexBinary /
79-
GetCortexBinary();
89+
auto src =
90+
std::filesystem::temp_directory_path() / "cortex" / GetCortexBinary();
8091
auto dst = executable_path / GetCortexBinary();
92+
utils::ScopeExit se([]() {
93+
auto cortex_tmp = std::filesystem::temp_directory_path() / "cortex";
94+
try {
95+
auto n = std::filesystem::remove_all(cortex_tmp);
96+
CTL_INF("Deleted " << n << " files or directories");
97+
} catch (const std::exception& e) {
98+
CTL_WRN(e.what());
99+
}
100+
});
81101
return ReplaceBinaryInflight(src, dst);
82102
}
83103

84104
bool CortexUpdCmd::GetBeta(const std::string& v) {
85105
auto system_info = system_info_utils::GetSystemInfo();
86-
CTL_INF("OS: " << system_info.os << ", Arch: " << system_info.arch);
106+
CTL_INF("OS: " << system_info->os << ", Arch: " << system_info->arch);
87107

88108
// Download file
89109
auto github_host = GetHostName();
@@ -113,7 +133,7 @@ bool CortexUpdCmd::GetBeta(const std::string& v) {
113133
}
114134

115135
if (!HandleGithubRelease(json_data["assets"],
116-
{system_info.os + "-" + system_info.arch})) {
136+
{system_info->os + "-" + system_info->arch})) {
117137
return false;
118138
}
119139
} catch (const nlohmann::json::parse_error& e) {
@@ -135,6 +155,15 @@ bool CortexUpdCmd::GetBeta(const std::string& v) {
135155
auto src =
136156
std::filesystem::temp_directory_path() / "cortex" / GetCortexBinary();
137157
auto dst = executable_path / GetCortexBinary();
158+
utils::ScopeExit se([]() {
159+
auto cortex_tmp = std::filesystem::temp_directory_path() / "cortex";
160+
try {
161+
auto n = std::filesystem::remove_all(cortex_tmp);
162+
CTL_INF("Deleted " << n << " files or directories");
163+
} catch (const std::exception& e) {
164+
CTL_WRN(e.what());
165+
}
166+
});
138167
return ReplaceBinaryInflight(src, dst);
139168
}
140169

@@ -205,11 +234,11 @@ bool CortexUpdCmd::HandleGithubRelease(const nlohmann::json& assets,
205234

206235
bool CortexUpdCmd::GetNightly(const std::string& v) {
207236
auto system_info = system_info_utils::GetSystemInfo();
208-
CTL_INF("OS: " << system_info.os << ", Arch: " << system_info.arch);
237+
CTL_INF("OS: " << system_info->os << ", Arch: " << system_info->arch);
209238

210239
// Download file
211240
std::string version = v.empty() ? "latest" : std::move(v);
212-
std::string os_arch{system_info.os + "-" + system_info.arch};
241+
std::string os_arch{system_info->os + "-" + system_info->arch};
213242
const char* paths[] = {
214243
"cortex",
215244
version.c_str(),
@@ -264,6 +293,15 @@ bool CortexUpdCmd::GetNightly(const std::string& v) {
264293
auto src =
265294
std::filesystem::temp_directory_path() / "cortex" / GetCortexBinary();
266295
auto dst = executable_path / GetCortexBinary();
296+
utils::ScopeExit se([]() {
297+
auto cortex_tmp = std::filesystem::temp_directory_path() / "cortex";
298+
try {
299+
auto n = std::filesystem::remove_all(cortex_tmp);
300+
CTL_INF("Deleted " << n << " files or directories");
301+
} catch (const std::exception& e) {
302+
CTL_WRN(e.what());
303+
}
304+
});
267305
return ReplaceBinaryInflight(src, dst);
268306
}
269307
} // namespace commands

engine/commands/engine_install_cmd.cc

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,9 @@
1010
namespace commands {
1111

1212
void EngineInstallCmd::Exec(const std::string& engine,
13-
const std::string& version) {
14-
engine_service_.InstallEngine(engine, version);
13+
const std::string& version,
14+
const std::string& src) {
15+
engine_service_.InstallEngine(engine, version, src);
1516
CLI_LOG("Engine " << engine << " installed successfully!");
1617
}
1718
}; // namespace commands

engine/commands/engine_install_cmd.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@ class EngineInstallCmd {
99
public:
1010
explicit EngineInstallCmd() : engine_service_{EngineService()} {};
1111

12-
void Exec(const std::string& engine, const std::string& version = "latest");
12+
void Exec(const std::string& engine, const std::string& version = "latest",
13+
const std::string& src = "");
1314

1415
private:
1516
EngineService engine_service_;

0 commit comments

Comments
 (0)