#typescript#actions#authentication#gcp#github_actions#google_cloud#google_cloud_platform#iam#identity#security
You can securely connect GitHub Actions to Google Cloud using the Google GitHub Action called `auth`. It supports two main ways: the recommended Workload Identity Federation (WIF), which uses short-lived tokens and avoids long-lived service account keys, and the older Service Account Key JSON method. WIF improves security by creating a trust link between your GitHub workflow and Google Cloud without exposing permanent credentials. To use it, you set up a Workload Identity Pool and Provider in Google Cloud, then configure your GitHub workflow to authenticate with these. This lets your workflows access Google Cloud resources safely and easily, reducing risks and simplifying credential management.
https://github.com/google-github-actions/auth
🚀 Вышел стабильный JavaScript движок от Google для Android
Новая стабильная библиотека Jetpack JavaScript Engine позволит разработчикам выполнять JS код в изолированной и ограниченной среде.
class MainActivity : ComponentActivity() {
// Теперь nullable, без lateinit
private var jsSandbox: JavaScriptSandbox? = null
private var jsIsolate: JavaScriptIsolate? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
if (!JavaScriptSandbox.isSupported()) {
Log.e("JS", "JavaScriptSandbox не поддерживается")
return
}
lifecycleScope.launch {
// Создаём и сохраняем в nullable-поле
jsSandbox = JavaScriptSandbox
.createConnectedInstanceAsync(applicationContext)
.await()
jsIsolate = jsSandbox?.createIsolate()
// При выполнении гарантируем, что jsIsolate != null
val result: String = jsIsolate
?.evaluateJavaScriptAsync(JS_SCRIPT_SCRING)
?.await()
?: "Ошибка: isolate не инициализирован"
Log.d("JS", "Результат выполнения: $result")
}
}
override fun onDestroy() {
super.onDestroy()
// Закрываем только если не null
jsIsolate?.close()
jsSandbox?.close()
}
}
#jetpack#js