Co-authored-by: Frieder Bluemle <frieder.bluemle@gmail.com>
This commit is contained in:
parent
b447b178e1
commit
c0941600fa
|
@ -0,0 +1 @@
|
|||
dist/
|
|
@ -1,7 +1,9 @@
|
|||
node_modules/
|
||||
|
||||
# Editors
|
||||
.vscode
|
||||
.vscode/
|
||||
.idea/
|
||||
*.iml
|
||||
|
||||
# Logs
|
||||
logs
|
||||
|
|
14
README.md
14
README.md
|
@ -1,10 +1,9 @@
|
|||
# Create a JavaScript Action
|
||||
|
||||
<p align="center">
|
||||
<a href="https://github.com/actions/javascript-action/actions"><img alt="javscript-action status" src="https://github.com/actions/javascript-action/workflows/units-test/badge.svg"></a>
|
||||
</p>
|
||||
|
||||
# Create a JavaScript Action
|
||||
|
||||
Use this template to bootstrap the creation of a JavaScript action.:rocket:
|
||||
|
||||
This template includes tests, linting, a validation workflow, publishing, and versioning guidance.
|
||||
|
@ -18,11 +17,13 @@ Click the `Use this Template` and provide the new repo details for your action
|
|||
## Code in Main
|
||||
|
||||
Install the dependencies
|
||||
|
||||
```bash
|
||||
$ npm install
|
||||
npm install
|
||||
```
|
||||
|
||||
Run the tests :heavy_check_mark:
|
||||
|
||||
```bash
|
||||
$ npm test
|
||||
|
||||
|
@ -30,7 +31,6 @@ $ npm test
|
|||
✓ throws invalid number (3ms)
|
||||
✓ wait 500 ms (504ms)
|
||||
✓ test runs (95ms)
|
||||
|
||||
...
|
||||
```
|
||||
|
||||
|
@ -89,12 +89,12 @@ Users shouldn't consume the action from master since that would be latest code a
|
|||
Checkin to the v1 release branch
|
||||
|
||||
```bash
|
||||
$ git checkout -b v1
|
||||
$ git commit -a -m "v1 release"
|
||||
git checkout -b v1
|
||||
git commit -a -m "v1 release"
|
||||
```
|
||||
|
||||
```bash
|
||||
$ git push origin v1
|
||||
git push origin v1
|
||||
```
|
||||
|
||||
Your action is now published! :rocket:
|
||||
|
|
|
@ -67,20 +67,19 @@ const wait = __webpack_require__(949);
|
|||
async function run() {
|
||||
try {
|
||||
const ms = core.getInput('milliseconds');
|
||||
core.info(`Waiting ${ms} milliseconds ...`)
|
||||
core.info(`Waiting ${ms} milliseconds ...`);
|
||||
|
||||
core.debug((new Date()).toTimeString()) // debug is only output if you set the secret `ACTIONS_RUNNER_DEBUG` to true
|
||||
core.debug((new Date()).toTimeString()); // debug is only output if you set the secret `ACTIONS_RUNNER_DEBUG` to true
|
||||
await wait(parseInt(ms));
|
||||
core.info((new Date()).toTimeString())
|
||||
core.info((new Date()).toTimeString());
|
||||
|
||||
core.setOutput('time', new Date().toTimeString());
|
||||
}
|
||||
catch (error) {
|
||||
} catch (error) {
|
||||
core.setFailed(error.message);
|
||||
}
|
||||
}
|
||||
|
||||
run()
|
||||
run();
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
@ -352,15 +351,14 @@ module.exports = require("path");
|
|||
/***/ 949:
|
||||
/***/ (function(module) {
|
||||
|
||||
let wait = function(milliseconds) {
|
||||
return new Promise((resolve, reject) => {
|
||||
if (typeof(milliseconds) !== 'number') {
|
||||
throw new Error('milleseconds not a number');
|
||||
let wait = function (milliseconds) {
|
||||
return new Promise((resolve) => {
|
||||
if (typeof milliseconds !== 'number') {
|
||||
throw new Error('milliseconds not a number');
|
||||
}
|
||||
|
||||
setTimeout(() => resolve("done!"), milliseconds)
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
module.exports = wait;
|
||||
|
||||
|
|
11
index.js
11
index.js
|
@ -6,17 +6,16 @@ const wait = require('./wait');
|
|||
async function run() {
|
||||
try {
|
||||
const ms = core.getInput('milliseconds');
|
||||
core.info(`Waiting ${ms} milliseconds ...`)
|
||||
core.info(`Waiting ${ms} milliseconds ...`);
|
||||
|
||||
core.debug((new Date()).toTimeString()) // debug is only output if you set the secret `ACTIONS_RUNNER_DEBUG` to true
|
||||
core.debug((new Date()).toTimeString()); // debug is only output if you set the secret `ACTIONS_RUNNER_DEBUG` to true
|
||||
await wait(parseInt(ms));
|
||||
core.info((new Date()).toTimeString())
|
||||
core.info((new Date()).toTimeString());
|
||||
|
||||
core.setOutput('time', new Date().toTimeString());
|
||||
}
|
||||
catch (error) {
|
||||
} catch (error) {
|
||||
core.setFailed(error.message);
|
||||
}
|
||||
}
|
||||
|
||||
run()
|
||||
run();
|
||||
|
|
|
@ -3,11 +3,11 @@ const process = require('process');
|
|||
const cp = require('child_process');
|
||||
const path = require('path');
|
||||
|
||||
test('throws invalid number', async() => {
|
||||
await expect(wait('foo')).rejects.toThrow('milleseconds not a number');
|
||||
test('throws invalid number', async () => {
|
||||
await expect(wait('foo')).rejects.toThrow('milliseconds not a number');
|
||||
});
|
||||
|
||||
test('wait 500 ms', async() => {
|
||||
test('wait 500 ms', async () => {
|
||||
const start = new Date();
|
||||
await wait(500);
|
||||
const end = new Date();
|
||||
|
@ -19,5 +19,5 @@ test('wait 500 ms', async() => {
|
|||
test('test runs', () => {
|
||||
process.env['INPUT_MILLISECONDS'] = 500;
|
||||
const ip = path.join(__dirname, 'index.js');
|
||||
console.log(cp.execSync(`node ${ip}`, { env: process.env }).toString());
|
||||
console.log(cp.execSync(`node ${ip}`, {env: process.env}).toString());
|
||||
})
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
"description": "JavaScript Action Template",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"lint": "eslint index.js",
|
||||
"lint": "eslint .",
|
||||
"prepare": "ncc build index.js -o dist --source-map",
|
||||
"test": "jest",
|
||||
"all": "npm run lint && npm run prepare && npm run test"
|
||||
|
|
11
wait.js
11
wait.js
|
@ -1,11 +1,10 @@
|
|||
let wait = function(milliseconds) {
|
||||
return new Promise((resolve, reject) => {
|
||||
if (typeof(milliseconds) !== 'number') {
|
||||
throw new Error('milleseconds not a number');
|
||||
let wait = function (milliseconds) {
|
||||
return new Promise((resolve) => {
|
||||
if (typeof milliseconds !== 'number') {
|
||||
throw new Error('milliseconds not a number');
|
||||
}
|
||||
|
||||
setTimeout(() => resolve("done!"), milliseconds)
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
module.exports = wait;
|
||||
|
|
Loading…
Reference in New Issue