From 1118efe537660004989ef4ea26755d549487e29a Mon Sep 17 00:00:00 2001 From: "benjamin.747" Date: Mon, 9 Dec 2024 10:19:29 +0800 Subject: [PATCH] add libra build in docker file --- docker/mono-engine-dockerfile | 10 ++++++---- saturn/src/lib.rs | 10 ++++++++++ saturn/test/project/.mega.json | 14 ++++++++++---- saturn/test/project/private/.mega.json | 8 ++++---- 4 files changed, 30 insertions(+), 12 deletions(-) diff --git a/docker/mono-engine-dockerfile b/docker/mono-engine-dockerfile index ef9dfbb09..d9438e90b 100644 --- a/docker/mono-engine-dockerfile +++ b/docker/mono-engine-dockerfile @@ -38,10 +38,10 @@ COPY . . # build RUN if [ "$BUILD_TYPE" = "release" ]; then \ - cargo build -p mono --release; \ - else \ - cargo build -p mono; \ - fi + cargo build -p mono --release && cargo build -p libra --release; \ +else \ + cargo build -p mono && cargo build -p libra; \ +fi # final image FROM debian:bookworm-slim @@ -51,6 +51,8 @@ RUN apt-get update && apt-get install -y libssl-dev ca-certificates ARG BUILD_TYPE=release COPY --from=builder /opt/mega/target/$BUILD_TYPE/mono /usr/local/bin/mono +COPY --from=builder /opt/mega/target/$BUILD_TYPE/libra /usr/local/bin/libra + COPY --from=builder /opt/mega/docker/start-mono.sh /usr/local/bin/start-mono.sh RUN chmod +x /usr/local/bin/start-mono.sh RUN chmod +x /usr/local/bin/mono diff --git a/saturn/src/lib.rs b/saturn/src/lib.rs index ecc8ed949..c371106e3 100644 --- a/saturn/src/lib.rs +++ b/saturn/src/lib.rs @@ -108,6 +108,7 @@ mod test { let app_context = load_context(entities); let admin: EntityUid = r#"User::"benjamin.747""#.parse().unwrap(); + let maintainer: EntityUid = r#"User::"besscroft""#.parse().unwrap(); let anyone: EntityUid = r#"User::"anyone""#.parse().unwrap(); let resource: EntityUid = r#"Repository::"project""#.parse().unwrap(); @@ -166,6 +167,15 @@ mod test { Context::empty() ) .is_err_and(|e| matches!(e, Error::AuthDenied(_)))); + + assert!(app_context + .is_authorized( + &maintainer, + r#"Action::"approveMergeRequest""#.parse::().unwrap(), + &resource, + Context::empty() + ) + .is_ok()); } #[test] diff --git a/saturn/test/project/.mega.json b/saturn/test/project/.mega.json index 20e540cce..d425a7b1f 100644 --- a/saturn/test/project/.mega.json +++ b/saturn/test/project/.mega.json @@ -6,6 +6,12 @@ "UserGroup::\"admin\"" ] }, + "User::\"besscroft\"": { + "euid": "User::\"besscroft\"", + "parents": [ + "UserGroup::\"maintainer\"" + ] + }, "User::\"genedna\"": { "euid": "User::\"genedna\"", "parents": [ @@ -18,7 +24,7 @@ "euid": "Repository::\"project\"", "is_private": false, "admins": "UserGroup::\"admin\"", - "maintainers": "UserGroup::\"matainer\"", + "maintainers": "UserGroup::\"maintainer\"", "readers": "UserGroup::\"reader\"", "parents": [] } @@ -27,11 +33,11 @@ "UserGroup::\"admin\"": { "euid": "UserGroup::\"admin\"", "parents": [ - "UserGroup::\"matainer\"" + "UserGroup::\"maintainer\"" ] }, - "UserGroup::\"matainer\"": { - "euid": "UserGroup::\"matainer\"", + "UserGroup::\"maintainer\"": { + "euid": "UserGroup::\"maintainer\"", "parents": [ "UserGroup::\"reader\"" ] diff --git a/saturn/test/project/private/.mega.json b/saturn/test/project/private/.mega.json index a5ec900b5..a91a1dcc1 100644 --- a/saturn/test/project/private/.mega.json +++ b/saturn/test/project/private/.mega.json @@ -12,7 +12,7 @@ "euid": "Repository::\"/project/bens_private\"", "is_private": true, "admins": "UserGroup::\"admin\"", - "maintainers": "UserGroup::\"matainer\"", + "maintainers": "UserGroup::\"maintainer\"", "readers": "UserGroup::\"reader\"", "parents": [] } @@ -21,11 +21,11 @@ "UserGroup::\"admin\"": { "euid": "UserGroup::\"admin\"", "parents": [ - "UserGroup::\"matainer\"" + "UserGroup::\"maintainer\"" ] }, - "UserGroup::\"matainer\"": { - "euid": "UserGroup::\"matainer\"", + "UserGroup::\"maintainer\"": { + "euid": "UserGroup::\"maintainer\"", "parents": [ "UserGroup::\"reader\"" ]