Skip to main content

upstream_rs/services/builder/
mod.rs

1pub mod determine;
2pub mod downloader;
3pub mod profiles;
4pub mod scripts;
5pub mod worker;
6
7use std::path::PathBuf;
8
9use crate::models::{
10    common::{enums::Provider, version::Version},
11    provider::Release,
12};
13
14#[derive(Debug, Clone, Copy, PartialEq, Eq)]
15pub enum BuildProfile {
16    Rust,
17    Dotnet,
18    Go,
19    Zig,
20    Cmake,
21}
22
23#[derive(Debug, Clone)]
24pub struct BuildRequest {
25    pub name: String,
26    pub repo_slug: String,
27    pub provider: Provider,
28    pub base_url: Option<String>,
29    pub version_tag: Option<String>,
30    pub branch: Option<String>,
31    pub requested_profile: Option<BuildProfile>,
32    pub script_action: scripts::BuildScriptAction,
33}
34
35#[derive(Debug, Clone)]
36pub struct BuildOutput {
37    pub artifact_path: PathBuf,
38    pub profile: BuildProfile,
39    pub release: Release,
40    pub version: Version,
41    pub branch: Option<String>,
42    pub commit: Option<String>,
43}