38 lines
1.1 KiB
TypeScript
38 lines
1.1 KiB
TypeScript
import * as core from "@actions/core"
|
|
|
|
import { RefKey, State } from "../constants"
|
|
|
|
export function isExactKeyMatch(key: string, cacheKey?: string): boolean {
|
|
return !!(
|
|
cacheKey &&
|
|
cacheKey.localeCompare(key, undefined, {
|
|
sensitivity: "accent",
|
|
}) === 0
|
|
)
|
|
}
|
|
|
|
export function setCacheState(state: string): void {
|
|
core.saveState(State.CacheMatchedKey, state)
|
|
}
|
|
|
|
export function getCacheState(): string | undefined {
|
|
const cacheKey = core.getState(State.CacheMatchedKey)
|
|
if (cacheKey) {
|
|
core.debug(`Cache state/key: ${cacheKey}`)
|
|
return cacheKey
|
|
}
|
|
|
|
return undefined
|
|
}
|
|
|
|
export function logWarning(message: string): void {
|
|
const warningPrefix = "[warning]"
|
|
core.info(`${warningPrefix}${message}`)
|
|
}
|
|
|
|
// Cache token authorized for all events that are tied to a ref
|
|
// See GitHub Context https://help.github.com/actions/automating-your-workflow-with-github-actions/contexts-and-expression-syntax-for-github-actions#github-context
|
|
export function isValidEvent(): boolean {
|
|
return RefKey in process.env && Boolean(process.env[RefKey])
|
|
}
|