Skip to content

Commit 64226f4

Browse files
Merge remote-tracking branch 'origin/master' into assetCatalogParsing
2 parents ff6040d + bab1afd commit 64226f4

File tree

17 files changed

+453
-48
lines changed

17 files changed

+453
-48
lines changed

.github/workflows/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ jobs:
176176
TARGET: ${{ matrix.arch }}-pc-windows-msvc
177177

178178
name: Windows ${{ matrix.arch }}
179-
runs-on: windows-2019
179+
runs-on: windows-2022
180180

181181
steps:
182182
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2

.github/workflows/codeql-analysis.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ jobs:
3737

3838
# Initializes the CodeQL tools for scanning.
3939
- name: Initialize CodeQL
40-
uses: github/codeql-action/init@ff0a06e83cb2de871e5a09832bc6a81e7276941f # 3.28.18
40+
uses: github/codeql-action/init@fca7ace96b7d713c7035871441bd52efbe39e27e # 3.28.19
4141
with:
4242
languages: ${{ matrix.language }}
4343
# If you wish to specify custom queries, you can do so here or in a config file.
@@ -48,7 +48,7 @@ jobs:
4848
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
4949
# If this step fails, then you should remove it and run the build manually (see below)
5050
- name: Autobuild
51-
uses: github/codeql-action/autobuild@ff0a06e83cb2de871e5a09832bc6a81e7276941f # 3.28.18
51+
uses: github/codeql-action/autobuild@fca7ace96b7d713c7035871441bd52efbe39e27e # 3.28.19
5252

5353
# ℹ️ Command-line programs to run using the OS shell.
5454
# 📚 https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions
@@ -59,4 +59,4 @@ jobs:
5959
# make bootstrap
6060
# make release
6161
- name: Perform CodeQL Analysis
62-
uses: github/codeql-action/analyze@ff0a06e83cb2de871e5a09832bc6a81e7276941f # 3.28.18
62+
uses: github/codeql-action/analyze@fca7ace96b7d713c7035871441bd52efbe39e27e # 3.28.19

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ dump
77
checksums.txt
88
yarn-error.log
99

10+
.sentryclirc
1011
/sentry-cli
1112
/sentry-cli.exe
1213

Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM rust:1.84-alpine AS sentry-build
1+
FROM rust:1.87.0-alpine3.20@sha256:126df0f2a57e675f9306fe180b833982ffb996e90a92a793bb75253cfeed5475 AS sentry-build
22

33
# Install build dependencies
44
RUN apk add musl-dev perl openssl-dev make
@@ -18,7 +18,7 @@ RUN touch src/main.rs && cargo build --release --features managed
1818
# Copy the compiled binary to a target-independent location so it can be picked up later
1919
RUN cp target/release/sentry-cli /usr/local/bin/sentry-cli
2020

21-
FROM alpine:3.14
21+
FROM alpine:3.22.0@sha256:8a1f59ffb675680d47db6337b49d22281a139e9d709335b492be023728e11715
2222
WORKDIR /work
2323
RUN apk add --no-cache ca-certificates
2424
COPY ./docker-entrypoint.sh /
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
use serde::{Deserialize, Serialize};
2+
use sha1_smol::Digest;
3+
4+
use super::ChunkedFileState;
5+
6+
#[derive(Debug, Serialize)]
7+
pub struct ChunkedMobileAppRequest<'a> {
8+
pub checksum: Digest,
9+
pub chunks: &'a [Digest],
10+
#[serde(skip_serializing_if = "Option::is_none")]
11+
pub git_sha: Option<&'a str>,
12+
#[serde(skip_serializing_if = "Option::is_none")]
13+
pub build_configuration: Option<&'a str>,
14+
}
15+
16+
#[derive(Debug, Deserialize)]
17+
#[serde(rename_all = "camelCase")]
18+
pub struct AssembleMobileAppResponse {
19+
pub state: ChunkedFileState,
20+
pub missing_chunks: Vec<Digest>,
21+
pub detail: Option<String>,
22+
}

src/api/data_types/chunking/mod.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,13 @@ mod compression;
66
mod dif;
77
mod file_state;
88
mod hash_algorithm;
9+
mod mobile_app;
910
mod upload;
1011

1112
pub use self::artifact::{AssembleArtifactsResponse, ChunkedArtifactRequest};
1213
pub use self::compression::ChunkCompression;
1314
pub use self::dif::{AssembleDifsRequest, AssembleDifsResponse, ChunkedDifRequest};
1415
pub use self::file_state::ChunkedFileState;
1516
pub use self::hash_algorithm::ChunkHashAlgorithm;
17+
pub use self::mobile_app::{AssembleMobileAppResponse, ChunkedMobileAppRequest};
1618
pub use self::upload::{ChunkServerOptions, ChunkUploadCapability};

src/api/data_types/chunking/upload/capability.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,9 @@ pub enum ChunkUploadCapability {
3030
/// Upload of il2cpp line mappings
3131
Il2Cpp,
3232

33+
/// Upload of preprod artifacts
34+
PreprodArtifacts,
35+
3336
/// Any other unsupported capability (ignored)
3437
Unknown,
3538
}
@@ -49,6 +52,7 @@ impl<'de> Deserialize<'de> for ChunkUploadCapability {
4952
"sources" => ChunkUploadCapability::Sources,
5053
"bcsymbolmaps" => ChunkUploadCapability::BcSymbolmap,
5154
"il2cpp" => ChunkUploadCapability::Il2Cpp,
55+
"preprod_artifacts" => ChunkUploadCapability::PreprodArtifacts,
5256
_ => ChunkUploadCapability::Unknown,
5357
})
5458
}

src/api/mod.rs

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1018,6 +1018,32 @@ impl<'a> AuthenticatedApi<'a> {
10181018
.convert_rnf(ApiErrorKind::ReleaseNotFound)
10191019
}
10201020

1021+
pub fn assemble_mobile_app(
1022+
&self,
1023+
org: &str,
1024+
project: &str,
1025+
checksum: Digest,
1026+
chunks: &[Digest],
1027+
git_sha: Option<&str>,
1028+
build_configuration: Option<&str>,
1029+
) -> ApiResult<AssembleMobileAppResponse> {
1030+
let url = format!(
1031+
"/projects/{}/{}/files/preprodartifacts/assemble/",
1032+
PathArg(org),
1033+
PathArg(project)
1034+
);
1035+
1036+
self.request(Method::Post, &url)?
1037+
.with_json_body(&ChunkedMobileAppRequest {
1038+
checksum,
1039+
chunks,
1040+
git_sha,
1041+
build_configuration,
1042+
})?
1043+
.send()?
1044+
.convert_rnf(ApiErrorKind::ProjectNotFound)
1045+
}
1046+
10211047
pub fn associate_proguard_mappings(
10221048
&self,
10231049
org: &str,

0 commit comments

Comments
 (0)