in core/src/services/ghac/backend.rs [222:271]
fn build(&mut self) -> Result<Self::Accessor> {
debug!("backend build started: {:?}", self);
let root = normalize_root(&self.root.take().unwrap_or_default());
debug!("backend use root {}", root);
let client = if let Some(client) = self.http_client.take() {
client
} else {
HttpClient::new().map_err(|err| {
err.with_operation("Builder::build")
.with_context("service", Scheme::Ghac)
})?
};
let backend = GhacBackend {
root,
enable_create_simulation: self.enable_create_simulation,
cache_url: env::var(ACTIONS_CACHE_URL).map_err(|err| {
Error::new(
ErrorKind::ConfigInvalid,
"ACTIONS_CACHE_URL not found, maybe not in github action environment?",
)
.with_operation("Builder::build")
.set_source(err)
})?,
catch_token: env::var(ACTIONS_RUNTIME_TOKEN).map_err(|err| {
Error::new(
ErrorKind::ConfigInvalid,
"ACTIONS_RUNTIME_TOKEN not found, maybe not in github action environment?",
)
.with_operation("Builder::build")
.set_source(err)
})?,
version: self
.version
.clone()
.unwrap_or_else(|| "opendal".to_string()),
api_url: env::var(GITHUB_API_URL)
.unwrap_or_else(|_| "https://api.github.com".to_string()),
api_token: env::var(GITHUB_TOKEN).unwrap_or_default(),
repo: env::var(GITHUB_REPOSITORY).unwrap_or_default(),
client,
};
Ok(backend)
}