Create CI workflow and tests

This commit is contained in:
Nick Alteen
2023-08-23 13:39:12 -04:00
parent 3cfb7ea35a
commit 464b2658f0
8 changed files with 513 additions and 111 deletions

28
src/index.ts Normal file
View File

@@ -0,0 +1,28 @@
import * as core from '@actions/core'
import { wait } from './wait'
/**
* The main function for the action.
* @returns {Promise<void>} Resolves when the action is complete.
*/
async function run(): Promise<void> {
try {
const ms: string = core.getInput('milliseconds')
// Debug logs are only output if the `ACTIONS_STEP_DEBUG` secret is true
core.debug(`Waiting ${ms} milliseconds ...`)
// Log the current timestamp, wait, then log the new timestamp
core.debug(new Date().toTimeString())
await wait(parseInt(ms, 10))
core.debug(new Date().toTimeString())
// Set outputs for other workflow steps to use
core.setOutput('time', new Date().toTimeString())
} catch (error) {
// Fail the workflow run if an error occurs
if (error instanceof Error) core.setFailed(error.message)
}
}
run()

View File

@@ -1,3 +1,8 @@
/**
* Wait for a number of milliseconds.
* @param milliseconds The number of milliseconds to wait.
* @returns {Promise<string>} Resolves with 'done!' after the wait is over.
*/
export async function wait(milliseconds: number): Promise<string> {
return new Promise(resolve => {
if (isNaN(milliseconds)) {