Compare commits

...

30 Commits

Author SHA1 Message Date
peaceiris
64951c5a73 docs: update 2019-10-07 00:11:15 +09:00
peaceiris
35c74b6a6a deps: update 2019-10-04 12:19:43 +09:00
peaceiris
b5fb138703 meta: Update description 2019-10-03 11:35:41 +09:00
Shohei Ueda
6f6a564fad Deps: update (#53)
* deps: update

* deps: update node_modules
2019-10-02 10:58:52 +09:00
peaceiris
cd3751ce70 gha: enhance trigger 2019-10-01 20:10:45 +09:00
peaceiris
07e434d37c deps: update lint-staged 2019-10-01 14:54:03 +09:00
peaceiris
1405de8b20 deps: update eslint 2019-10-01 11:01:26 +09:00
peaceiris
7346c7bdad deps: update eslint 2019-09-29 14:08:38 +09:00
peaceiris
f1ac6bf271 deps: update husky 2019-09-28 11:19:42 +09:00
peaceiris
c7b570bed5 deps: update 2019-09-26 19:48:38 +09:00
Shohei Ueda
3ae7dd1270 deps: update (#52)
#50
2019-09-26 14:50:12 +09:00
peaceiris
9fdb1cb749 docs: update tag of peaceiris/actions-gh-pages to v2.4.0 2019-09-25 12:47:37 +09:00
peaceiris
e2b52b7b4d docs: update tag to v2.2.1 2019-09-25 12:44:14 +09:00
Shohei Ueda
8e97852759 Deps: update (#49)
* deps: update
* deps: update node_modules

#46 #47 #48
2019-09-25 12:40:38 +09:00
peaceiris
b46070141b docs: Add submodules to actions/checkout
https://github.com/peaceiris/actions-hugo/issues/42
2019-09-24 07:31:06 +09:00
peaceiris
a1adb3bb7b gha: remove paths 2019-09-23 14:35:33 +09:00
peaceiris
fbb67a3359 docs: update tag 2019-09-23 14:10:41 +09:00
peaceiris
2e5b1b84d6 deps: upgrade lint-staged 9.3.0 2019-09-23 12:36:26 +09:00
peaceiris
6d819cab4c gha: fix pull_request trigger 2019-09-23 11:33:57 +09:00
Shohei Ueda
a6d33f08ac config: enhance tsconfig.json (#44)
* config: enhance tsconfig.json (Set sourceMap and removeComments to true)
* gha: Add pull_request trigger, close #43
* config: Add waring emoji
2019-09-23 10:58:19 +09:00
Shohei Ueda
71663ea875 gha: use paths instead of paths-ignore (#41)
* gha: use paths instead of paths-ignore
* docs: update from 3 sec to 4 sec
* ci: update husky post-commit hook
2019-09-22 15:45:20 +09:00
Shohei Ueda
d7d48e3009 Refactor: enhance Hugo version dumping (#39) 2019-09-22 10:24:28 +09:00
peaceiris
39aa1b7d04 docs: Add Table of Contents 2019-09-22 09:43:11 +09:00
Shohei Ueda
b10091c0dc Enhance: workflow (#38)
* gha: Add paths-ignore
* docs: enhance
2019-09-22 09:37:17 +09:00
peaceiris
824187d952 fix: npm run tsc 2019-09-22 08:42:53 +09:00
Shohei Ueda
e194c83989 Refactor: remove Golang and Git dumping (#37)
* ci: setup lint-staged
* refactor: remove golang and git dumping
2019-09-22 08:13:23 +09:00
peaceiris
c3970dfbdd config: update meta data 2019-09-21 22:45:31 +09:00
peaceiris
082748017c deps: update @actions/core 2019-09-21 11:28:40 +09:00
dependabot-preview[bot]
79d6bc5f6e build(deps): bump @actions/core from 1.1.0 to 1.1.1 (#35)
Bumps [@actions/core](https://github.com/actions/toolkit) from 1.1.0 to 1.1.1.
- [Release notes](https://github.com/actions/toolkit/releases)
- [Commits](https://github.com/actions/toolkit/compare/@actions/core@1.1.0...@actions/tool-cache@1.1.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-21 11:24:42 +09:00
peaceiris
8f1aef7e73 docs: update peaceiris/actions-hugo@v2.2.0 2019-09-21 10:46:47 +09:00
32 changed files with 1064 additions and 208 deletions

View File

@@ -1,6 +1,11 @@
name: 'Test' name: 'Test'
on: push on:
pull_request:
types: [opened, synchronize]
push:
branches:
- master
jobs: jobs:
test: test:
@@ -28,21 +33,22 @@ jobs:
name: coverage name: coverage
path: coverage path: coverage
# - name: Build production
# run: npm run build
test-prod: test-prod:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
needs: test needs: test
strategy: strategy:
matrix: matrix:
# os: ['ubuntu-18.04', 'macOS-10.14']
os: ['ubuntu-18.04', 'macOS-10.14', 'windows-2019'] os: ['ubuntu-18.04', 'macOS-10.14', 'windows-2019']
# hugo-version: ['latest']
# extended: [true]
hugo-version: ['latest', '0.57.2'] hugo-version: ['latest', '0.57.2']
extended: [true, false] extended: [true, false]
# exclude:
# - os: 'macOS-10.14'
# hugo-version: 'latest'
# extended: false
# - os: 'windows-2019'
# hugo-version: 'latest'
# extended: false
steps: steps:
- uses: actions/checkout@v1 - uses: actions/checkout@v1

View File

@@ -13,7 +13,7 @@
We can run Hugo on a virtual machine of GitHub Actions by this Hugo action. Hugo extended version and Hugo Modules are supported. We can run Hugo on a virtual machine of GitHub Actions by this Hugo action. Hugo extended version and Hugo Modules are supported.
From `v2.0.0`, this Hugo action migrated to a JavaScript (TypeScript) action. We no longer build or pull a Hugo docker image. Thanks to this change, we can complete this action less than **3 sec**. (A docker base action was taking about 1 min or more execution time to build or pull.) From `v2.0.0`, this Hugo action migrated to a JavaScript (TypeScript) action. We no longer build or pull a Hugo docker image. Thanks to this change, we can complete this action less than **4 sec**. (A docker base action was taking about 1 min or more execution time to build or pull.)
| OS (runs-on) | ubuntu-18.04 | macOS-10.14 | windows-2019 | | OS (runs-on) | ubuntu-18.04 | macOS-10.14 | windows-2019 |
|---|:---:|:---:|:---:| |---|:---:|:---:|:---:|
@@ -23,11 +23,25 @@ From `v2.0.0`, this Hugo action migrated to a JavaScript (TypeScript) action. W
|---|:---:|:---:|:---:| |---|:---:|:---:|:---:|
| Support | ✅️ | ✅️ | ✅️ | | Support | ✅️ | ✅️ | ✅️ |
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
*Table of Contents*
- [Getting started](#getting-started)
- [⭐️ Create your workflow](#%EF%B8%8F-create-your-workflow)
- [Options](#options)
- [⭐️ Use Hugo extended](#%EF%B8%8F-use-hugo-extended)
- [⭐️ Use the latest version of Hugo](#%EF%B8%8F-use-the-latest-version-of-hugo)
- [License](#license)
- [About the author](#about-the-author)
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
## Getting started ## Getting started
### Create your workflow ### ⭐️ Create your workflow
An example workflow `.github/workflows/gh-pages.yml` with [GitHub Actions for deploying to GitHub Pages with Static Site Generators] An example workflow `.github/workflows/gh-pages.yml` with [GitHub Actions for deploying to GitHub Pages with Static Site Generators]
@@ -53,17 +67,20 @@ jobs:
# runs-on: windows-2019 # runs-on: windows-2019
steps: steps:
- uses: actions/checkout@master - uses: actions/checkout@master
# with:
# submodules: true
- name: Setup Hugo - name: Setup Hugo
uses: peaceiris/actions-hugo@v2.1.0 uses: peaceiris/actions-hugo@v2.2.1
with: with:
hugo-version: '0.58.3' hugo-version: '0.58.3'
# extended: true
- name: Build - name: Build
run: hugo --gc --minify --cleanDestinationDir run: hugo --gc --minify --cleanDestinationDir
- name: Deploy - name: Deploy
uses: peaceiris/actions-gh-pages@v2.3.1 uses: peaceiris/actions-gh-pages@v2.5.0
env: env:
ACTIONS_DEPLOY_KEY: ${{ secrets.ACTIONS_DEPLOY_KEY }} ACTIONS_DEPLOY_KEY: ${{ secrets.ACTIONS_DEPLOY_KEY }}
PUBLISH_BRANCH: gh-pages PUBLISH_BRANCH: gh-pages
@@ -74,21 +91,25 @@ jobs:
## Options ## Options
### Use Hugo extended ### ⭐️ Use Hugo extended
Set `extended: true` to use a Hugo extended version.
```yaml ```yaml
- name: Setup Hugo - name: Setup Hugo
uses: peaceiris/actions-hugo@v2.1.0 uses: peaceiris/actions-hugo@v2.2.1
with: with:
hugo-version: '0.58.3' hugo-version: '0.58.3'
extended: true extended: true
``` ```
### Use the latest version of Hugo ### ⭐️ Use the latest version of Hugo
Set `hugo-version: 'latest'` to use the latest version of Hugo.
```yaml ```yaml
- name: Setup Hugo - name: Setup Hugo
uses: peaceiris/actions-hugo@v2.1.0 uses: peaceiris/actions-hugo@v2.2.1
with: with:
hugo-version: 'latest' hugo-version: 'latest'
``` ```

View File

@@ -1,5 +1,5 @@
name: 'Hugo setup action' name: 'Hugo setup action'
description: 'GitHub Actions for Hugo extended and Hugo Modules' description: 'GitHub Actions for Hugo ⚡️ Setup Hugo quickly and build your site fast, Hugo extended and Hugo Modules are supported.'
author: 'peaceiris' author: 'peaceiris'
inputs: inputs:
hugo-version: hugo-version:

View File

@@ -20,3 +20,4 @@ function getLatestVersion() {
}); });
} }
exports.default = getLatestVersion; exports.default = getLatestVersion;
//# sourceMappingURL=get-latest-version.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"get-latest-version.js","sourceRoot":"","sources":["../src/get-latest-version.ts"],"names":[],"mappings":";;AAAA,MAAM,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,cAAc,CAAC;AAEhE,SAAwB,gBAAgB;IACtC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,GAAG,GAAG,IAAI,cAAc,EAAE,CAAC;QACjC,MAAM,GAAG,GAAW,gDAAgD,CAAC;QACrE,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACrB,GAAG,CAAC,IAAI,EAAE,CAAC;QACX,GAAG,CAAC,kBAAkB,GAAG;YACvB,IAAI,GAAG,CAAC,UAAU,KAAK,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;gBAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBAC5C,MAAM,aAAa,GAAW,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACrD,OAAO,CAAC,aAAa,CAAC,CAAC;aACxB;iBAAM,IAAI,GAAG,CAAC,UAAU,KAAK,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;gBACrD,MAAM,CAAC,qBAAqB,GAAG,CAAC,MAAM,OAAO,GAAG,EAAE,CAAC,CAAC;aACrD;QACH,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAhBD,mCAgBC"}

View File

@@ -9,10 +9,10 @@ function getOS(platform) {
} }
else if (platform === 'win32') { else if (platform === 'win32') {
return 'Windows'; return 'Windows';
// throw new Error("Windows is not supported");
} }
else { else {
throw new Error(`${platform} is not supported`); throw new Error(`${platform} is not supported`);
} }
} }
exports.default = getOS; exports.default = getOS;
//# sourceMappingURL=get-os.js.map

1
lib/get-os.js.map Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"get-os.js","sourceRoot":"","sources":["../src/get-os.ts"],"names":[],"mappings":";;AAAA,SAAwB,KAAK,CAAC,QAAgB;IAC5C,IAAI,QAAQ,KAAK,OAAO,EAAE;QACxB,OAAO,OAAO,CAAC;KAChB;SAAM,IAAI,QAAQ,KAAK,QAAQ,EAAE;QAChC,OAAO,OAAO,CAAC;KAChB;SAAM,IAAI,QAAQ,KAAK,OAAO,EAAE;QAC/B,OAAO,SAAS,CAAC;KAElB;SAAM;QACL,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,mBAAmB,CAAC,CAAC;KACjD;AACH,CAAC;AAXD,wBAWC"}

View File

@@ -7,8 +7,6 @@ function getURL(os, extended, version) {
} }
else { else {
return ''; return '';
// } else {
// throw new Error(`Invalid input (extended): ${extended}`);
} }
}; };
const ext = (os) => { const ext = (os) => {
@@ -25,3 +23,4 @@ function getURL(os, extended, version) {
return url; return url;
} }
exports.default = getURL; exports.default = getURL;
//# sourceMappingURL=get-url.js.map

1
lib/get-url.js.map Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"get-url.js","sourceRoot":"","sources":["../src/get-url.ts"],"names":[],"mappings":";;AAAA,SAAwB,MAAM,CAC5B,EAAU,EACV,QAAgB,EAChB,OAAe;IAEf,MAAM,WAAW,GAAG,CAAC,QAAgB,EAAE,EAAE;QACvC,IAAI,QAAQ,KAAK,MAAM,EAAE;YACvB,OAAO,WAAW,CAAC;SACpB;aAAM;YACL,OAAO,EAAE,CAAC;SAGX;IACH,CAAC,CAAC;IAEF,MAAM,GAAG,GAAG,CAAC,EAAU,EAAE,EAAE;QACzB,IAAI,EAAE,KAAK,SAAS,EAAE;YACpB,OAAO,KAAK,CAAC;SACd;aAAM;YACL,OAAO,QAAQ,CAAC;SACjB;IACH,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAW,QAAQ,WAAW,CAC1C,QAAQ,CACT,GAAG,OAAO,IAAI,EAAE,QAAQ,CAAC;IAC1B,MAAM,OAAO,GAAW,oDAAoD,CAAC;IAC7E,MAAM,GAAG,GAAW,GAAG,OAAO,KAAK,OAAO,IAAI,QAAQ,IAAI,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;IAEpE,OAAO,GAAG,CAAC;AACb,CAAC;AA9BD,yBA8BC"}

View File

@@ -23,21 +23,17 @@ const core = __importStar(require("@actions/core"));
const exec = __importStar(require("@actions/exec")); const exec = __importStar(require("@actions/exec"));
const get_latest_version_1 = __importDefault(require("./get-latest-version")); const get_latest_version_1 = __importDefault(require("./get-latest-version"));
const installer_1 = __importDefault(require("./installer")); const installer_1 = __importDefault(require("./installer"));
// most @actions toolkit packages have async methods
function run() { function run() {
return __awaiter(this, void 0, void 0, function* () { return __awaiter(this, void 0, void 0, function* () {
const dump = () => __awaiter(this, void 0, void 0, function* () { const dump = () => __awaiter(this, void 0, void 0, function* () {
// Show version
yield exec.exec('hugo version'); yield exec.exec('hugo version');
yield exec.exec('go version');
yield exec.exec('git --version');
}); });
try { try {
const hugoVersion = core.getInput('hugo-version'); const hugoVersion = core.getInput('hugo-version');
console.log(`Hugo version: ${hugoVersion}`);
if (hugoVersion === '' || hugoVersion === 'latest') { if (hugoVersion === '' || hugoVersion === 'latest') {
get_latest_version_1.default().then(function (latestVersion) { get_latest_version_1.default().then(function (latestVersion) {
return __awaiter(this, void 0, void 0, function* () { return __awaiter(this, void 0, void 0, function* () {
console.log(`Hugo version: ${latestVersion} (${hugoVersion})`);
yield installer_1.default(latestVersion); yield installer_1.default(latestVersion);
yield dump(); yield dump();
}); });
@@ -46,6 +42,7 @@ function run() {
}); });
} }
else { else {
console.log(`Hugo version: ${hugoVersion}`);
yield installer_1.default(hugoVersion); yield installer_1.default(hugoVersion);
yield dump(); yield dump();
} }
@@ -56,3 +53,4 @@ function run() {
}); });
} }
run(); run();
//# sourceMappingURL=index.js.map

1
lib/index.js.map Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,oDAAsC;AACtC,oDAAsC;AACtC,8EAAoD;AACpD,4DAAoC;AAGpC,SAAe,GAAG;;QAChB,MAAM,IAAI,GAAG,GAAS,EAAE;YAEtB,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAClC,CAAC,CAAA,CAAC;QAEF,IAAI;YACF,MAAM,WAAW,GAAW,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;YAE1D,IAAI,WAAW,KAAK,EAAE,IAAI,WAAW,KAAK,QAAQ,EAAE;gBAClD,4BAAgB,EAAE,CAAC,IAAI,CACrB,UAAe,aAAa;;wBAC1B,OAAO,CAAC,GAAG,CAAC,iBAAiB,aAAa,KAAK,WAAW,GAAG,CAAC,CAAC;wBAC/D,MAAM,mBAAS,CAAC,aAAa,CAAC,CAAC;wBAC/B,MAAM,IAAI,EAAE,CAAC;oBACf,CAAC;iBAAA,EACD,UAAS,KAAK;oBACZ,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBACxB,CAAC,CACF,CAAC;aACH;iBAAM;gBACL,OAAO,CAAC,GAAG,CAAC,iBAAiB,WAAW,EAAE,CAAC,CAAC;gBAC5C,MAAM,mBAAS,CAAC,WAAW,CAAC,CAAC;gBAC7B,MAAM,IAAI,EAAE,CAAC;aACd;SACF;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;SAC/B;IACH,CAAC;CAAA;AAED,GAAG,EAAE,CAAC"}

View File

@@ -36,7 +36,6 @@ function installer(version) {
const hugoPath = `${process.env.HOME}/bin`; const hugoPath = `${process.env.HOME}/bin`;
yield io.mkdirP(hugoPath); yield io.mkdirP(hugoPath);
core.addPath(hugoPath); core.addPath(hugoPath);
// Download and extract Hugo binary
const hugoAssets = yield tc.downloadTool(hugoURL); const hugoAssets = yield tc.downloadTool(hugoURL);
let hugoBin = ''; let hugoBin = '';
if (osName === 'Windows') { if (osName === 'Windows') {
@@ -55,3 +54,4 @@ function installer(version) {
}); });
} }
exports.default = installer; exports.default = installer;
//# sourceMappingURL=installer.js.map

1
lib/installer.js.map Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"installer.js","sourceRoot":"","sources":["../src/installer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,oDAAsC;AACtC,wDAA0C;AAC1C,gDAAkC;AAClC,sDAA6B;AAC7B,wDAA+B;AAE/B,SAA8B,SAAS,CAAC,OAAe;;QACrD,IAAI;YACF,MAAM,QAAQ,GAAW,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACnD,OAAO,CAAC,GAAG,CAAC,kBAAkB,QAAQ,EAAE,CAAC,CAAC;YAE1C,MAAM,MAAM,GAAW,gBAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC/C,OAAO,CAAC,GAAG,CAAC,qBAAqB,MAAM,EAAE,CAAC,CAAC;YAE3C,MAAM,OAAO,GAAW,iBAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC1D,IAAI,CAAC,KAAK,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC;YAElC,MAAM,QAAQ,GAAW,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC;YACnD,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC1B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAGvB,MAAM,UAAU,GAAW,MAAM,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YAC1D,IAAI,OAAO,GAAW,EAAE,CAAC;YACzB,IAAI,MAAM,KAAK,SAAS,EAAE;gBACxB,MAAM,mBAAmB,GAAW,MAAM,EAAE,CAAC,UAAU,CACrD,UAAU,EACV,MAAM,CACP,CAAC;gBACF,OAAO,GAAG,GAAG,mBAAmB,WAAW,CAAC;aAC7C;iBAAM;gBACL,MAAM,mBAAmB,GAAW,MAAM,EAAE,CAAC,UAAU,CACrD,UAAU,EACV,MAAM,CACP,CAAC;gBACF,OAAO,GAAG,GAAG,mBAAmB,OAAO,CAAC;aACzC;YACD,MAAM,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;SAChC;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;SAC/B;IACH,CAAC;CAAA;AAnCD,4BAmCC"}

View File

@@ -1,7 +0,0 @@
Copyright 2019 GitHub
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

40
node_modules/@actions/core/README.md generated vendored
View File

@@ -4,45 +4,53 @@
## Usage ## Usage
#### Inputs/Outputs ### Import the package
You can use this library to get inputs or set outputs:
```js ```js
// javascript
const core = require('@actions/core'); const core = require('@actions/core');
const myInput = core.getInput('inputName', { required: true }); // typescript
import * as core from '@actions/core';
```
// Do stuff #### Inputs/Outputs
Action inputs can be read with `getInput`. Outputs can be set with `setOutput` which makes them available to be mapped into inputs of other actions to ensure they are decoupled.
```js
const myInput = core.getInput('inputName', { required: true });
core.setOutput('outputKey', 'outputVal'); core.setOutput('outputKey', 'outputVal');
``` ```
#### Exporting variables #### Exporting variables
You can also export variables for future steps. Variables get set in the environment. Since each step runs in a separate process, you can use `exportVariable` to add it to this step and future steps environment blocks.
```js ```js
const core = require('@actions/core');
// Do stuff
core.exportVariable('envVar', 'Val'); core.exportVariable('envVar', 'Val');
``` ```
#### Setting a secret
Setting a secret registers the secret with the runner to ensure it is masked in logs.
```js
core.setSecret('myPassword');
```
#### PATH Manipulation #### PATH Manipulation
You can explicitly add items to the path for all remaining steps in a workflow: To make a tool's path available in the path for the remainder of the job (without altering the machine or containers state), use `addPath`. The runner will prepend the path given to the jobs PATH.
```js ```js
const core = require('@actions/core'); core.addPath('/path/to/mytool');
core.addPath('pathToTool');
``` ```
#### Exit codes #### Exit codes
You should use this library to set the failing exit code for your action: You should use this library to set the failing exit code for your action. If status is not set and the script runs to completion, that will lead to a success.
```js ```js
const core = require('@actions/core'); const core = require('@actions/core');
@@ -55,6 +63,8 @@ catch (err) {
core.setFailed(`Action failed with error ${err}`); core.setFailed(`Action failed with error ${err}`);
} }
Note that `setNeutral` is not yet implemented in actions V2 but equivalent functionality is being planned.
``` ```
#### Logging #### Logging

View File

@@ -20,7 +20,7 @@ function issue(name, message = '') {
issueCommand(name, {}, message); issueCommand(name, {}, message);
} }
exports.issue = issue; exports.issue = issue;
const CMD_PREFIX = '##['; const CMD_STRING = '::';
class Command { class Command {
constructor(command, properties, message) { constructor(command, properties, message) {
if (!command) { if (!command) {
@@ -31,7 +31,7 @@ class Command {
this.message = message; this.message = message;
} }
toString() { toString() {
let cmdStr = CMD_PREFIX + this.command; let cmdStr = CMD_STRING + this.command;
if (this.properties && Object.keys(this.properties).length > 0) { if (this.properties && Object.keys(this.properties).length > 0) {
cmdStr += ' '; cmdStr += ' ';
for (const key in this.properties) { for (const key in this.properties) {
@@ -40,12 +40,12 @@ class Command {
if (val) { if (val) {
// safely append the val - avoid blowing up when attempting to // safely append the val - avoid blowing up when attempting to
// call .replace() if message is not a string for some reason // call .replace() if message is not a string for some reason
cmdStr += `${key}=${escape(`${val || ''}`)};`; cmdStr += `${key}=${escape(`${val || ''}`)},`;
} }
} }
} }
} }
cmdStr += ']'; cmdStr += CMD_STRING;
// safely append the message - avoid blowing up when attempting to // safely append the message - avoid blowing up when attempting to
// call .replace() if message is not a string for some reason // call .replace() if message is not a string for some reason
const message = `${this.message || ''}`; const message = `${this.message || ''}`;

View File

@@ -1 +1 @@
{"version":3,"file":"command.js","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":";;AAAA,yBAAwB;AAQxB;;;;;;;;;GASG;AACH,SAAgB,YAAY,CAC1B,OAAe,EACf,UAA6B,EAC7B,OAAe;IAEf,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;IACrD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAA;AAC/C,CAAC;AAPD,oCAOC;AAED,SAAgB,KAAK,CAAC,IAAY,EAAE,UAAkB,EAAE;IACtD,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;AACjC,CAAC;AAFD,sBAEC;AAED,MAAM,UAAU,GAAG,KAAK,CAAA;AAExB,MAAM,OAAO;IAKX,YAAY,OAAe,EAAE,UAA6B,EAAE,OAAe;QACzE,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,GAAG,iBAAiB,CAAA;SAC5B;QAED,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,QAAQ;QACN,IAAI,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC,OAAO,CAAA;QAEtC,IAAI,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YAC9D,MAAM,IAAI,GAAG,CAAA;YACb,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE;gBACjC,IAAI,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;oBACvC,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;oBAChC,IAAI,GAAG,EAAE;wBACP,8DAA8D;wBAC9D,6DAA6D;wBAC7D,MAAM,IAAI,GAAG,GAAG,IAAI,MAAM,CAAC,GAAG,GAAG,IAAI,EAAE,EAAE,CAAC,GAAG,CAAA;qBAC9C;iBACF;aACF;SACF;QAED,MAAM,IAAI,GAAG,CAAA;QAEb,kEAAkE;QAClE,6DAA6D;QAC7D,MAAM,OAAO,GAAG,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,CAAA;QACvC,MAAM,IAAI,UAAU,CAAC,OAAO,CAAC,CAAA;QAE7B,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAED,SAAS,UAAU,CAAC,CAAS;IAC3B,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AACtD,CAAC;AAED,SAAS,MAAM,CAAC,CAAS;IACvB,OAAO,CAAC;SACL,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;SACpB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;AACzB,CAAC"} {"version":3,"file":"command.js","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":";;AAAA,yBAAwB;AAQxB;;;;;;;;;GASG;AACH,SAAgB,YAAY,CAC1B,OAAe,EACf,UAA6B,EAC7B,OAAe;IAEf,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;IACrD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAA;AAC/C,CAAC;AAPD,oCAOC;AAED,SAAgB,KAAK,CAAC,IAAY,EAAE,UAAkB,EAAE;IACtD,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;AACjC,CAAC;AAFD,sBAEC;AAED,MAAM,UAAU,GAAG,IAAI,CAAA;AAEvB,MAAM,OAAO;IAKX,YAAY,OAAe,EAAE,UAA6B,EAAE,OAAe;QACzE,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,GAAG,iBAAiB,CAAA;SAC5B;QAED,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,QAAQ;QACN,IAAI,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC,OAAO,CAAA;QAEtC,IAAI,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YAC9D,MAAM,IAAI,GAAG,CAAA;YACb,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE;gBACjC,IAAI,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;oBACvC,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;oBAChC,IAAI,GAAG,EAAE;wBACP,8DAA8D;wBAC9D,6DAA6D;wBAC7D,MAAM,IAAI,GAAG,GAAG,IAAI,MAAM,CAAC,GAAG,GAAG,IAAI,EAAE,EAAE,CAAC,GAAG,CAAA;qBAC9C;iBACF;aACF;SACF;QAED,MAAM,IAAI,UAAU,CAAA;QAEpB,kEAAkE;QAClE,6DAA6D;QAC7D,MAAM,OAAO,GAAG,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,CAAA;QACvC,MAAM,IAAI,UAAU,CAAC,OAAO,CAAC,CAAA;QAE7B,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAED,SAAS,UAAU,CAAC,CAAS;IAC3B,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AACtD,CAAC;AAED,SAAS,MAAM,CAAC,CAAS;IACvB,OAAO,CAAC;SACL,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;SACpB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;AACzB,CAAC"}

View File

@@ -19,17 +19,16 @@ export declare enum ExitCode {
Failure = 1 Failure = 1
} }
/** /**
* sets env variable for this action and future actions in the job * Sets env variable for this action and future actions in the job
* @param name the name of the variable to set * @param name the name of the variable to set
* @param val the value of the variable * @param val the value of the variable
*/ */
export declare function exportVariable(name: string, val: string): void; export declare function exportVariable(name: string, val: string): void;
/** /**
* exports the variable and registers a secret which will get masked from logs * Registers a secret which will get masked from logs
* @param name the name of the variable to set * @param secret value of the secret
* @param val value of the secret
*/ */
export declare function exportSecret(name: string, val: string): void; export declare function setSecret(secret: string): void;
/** /**
* Prepends inputPath to the PATH (for this action and future actions) * Prepends inputPath to the PATH (for this action and future actions)
* @param inputPath * @param inputPath
@@ -71,6 +70,11 @@ export declare function error(message: string): void;
* @param message warning issue message * @param message warning issue message
*/ */
export declare function warning(message: string): void; export declare function warning(message: string): void;
/**
* Writes info to log with console.log.
* @param message info message
*/
export declare function info(message: string): void;
/** /**
* Begin an output group. * Begin an output group.
* *

View File

@@ -10,6 +10,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
}; };
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
const command_1 = require("./command"); const command_1 = require("./command");
const os = require("os");
const path = require("path"); const path = require("path");
/** /**
* The code to exit an action * The code to exit an action
@@ -29,7 +30,7 @@ var ExitCode;
// Variables // Variables
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
/** /**
* sets env variable for this action and future actions in the job * Sets env variable for this action and future actions in the job
* @param name the name of the variable to set * @param name the name of the variable to set
* @param val the value of the variable * @param val the value of the variable
*/ */
@@ -39,18 +40,13 @@ function exportVariable(name, val) {
} }
exports.exportVariable = exportVariable; exports.exportVariable = exportVariable;
/** /**
* exports the variable and registers a secret which will get masked from logs * Registers a secret which will get masked from logs
* @param name the name of the variable to set * @param secret value of the secret
* @param val value of the secret
*/ */
function exportSecret(name, val) { function setSecret(secret) {
exportVariable(name, val); command_1.issueCommand('add-mask', {}, secret);
// the runner will error with not implemented
// leaving the function but raising the error earlier
command_1.issueCommand('set-secret', {}, val);
throw new Error('Not implemented.');
} }
exports.exportSecret = exportSecret; exports.setSecret = setSecret;
/** /**
* Prepends inputPath to the PATH (for this action and future actions) * Prepends inputPath to the PATH (for this action and future actions)
* @param inputPath * @param inputPath
@@ -68,7 +64,7 @@ exports.addPath = addPath;
* @returns string * @returns string
*/ */
function getInput(name, options) { function getInput(name, options) {
const val = process.env[`INPUT_${name.replace(' ', '_').toUpperCase()}`] || ''; const val = process.env[`INPUT_${name.replace(/ /g, '_').toUpperCase()}`] || '';
if (options && options.required && !val) { if (options && options.required && !val) {
throw new Error(`Input required and not supplied: ${name}`); throw new Error(`Input required and not supplied: ${name}`);
} }
@@ -125,6 +121,14 @@ function warning(message) {
command_1.issue('warning', message); command_1.issue('warning', message);
} }
exports.warning = warning; exports.warning = warning;
/**
* Writes info to log with console.log.
* @param message info message
*/
function info(message) {
process.stdout.write(message + os.EOL);
}
exports.info = info;
/** /**
* Begin an output group. * Begin an output group.
* *

View File

@@ -1 +1 @@
{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"} {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}

View File

@@ -1,15 +1,38 @@
{ {
"name": "@actions/core", "_from": "@actions/core@^1.1.3",
"version": "1.1.0", "_id": "@actions/core@1.1.3",
"description": "Actions core lib", "_inBundle": false,
"keywords": [ "_integrity": "sha512-2BIib53Jh4Cfm+1XNuZYYGTeRo8yiWEAUMoliMh1qQGMaqTF4VUlhhcsBylTu4qWmUx45DrY0y0XskimAHSqhw==",
"github", "_location": "/@actions/core",
"actions", "_phantomChildren": {},
"core" "_requested": {
"type": "range",
"registry": true,
"raw": "@actions/core@^1.1.3",
"name": "@actions/core",
"escapedName": "@actions%2fcore",
"scope": "@actions",
"rawSpec": "^1.1.3",
"saveSpec": null,
"fetchSpec": "^1.1.3"
},
"_requiredBy": [
"/",
"/@actions/tool-cache"
], ],
"homepage": "https://github.com/actions/toolkit/tree/master/packages/core", "_resolved": "https://registry.npmjs.org/@actions/core/-/core-1.1.3.tgz",
"license": "MIT", "_shasum": "543b0e7ca0e53dccc5dca4811a4fac59c1b35f5c",
"main": "lib/core.js", "_spec": "@actions/core@^1.1.3",
"_where": "/Users/iris/Documents/repos/github.com/peaceiris/actions-hugo",
"bugs": {
"url": "https://github.com/actions/toolkit/issues"
},
"bundleDependencies": false,
"deprecated": false,
"description": "Actions core lib",
"devDependencies": {
"@types/node": "^12.0.2"
},
"directories": { "directories": {
"lib": "lib", "lib": "lib",
"test": "__tests__" "test": "__tests__"
@@ -17,26 +40,26 @@
"files": [ "files": [
"lib" "lib"
], ],
"homepage": "https://github.com/actions/toolkit/tree/master/packages/core",
"keywords": [
"github",
"actions",
"core"
],
"license": "MIT",
"main": "lib/core.js",
"name": "@actions/core",
"publishConfig": { "publishConfig": {
"access": "public" "access": "public"
}, },
"repository": { "repository": {
"type": "git", "type": "git",
"url": "git+https://github.com/actions/toolkit.git" "url": "git+https://github.com/actions/toolkit.git",
"directory": "packages/core"
}, },
"scripts": { "scripts": {
"test": "echo \"Error: run tests from root\" && exit 1", "test": "echo \"Error: run tests from root\" && exit 1",
"tsc": "tsc" "tsc": "tsc"
}, },
"bugs": { "version": "1.1.3"
"url": "https://github.com/actions/toolkit/issues"
},
"devDependencies": {
"@types/node": "^12.0.2"
},
"gitHead": "a2ab4bcf78e4f7080f0d45856e6eeba16f0bbc52"
,"_resolved": "https://registry.npmjs.org/@actions/core/-/core-1.1.0.tgz"
,"_integrity": "sha512-KKpo3xzo0Zsikni9tbOsEQkxZBGDsYSJZNkTvmo0gPSXrc98TBOcdTvKwwjitjkjHkreTggWdB1ACiAFVgsuzA=="
,"_from": "@actions/core@1.1.0"
} }

View File

@@ -1,7 +0,0 @@
Copyright 2019 GitHub
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View File

@@ -11,7 +11,7 @@ You can use this to download tools (or other files) from a download URL:
```js ```js
const tc = require('@actions/tool-cache'); const tc = require('@actions/tool-cache');
const node12Path = await tc.downloadTool('http://nodejs.org/dist/v12.7.0/node-v12.7.0-linux-x64.tar.gz'); const node12Path = await tc.downloadTool('https://nodejs.org/dist/v12.7.0/node-v12.7.0-linux-x64.tar.gz');
``` ```
#### Extract #### Extract
@@ -22,15 +22,15 @@ These can then be extracted in platform specific ways:
const tc = require('@actions/tool-cache'); const tc = require('@actions/tool-cache');
if (process.platform === 'win32') { if (process.platform === 'win32') {
const node12Path = tc.downloadTool('http://nodejs.org/dist/v12.7.0/node-v12.7.0-win-x64.zip'); const node12Path = tc.downloadTool('https://nodejs.org/dist/v12.7.0/node-v12.7.0-win-x64.zip');
const node12ExtractedFolder = await tc.extractZip(node12Path, 'path/to/extract/to'); const node12ExtractedFolder = await tc.extractZip(node12Path, 'path/to/extract/to');
// Or alternately // Or alternately
const node12Path = tc.downloadTool('http://nodejs.org/dist/v12.7.0/node-v12.7.0-win-x64.7z'); const node12Path = tc.downloadTool('https://nodejs.org/dist/v12.7.0/node-v12.7.0-win-x64.7z');
const node12ExtractedFolder = await tc.extract7z(node12Path, 'path/to/extract/to'); const node12ExtractedFolder = await tc.extract7z(node12Path, 'path/to/extract/to');
} }
else { else {
const node12Path = await tc.downloadTool('http://nodejs.org/dist/v12.7.0/node-v12.7.0-linux-x64.tar.gz'); const node12Path = await tc.downloadTool('https://nodejs.org/dist/v12.7.0/node-v12.7.0-linux-x64.tar.gz');
const node12ExtractedFolder = await tc.extractTar(node12Path, 'path/to/extract/to'); const node12ExtractedFolder = await tc.extractTar(node12Path, 'path/to/extract/to');
} }
``` ```
@@ -45,7 +45,7 @@ You'll often want to add it to the path as part of this step:
const tc = require('@actions/tool-cache'); const tc = require('@actions/tool-cache');
const core = require('@actions/core'); const core = require('@actions/core');
const node12Path = await tc.downloadTool('http://nodejs.org/dist/v12.7.0/node-v12.7.0-linux-x64.tar.gz'); const node12Path = await tc.downloadTool('https://nodejs.org/dist/v12.7.0/node-v12.7.0-linux-x64.tar.gz');
const node12ExtractedFolder = await tc.extractTar(node12Path, 'path/to/extract/to'); const node12ExtractedFolder = await tc.extractTar(node12Path, 'path/to/extract/to');
const cachedPath = await tc.cacheDir(node12ExtractedFolder, 'node', '12.7.0'); const cachedPath = await tc.cacheDir(node12ExtractedFolder, 'node', '12.7.0');

View File

@@ -218,12 +218,7 @@ function extractZip(file, dest) {
yield extractZipWin(file, dest); yield extractZipWin(file, dest);
} }
else { else {
if (process.platform === 'darwin') { yield extractZipNix(file, dest);
yield extractZipDarwin(file, dest);
}
else {
yield extractZipNix(file, dest);
}
} }
return dest; return dest;
}); });
@@ -252,13 +247,7 @@ function extractZipWin(file, dest) {
} }
function extractZipNix(file, dest) { function extractZipNix(file, dest) {
return __awaiter(this, void 0, void 0, function* () { return __awaiter(this, void 0, void 0, function* () {
const unzipPath = path.join(__dirname, '..', 'scripts', 'externals', 'unzip'); const unzipPath = yield io.which('unzip');
yield exec_1.exec(`"${unzipPath}"`, [file], { cwd: dest });
});
}
function extractZipDarwin(file, dest) {
return __awaiter(this, void 0, void 0, function* () {
const unzipPath = path.join(__dirname, '..', 'scripts', 'externals', 'unzip-darwin');
yield exec_1.exec(`"${unzipPath}"`, [file], { cwd: dest }); yield exec_1.exec(`"${unzipPath}"`, [file], { cwd: dest });
}); });
} }

File diff suppressed because one or more lines are too long

View File

@@ -1,15 +1,48 @@
{ {
"name": "@actions/tool-cache", "_from": "@actions/tool-cache@^1.1.2",
"version": "1.1.1", "_id": "@actions/tool-cache@1.1.2",
"description": "Actions tool-cache lib", "_inBundle": false,
"keywords": [ "_integrity": "sha512-IJczPaZr02ECa3Lgws/TJEVco9tjOujiQSZbO3dHuXXjhd5vrUtfOgGwhmz3/f97L910OraPZ8SknofUk6RvOQ==",
"github", "_location": "/@actions/tool-cache",
"actions", "_phantomChildren": {},
"exec" "_requested": {
"type": "range",
"registry": true,
"raw": "@actions/tool-cache@^1.1.2",
"name": "@actions/tool-cache",
"escapedName": "@actions%2ftool-cache",
"scope": "@actions",
"rawSpec": "^1.1.2",
"saveSpec": null,
"fetchSpec": "^1.1.2"
},
"_requiredBy": [
"/"
], ],
"homepage": "https://github.com/actions/toolkit/tree/master/packages/exec", "_resolved": "https://registry.npmjs.org/@actions/tool-cache/-/tool-cache-1.1.2.tgz",
"license": "MIT", "_shasum": "304d44cecb9547324731e03ca004a3905e6530d2",
"main": "lib/tool-cache.js", "_spec": "@actions/tool-cache@^1.1.2",
"_where": "/Users/iris/Documents/repos/github.com/peaceiris/actions-hugo",
"bugs": {
"url": "https://github.com/actions/toolkit/issues"
},
"bundleDependencies": false,
"dependencies": {
"@actions/core": "^1.1.0",
"@actions/exec": "^1.0.1",
"@actions/io": "^1.0.1",
"semver": "^6.1.0",
"typed-rest-client": "^1.4.0",
"uuid": "^3.3.2"
},
"deprecated": false,
"description": "Actions tool-cache lib",
"devDependencies": {
"@types/nock": "^10.0.3",
"@types/semver": "^6.0.0",
"@types/uuid": "^3.4.4",
"nock": "^10.0.6"
},
"directories": { "directories": {
"lib": "lib", "lib": "lib",
"test": "__tests__" "test": "__tests__"
@@ -18,6 +51,15 @@
"lib", "lib",
"scripts" "scripts"
], ],
"homepage": "https://github.com/actions/toolkit/tree/master/packages/exec",
"keywords": [
"github",
"actions",
"exec"
],
"license": "MIT",
"main": "lib/tool-cache.js",
"name": "@actions/tool-cache",
"publishConfig": { "publishConfig": {
"access": "public" "access": "public"
}, },
@@ -29,26 +71,5 @@
"test": "echo \"Error: run tests from root\" && exit 1", "test": "echo \"Error: run tests from root\" && exit 1",
"tsc": "tsc" "tsc": "tsc"
}, },
"bugs": { "version": "1.1.2"
"url": "https://github.com/actions/toolkit/issues"
},
"dependencies": {
"@actions/core": "^1.1.0",
"@actions/exec": "^1.0.1",
"@actions/io": "^1.0.1",
"semver": "^6.1.0",
"typed-rest-client": "^1.4.0",
"uuid": "^3.3.2"
},
"devDependencies": {
"@types/nock": "^10.0.3",
"@types/semver": "^6.0.0",
"@types/uuid": "^3.4.4",
"nock": "^10.0.6"
},
"gitHead": "a2ab4bcf78e4f7080f0d45856e6eeba16f0bbc52"
,"_resolved": "https://registry.npmjs.org/@actions/tool-cache/-/tool-cache-1.1.1.tgz"
,"_integrity": "sha512-AILekrrj/L4N/5z5TGtUKVie4nKjxDioCgOEymyYxzPhGfjIxfE71tN2VTTpiICEWJ883rPRj2+WinTr1b6yVA=="
,"_from": "@actions/tool-cache@1.1.1"
} }

Binary file not shown.

Binary file not shown.

851
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{ {
"name": "hugo-action", "name": "hugo-action",
"version": "2.1.0", "version": "2.2.0",
"description": "Hugo setup action", "description": "Hugo setup action",
"main": "lib/index.js", "main": "lib/index.js",
"scripts": { "scripts": {
@@ -12,6 +12,21 @@
"format": "prettier --write **/*.ts", "format": "prettier --write **/*.ts",
"format:check": "prettier --check **/*.ts" "format:check": "prettier --check **/*.ts"
}, },
"husky": {
"skipCI": true,
"hooks": {
"pre-commit": "lint-staged",
"post-commit": "npm run tsc && npm run build && echo '⚠️ Do not forget to Commit and Push ./lib and ./node_modules'"
}
},
"lint-staged": {
"src/**/*.ts": [
"prettier --check",
"eslint",
"jest --bail --findRelatedTests",
"git add"
]
},
"repository": { "repository": {
"type": "git", "type": "git",
"url": "git+https://github.com/peaceiris/actions-hugo.git" "url": "git+https://github.com/peaceiris/actions-hugo.git"
@@ -20,7 +35,9 @@
"GitHub", "GitHub",
"Actions", "Actions",
"JavaScript", "JavaScript",
"Hugo" "TypeScript",
"Hugo",
"Setup"
], ],
"author": "peaceiris", "author": "peaceiris",
"license": "MIT", "license": "MIT",
@@ -29,29 +46,23 @@
}, },
"homepage": "https://github.com/peaceiris/actions-hugo#readme", "homepage": "https://github.com/peaceiris/actions-hugo#readme",
"dependencies": { "dependencies": {
"@actions/core": "^1.1.0", "@actions/core": "^1.1.3",
"@actions/exec": "^1.0.1", "@actions/exec": "^1.0.1",
"@actions/io": "^1.0.1", "@actions/io": "^1.0.1",
"@actions/tool-cache": "^1.1.1", "@actions/tool-cache": "^1.1.2",
"xmlhttprequest": "^1.8.0" "xmlhttprequest": "^1.8.0"
}, },
"devDependencies": { "devDependencies": {
"@types/jest": "^24.0.18", "@types/jest": "^24.0.18",
"@types/node": "^12.7.5", "@types/node": "^12.7.11",
"@typescript-eslint/parser": "^2.3.0", "@typescript-eslint/parser": "^2.3.2",
"eslint": "^6.4.0", "eslint": "^6.5.1",
"husky": "^3.0.5", "husky": "^3.0.8",
"jest": "^24.9.0", "jest": "^24.9.0",
"jest-circus": "^24.9.0", "jest-circus": "^24.9.0",
"lint-staged": "^9.4.1",
"prettier": "1.18.2", "prettier": "1.18.2",
"ts-jest": "^24.1.0", "ts-jest": "^24.1.0",
"typescript": "^3.6.3" "typescript": "^3.6.3"
},
"husky": {
"skipCI": true,
"hooks": {
"pre-commit": "npm run tsc && npm run format",
"post-commit": "npm run build && git add node_modules/* && git commit -m \"deps: Husky commit correct node modules\""
}
} }
} }

View File

@@ -8,17 +8,15 @@ async function run() {
const dump = async () => { const dump = async () => {
// Show version // Show version
await exec.exec('hugo version'); await exec.exec('hugo version');
await exec.exec('go version');
await exec.exec('git --version');
}; };
try { try {
const hugoVersion: string = core.getInput('hugo-version'); const hugoVersion: string = core.getInput('hugo-version');
console.log(`Hugo version: ${hugoVersion}`);
if (hugoVersion === '' || hugoVersion === 'latest') { if (hugoVersion === '' || hugoVersion === 'latest') {
getLatestVersion().then( getLatestVersion().then(
async function(latestVersion): Promise<void> { async function(latestVersion): Promise<void> {
console.log(`Hugo version: ${latestVersion} (${hugoVersion})`);
await installer(latestVersion); await installer(latestVersion);
await dump(); await dump();
}, },
@@ -27,6 +25,7 @@ async function run() {
} }
); );
} else { } else {
console.log(`Hugo version: ${hugoVersion}`);
await installer(hugoVersion); await installer(hugoVersion);
await dump(); await dump();
} }

View File

@@ -9,13 +9,13 @@
// "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */ // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */
// "declaration": true, /* Generates corresponding '.d.ts' file. */ // "declaration": true, /* Generates corresponding '.d.ts' file. */
// "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */ // "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */
// "sourceMap": true, /* Generates corresponding '.map' file. */ "sourceMap": true, /* Generates corresponding '.map' file. */
// "outFile": "./", /* Concatenate and emit output to single file. */ // "outFile": "./", /* Concatenate and emit output to single file. */
"outDir": "./lib", /* Redirect output structure to the directory. */ "outDir": "./lib", /* Redirect output structure to the directory. */
"rootDir": "./src", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */ "rootDir": "./src", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */
// "composite": true, /* Enable project compilation */ // "composite": true, /* Enable project compilation */
// "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */ // "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */
// "removeComments": true, /* Do not emit comments to output. */ "removeComments": true, /* Do not emit comments to output. */
// "noEmit": true, /* Do not emit outputs. */ // "noEmit": true, /* Do not emit outputs. */
// "importHelpers": true, /* Import emit helpers from 'tslib'. */ // "importHelpers": true, /* Import emit helpers from 'tslib'. */
// "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ // "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */