UNPKG

setup-cpp

Version:

Install all the tools required for building and testing C++/C projects.

32 lines (28 loc) 977 B
import { info } from "ci-log" import { type InstallationInfo, hasApk, installApkPack } from "setup-alpine" import { majorLLVMVersion } from "./utils.ts" /** * Try to setup LLVM via the apk package manager * * @param {string} version - The version of LLVM to install * * @returns {InstallationInfo} The installation info if the installation was successful * @returns {undefined} If the installation fails, it will try to remove the repository and will return undefined */ export async function trySetupLLVMApk( version: string, ): Promise<InstallationInfo | undefined> { if (!await hasApk()) { return undefined } try { return await setupLLVMApk(version) } catch (err) { info(`Failed to install llvm via system package manager ${err}.`) } return undefined } export function setupLLVMApk(version: string): Promise<InstallationInfo> { const majorVersion = majorLLVMVersion(version) return installApkPack([{ name: `llvm${majorVersion}` }]) }