Skip to content

Commit

Permalink
Make bazelisk in a tool cache available in the PATH (#19)
Browse files Browse the repository at this point in the history
Fixes #17
  • Loading branch information
p0deje authored May 20, 2024
1 parent 67f0a68 commit 06441bb
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 15 deletions.
27 changes: 14 additions & 13 deletions index.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ async function run() {

async function setupBazel() {
core.startGroup('Configure Bazel')
console.log('Configuration:')
console.log(JSON.stringify(config, null, 2))
core.info('Configuration:')
core.info(JSON.stringify(config, null, 2))

await setupBazelrc()
core.endGroup()
Expand All @@ -36,18 +36,19 @@ async function setupBazelisk() {
}

core.startGroup('Setup Bazelisk')
const toolPath = tc.find('bazelisk', config.bazeliskVersion)
let toolPath = tc.find('bazelisk', config.bazeliskVersion)
if (toolPath) {
console.log(`Found in cache @ ${toolPath}`)
core.debug(`Found in cache @ ${toolPath}`)
} else {
await downloadBazelisk()
toolPath = await downloadBazelisk()
}
core.addPath(toolPath)
core.endGroup()
}

async function downloadBazelisk() {
const version = config.bazeliskVersion
console.log(`Attempting to download ${version}`)
core.debug(`Attempting to download ${version}`)

// Possible values are 'arm', 'arm64', 'ia32', 'mips', 'mipsel', 'ppc', 'ppc64', 's390', 's390x' and 'x64'.
// Bazelisk filenames use 'amd64' and 'arm64'.
Expand Down Expand Up @@ -88,15 +89,15 @@ async function downloadBazelisk() {
}

const url = asset.browser_download_url
console.log(`Downloading from ${url}`)
core.debug(`Downloading from ${url}`)
const downloadPath = await tc.downloadTool(url, undefined, `token ${token}`)

console.log('Adding to the cache...');
core.debug('Adding to the cache...');
fs.chmodSync(downloadPath, '755');
const cachePath = await tc.cacheFile(downloadPath, 'bazel', 'bazelisk', version)
console.log(`Successfully cached bazelisk to ${cachePath}`)
core.debug(`Successfully cached bazelisk to ${cachePath}`)

core.addPath(cachePath)
return cachePath
}

async function setupBazelrc() {
Expand Down Expand Up @@ -152,21 +153,21 @@ async function restoreCache(cacheConfig) {
const restoreKey = `${config.baseCacheKey}-${name}-`
const key = `${restoreKey}${hash}`

console.log(`Attempting to restore ${name} cache from ${key}`)
core.debug(`Attempting to restore ${name} cache from ${key}`)

const restoredKey = await cache.restoreCache(
paths, key, [restoreKey],
{ segmentTimeoutInMs: 300000 } // 5 minutes
)

if (restoredKey) {
console.log(`Successfully restored cache from ${restoredKey}`)
core.info(`Successfully restored cache from ${restoredKey}`)

if (restoredKey === key) {
core.saveState(`${name}-cache-hit`, 'true')
}
} else {
console.log(`Failed to restore ${name} cache`)
core.info(`Failed to restore ${name} cache`)
}

core.endGroup()
Expand Down
4 changes: 2 additions & 2 deletions post.js
Original file line number Diff line number Diff line change
Expand Up @@ -79,9 +79,9 @@ async function saveCache(cacheConfig) {
{ followSymbolicLinks: false }
)
const key = `${config.baseCacheKey}-${cacheConfig.name}-${hash}`
console.log(`Attempting to save ${paths} cache to ${key}`)
core.debug(`Attempting to save ${paths} cache to ${key}`)
await cache.saveCache(paths, key)
console.log('Successfully saved cache')
core.info('Successfully saved cache')
} catch (error) {
core.warning(error.stack)
} finally {
Expand Down

0 comments on commit 06441bb

Please sign in to comment.