diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 758383d..c40925f 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -50,6 +50,7 @@ jobs: run: | cd src cargo build -p code-dao-service --release + cargo build -p square-service --release - name: Achive(windows) if: matrix.os == 'windows-latest' @@ -57,14 +58,18 @@ jobs: run: | echo "ASSET=./src/target/release/code-dao-service.exe" >> $GITHUB_ENV echo "ASSET_NAME=code-dao-service.exe" >> $GITHUB_ENV + echo "ASSET_SQUARE=./src/target/release/square-service.exe" >> $GITHUB_ENV + echo "ASSET_SQUARE_NAME=square-service.exe" >> $GITHUB_ENV - name: Achive(linux) if: matrix.os == 'ubuntu-latest' run: | echo "ASSET=./src/target/release/code-dao-service" >> $GITHUB_ENV echo "ASSET_NAME=code-dao-service" >> $GITHUB_ENV + echo "ASSET_SQUARE=./src/target/release/square-service" >> $GITHUB_ENV + echo "ASSET_SQUARE_NAME=square-service" >> $GITHUB_ENV - - name: Upload Release Asset + - name: Upload Release Asset(dec-service) uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -74,3 +79,14 @@ jobs: asset_name: ${{ env.ASSET_NAME }} asset_content_type: application/octet-stream + - name: Upload Release Asset(square-service) + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ needs.create-release.outputs.upload_url }} + asset_path: ${{ env.ASSET_SQUARE }} + asset_name: ${{ env.ASSET_SQUARE_NAME }} + asset_content_type: application/octet-stream + + diff --git a/src/code-dao-cli/src/push.rs b/src/code-dao-cli/src/push.rs index 99229a0..445228b 100644 --- a/src/code-dao-cli/src/push.rs +++ b/src/code-dao-cli/src/push.rs @@ -124,7 +124,7 @@ impl Push { .root_state_stub(Some(self.ood), Some(dec_id())) .create_path_op_env() .await?; - let commit_path = rootstate_repo_commit2(&self.name, commit_object.object_id()); + let commit_path = rootstate_repo_commit(&self.name, commit_object.object_id()); env.set_with_path( commit_path, &commit_object.desc().calculate_id(), diff --git a/src/code-dao-service/src/controller/commit.rs b/src/code-dao-service/src/controller/commit.rs index dfd7b72..7497317 100644 --- a/src/code-dao-service/src/controller/commit.rs +++ b/src/code-dao-service/src/controller/commit.rs @@ -1,17 +1,14 @@ - -use cyfs_lib::*; +use async_std::sync::Arc; use cyfs_base::*; +use cyfs_git_base::*; +use cyfs_lib::*; use log::*; -use async_std::sync::Arc; use serde::{Deserialize, Serialize}; -use serde_json::{json}; -use cyfs_git_base::*; +use serde_json::json; // use std::str::FromStr; // use super::repository::*; - - #[derive(Serialize, Deserialize)] struct RequestRepositoryCommits { author_name: String, @@ -19,7 +16,6 @@ struct RequestRepositoryCommits { branch: String, } - #[derive(Serialize, Deserialize)] struct RequestRepositoryCommit { author_name: String, @@ -36,7 +32,8 @@ pub async fn repository_commits(ctx: Arc) -> BuckyResult) -> BuckyResult = Vec::new(); for item in commits { - let key = commit_object_map_key(&data.author_name, &data.name, &item.object_id); + let key = rootstate_repo_commit( + &format!("{}/{}", data.author_name, data.name), + &item.object_id, + ); info!("commit full path {}", key); let commit_object_id = env.get_by_path(&key).await?; if commit_object_id.is_none() { @@ -56,12 +56,12 @@ pub async fn repository_commits(ctx: Arc) -> BuckyResult) -> BuckyResult) -> BuckyResult) -> BuckyResult { @@ -103,38 +102,48 @@ pub async fn repository_commit(ctx: Arc) -> BuckyResult) -> BuckyResult { - let data: RequestRepositoryMergeCompare = serde_json::from_str(&ctx.data).map_err(transform_err)?; +pub async fn repository_merge_compare( + ctx: Arc, +) -> BuckyResult { + let data: RequestRepositoryMergeCompare = + serde_json::from_str(&ctx.data).map_err(transform_err)?; let space = data.author_name; let name = data.name; @@ -76,15 +72,13 @@ pub async fn repository_merge_compare(ctx: Arc) -> BuckyResult) -> BuckyResult) -> BuckyResult { - let data: RequestRepositoryMergeCreate = serde_json::from_str(&ctx.data).map_err(transform_err)?; - - if let Some(result) = ctx.check_space_proxy_request(&data.author_name,).await? { +pub async fn repository_merge_create( + ctx: Arc, +) -> BuckyResult { + let data: RequestRepositoryMergeCreate = + serde_json::from_str(&ctx.data).map_err(transform_err)?; + + if let Some(result) = ctx.check_space_proxy_request(&data.author_name).await? { return Ok(result); } // 获取 用户名字 let user_name = get_user_name_by_owner(&ctx.caller.to_string()).await?; - info!("get user name[{} {}] ",&ctx.caller.to_string(), user_name); + info!("get user name[{} {}] ", &ctx.caller.to_string(), user_name); let owner = get_owner(&ctx.stack).await; // 创建 merge request 对象 @@ -132,7 +128,8 @@ pub async fn repository_merge_create(ctx: Arc) -> BuckyResult) -> BuckyResult) -> BuckyResult { - let data: RequestRepositoryMergeList = serde_json::from_str(&ctx.data).map_err(transform_err)?; +pub async fn repository_merge_list( + ctx: Arc, +) -> BuckyResult { + let data: RequestRepositoryMergeList = + serde_json::from_str(&ctx.data).map_err(transform_err)?; let space = data.author_name; let name = data.name; @@ -181,14 +180,16 @@ pub async fn repository_merge_list(ctx: Arc) -> BuckyResult) -> BuckyResult { - let data: RequestRepositoryMergeDetail = serde_json::from_str(&ctx.data).map_err(transform_err)?; +pub async fn repository_merge_detail( + ctx: Arc, +) -> BuckyResult { + let data: RequestRepositoryMergeDetail = + serde_json::from_str(&ctx.data).map_err(transform_err)?; let space = data.author_name; let name = data.name; @@ -196,7 +197,6 @@ pub async fn repository_merge_detail(ctx: Arc) -> BuckyResult) -> BuckyResult) -> BuckyResult { - let data: RequestRepositoryMergeAccept = serde_json::from_str(&ctx.data).map_err(transform_err)?; +pub async fn repository_merge_accept( + ctx: Arc, +) -> BuckyResult { + let data: RequestRepositoryMergeAccept = + serde_json::from_str(&ctx.data).map_err(transform_err)?; let space = data.author_name; let name = data.name; @@ -249,10 +252,12 @@ pub async fn repository_merge_accept(ctx: Arc) -> BuckyResult) -> BuckyResult) -> BuckyResult) -> BuckyResult) -> BuckyResult) -> BuckyResult { - let data: RequestRepositoryMergeCompareFile = serde_json::from_str(&ctx.data).map_err(transform_err)?; +pub async fn repository_merge_compare_file( + ctx: Arc, +) -> BuckyResult { + let data: RequestRepositoryMergeCompareFile = + serde_json::from_str(&ctx.data).map_err(transform_err)?; let space = data.author_name; let name = data.name; @@ -349,7 +383,6 @@ pub async fn repository_merge_compare_file(ctx: Arc) -> BuckyResult }))) } - /// # panel_merge_list /// 全局merge列表 pub async fn panel_merge_list(ctx: Arc) -> BuckyResult { @@ -360,7 +393,7 @@ pub async fn panel_merge_list(ctx: Arc) -> BuckyResult = Vec::new(); @@ -386,7 +419,7 @@ pub async fn panel_merge_list(ctx: Arc) -> BuckyResult) -> BuckyResult) -> BuckyResult { +pub async fn repository_push_head( + ctx: Arc, +) -> BuckyResult { let data: RequestRepositoryPushHead = serde_json::from_str(&ctx.data).map_err(transform_err)?; let space = data.author_name; let name = data.name; @@ -51,34 +49,34 @@ pub async fn repository_push_head(ctx: Arc) -> BuckyResult) -> BuckyResult { let data: RequestRepositoryPush = serde_json::from_str(&ctx.data).map_err(transform_err)?; let space = data.author_name; @@ -90,10 +88,17 @@ pub async fn repository_push(ctx: Arc) -> BuckyResult A.ood[create_task] -> B.ood[create_task] - let _ = file_task(&ctx.stack, pack_file, local_path.clone(), runtime_device.clone(), None).await?; + let _ = file_task( + &ctx.stack, + pack_file, + local_path.clone(), + runtime_device.clone(), + None, + ) + .await?; info!("download file to my ood ok, then proxy push request"); let result = request_other_ood(&ctx.stack, &space, &ctx.route, &ctx.data).await?; return Ok(result); @@ -101,38 +106,44 @@ pub async fn repository_push(ctx: Arc) -> BuckyResult 1 "); } @@ -142,22 +153,39 @@ pub async fn repository_push(ctx: Arc) -> BuckyResult) -> BuckyResult) -> BuckyResult { @@ -192,22 +219,27 @@ pub async fn repository_push_tag(ctx: Arc) -> BuckyResult { // env: &'a SingleOpEnvStub, // } @@ -219,16 +251,16 @@ pub async fn repository_push_tag(ctx: Arc) -> BuckyResultBuckyResult<()> { // let commits = git_commits(repo_dir, branch)?; - + // for commit in commits { // let commit_object = Commit::create( // owner, // commit.object_id.clone(), -// commit.parent, -// commit.tree, -// commit.payload, -// commit.author, -// commit.committer, +// commit.parent, +// commit.tree, +// commit.payload, +// commit.author, +// commit.committer, // ); // let commit_object_id = commit_object.desc().object_id(); // println!("commit_obj object id: {:?}", commit_object_id); @@ -237,7 +269,6 @@ pub async fn repository_push_tag(ctx: Arc) -> BuckyResult String { /// commit /// name /// path /app///commit/ -pub fn rootstate_repo_commit2(name: &str, oid: &str) -> String { +pub fn rootstate_repo_commit(name: &str, oid: &str) -> String { format!("{}{}/commit/{}", REPOSITORY_PATH, name, oid) } -/// path /app///commit/ -pub fn rootstate_repo_commit(author_name: &str, name: &str, oid: &str) -> String { - format!("{}{}/{}/commit/{}", REPOSITORY_PATH, author_name, name, oid) -} /// tree pub fn rootstate_repo_tree(author_name: &str, repo_name: &str, tree_id: &str) -> String {