Skip to content
This repository has been archived by the owner on Oct 19, 2024. It is now read-only.

docker-build

docker-build #2057

Triggered via push October 4, 2023 14:21
Status Success
Total duration 15m 56s
Artifacts
This run and associated checks have been archived and are scheduled for deletion. Learn more about checks retention
Fit to window
Zoom out
Zoom in

Annotations

3 errors and 15 warnings
&-masking with zero: /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bitflags-1.3.2/src/lib.rs#L464
error: &-masking with zero --> src/models/users.rs:14:1 | 14 | / bitflags::bitflags! { 15 | | #[derive(Serialize, Deserialize)] 16 | | #[serde(transparent)] 17 | | pub struct Badges: u64 { ... | 29 | | } 30 | | } | |_^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bad_bit_mask = note: this error originates in the macro `__impl_bitflags` which comes from the expansion of the macro `bitflags::bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
&-masking with zero: /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bitflags-1.3.2/src/lib.rs#L464
error: &-masking with zero --> src/models/teams.rs:79:1 | 79 | / bitflags::bitflags! { 80 | | #[derive(Serialize, Deserialize)] 81 | | #[serde(transparent)] 82 | | pub struct OrganizationPermissions: u64 { ... | 94 | | } 95 | | } | |_^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bad_bit_mask = note: this error originates in the macro `__impl_bitflags` which comes from the expansion of the macro `bitflags::bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
&-masking with zero: /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bitflags-1.3.2/src/lib.rs#L464
error: &-masking with zero --> src/models/pats.rs:12:1 | 12 | / bitflags::bitflags! { 13 | | #[derive(Serialize, Deserialize)] 14 | | #[serde(transparent)] 15 | | pub struct Scopes: u64 { ... | 109 | | } 110 | | } | |_^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bad_bit_mask = note: `#[deny(clippy::bad_bit_mask)]` on by default = note: this error originates in the macro `__impl_bitflags` which comes from the expansion of the macro `bitflags::bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
try not to call a closure in the expression where it is declared: src/auth/flows.rs#L1015
warning: try not to call a closure in the expression where it is declared --> src/auth/flows.rs:1015:58 | 1015 | let res: Result<HttpResponse, AuthenticationError> = (|| async move { | __________________________________________________________^ 1016 | | 1017 | | let flow = Flow::get(&state, &redis).await?; 1018 | | ... | 1176 | | } 1177 | | })().await; | |________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure_call = note: `#[warn(clippy::redundant_closure_call)]` on by default help: try doing something like | 1015 ~ let res: Result<HttpResponse, AuthenticationError> = async async move { 1016 + 1017 + let flow = Flow::get(&state, &redis).await?; 1018 + 1019 + // Extract cookie header from request 1020 + if let Some(Flow::OAuth { 1021 + user_id, 1022 + provider, 1023 + url, 1024 + }) = flow 1025 + { 1026 + Flow::remove(&state, &redis).await?; 1027 + 1028 + let token = provider.get_token(query).await?; 1029 + let oauth_user = provider.get_user(&token).await?; 1030 + 1031 + let user_id_opt = provider.get_user_id(&oauth_user.id, &**client).await?; 1032 + 1033 + let mut transaction = client.begin().await?; 1034 + if let Some(id) = user_id { 1035 + if user_id_opt.is_some() { 1036 + return Err(AuthenticationError::DuplicateUser); 1037 + } 1038 + 1039 + provider 1040 + .update_user_id(id, Some(&oauth_user.id), &mut transaction) 1041 + .await?; 1042 + 1043 + let user = crate::database::models::User::get_id(id, &**client, &redis).await?; 1044 + if let Some(email) = user.and_then(|x| x.email) { 1045 + send_email( 1046 + email, 1047 + "Authentication method added", 1048 + &format!("When logging into Modrinth, you can now log in using the {} authentication provider.", provider.as_str()), 1049 + "If you did not make this change, please contact us immediately through our support channels on Discord or via email ([email protected]).", 1050 + None, 1051 + )?; 1052 + } 1053 + 1054 + crate::database::models::User::clear_caches(&[(id, None)], &redis).await?; 1055 + transaction.commit().await?; 1056 + 1057 + if let Some(url) = url { 1058 + Ok(HttpResponse::TemporaryRedirect() 1059 + .append_header(("Location", &*url)) 1060 + .json(serde_json::json!({ "url": url }))) 1061 + } else { 1062 + Err(AuthenticationError::InvalidCredentials) 1063 + } 1064 + } else { 1065 + let user_id = if let Some(user_id) = user_id_opt { 1066 + let user = crate::database::models::User::get_id(user_id, &**client, &redis) 1067 + .await? 1068 + .ok_or_else(|| AuthenticationError::InvalidCredentials)?; 1069 + 1070 + if user.totp_secret.is_some() { 1071 + let flow = Flow::Login2FA { user_id: user.id } 1072 + .insert(Duration::minutes(30), &redis) 1073 + .await?; 1074 + 1075 + if let Some(url) = url { 1076 + let redirect_url = format!( 1077 + "{}{}error=2fa_required&flow={}", 1078 + url, 1079 + if url.contains('?') { "&" } else { "?" }, 1080 + flow 1081 + ); 1082 + 1083 + return Ok(HttpResponse::TemporaryRedirect() 1084 + .append_header(("Location", &*redirect_url)) 1085 + .json(serde_json::json!({ "url": redirect_url }))); 1086 + } else { 1087 + let mut ws_conn = { 1088 + let db = sockets.read().await; 1089 + 1090 + let mut x = db 1091 + .auth_sockets 1092 + .get_mut(&state) 1093 + .ok_or_else(|| AuthenticationError::SocketError)?; 1094 + 1095 + x.value_mut().clone() 1096 + }; 1097 + 1098 + ws_conn 1099 + .text( 1100 + serde_json::json!({ 1101 + "error": "2fa_required", 1102 + "flow": flow, 1103 + }).to_string() 1104 + ) 1105 + .await.map_err(|_| AuthenticationError::SocketError)?; 1106 + 1107 + let _ = ws_conn.close(None).await; 1108 + 1109 + return Ok(super::templates::Success { 1110 + icon: user.avatar_url.as_deref().unwrap_or("https://cdn-raw.modrinth.com/placeholder.svg"), 1111 + name: &user.username, 1112 + }.render()); 1113 + } 1114 + } 1115 + 1116 + user_id 1117 + } else { 1118 + oauth_user.create_account(provider, &mut transaction, &client, &file_host, &redis).await? 1119 + }; 1120 + 1121 + let session = issue_session(req, user_id, &mut transaction, &redis).await?; 1122 + transaction.commit().await?; 1123 + 1124 + if let Some(url) = url { 1125 + let redirect_url = format!( 1126 + "{}{}code={}{}", 1127 + url, 1128 + if url.contains('?') { '&' } else { '?' }, 1129 + session.session, 1130 + if user_id_opt.is_none() { 1131 + "&new_account=true" 1132 + } else { 1133 + "" 1134 + } 1135 + ); 1136 + 1137 + Ok(HttpResponse::TemporaryRedirect() 1138 + .append_header(("Location", &*redirect_url)) 1139 + .json(serde_json::json!({ "url": redirect_url }))) 1140 + } else { 1141 + let user = crate::database::models::user_item::User::get_id( 1142 + user_id, 1143 + &**client, 1144 + &redis, 1145 + ) 1146 + .await?.ok_or_else(|| AuthenticationError::InvalidCredentials)?; 1147 + 1148 + let mut ws_conn = { 1149 + let db = sockets.read().await; 1150 + 1151 + let mut x = db 1152 + .auth_sockets 1153 + .get_mut(&state) 1154 + .ok_or_else(|| AuthenticationError::SocketError)?; 1155 + 1156 + x.value_mut().clone() 1157 + }; 1158 + 1159 + ws_conn 1160 + .text( 1161 + serde_json::json!({ 1162 + "code": session.session, 1163 + }).to_string() 1164 + ) 1165 + .await.map_err(|_| AuthenticationError::SocketError)?; 1166 + let _ = ws_conn.close(None).await; 1167 + 1168 + return Ok(super::templates::Success { 1169 + icon: user.avatar_url.as_deref().unwrap_or("https://cdn-raw.modrinth.com/placeholder.svg"), 1170 + name: &user.username, 1171 + }.render()); 1172 + } 1173 + } 1174 + } else { 1175 + Err::<HttpResponse, AuthenticationError>(AuthenticationError::InvalidCredentials) 1176 + } 1177 ~ }.await; |
docker
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2, docker/metadata-action@v3, docker/login-action@v1, docker/build-push-action@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
docker
The `save-state` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
docker
The `save-state` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
docker
The `save-state` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
docker
The `save-state` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
docker
The `save-state` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
docker
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
docker
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
docker
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
docker
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
docker
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
docker
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
docker
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
docker
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/