Compare commits

..

65 Commits

Author SHA1 Message Date
peaceiris
d906f2610b chore(release): 2.4.1 2020-01-18 12:36:54 +09:00
peaceiris
bb87612dba chore(release): Add build assets 2020-01-18 12:36:54 +09:00
Shohei Ueda
6281061c0d test: Add test for extended option (#134) 2020-01-18 12:33:56 +09:00
Shohei Ueda
8323a17f96 chore: Update description 2020-01-18 12:23:58 +09:00
Shohei Ueda
283bc47636 refactor: main and installer (#133)
* refactor: installer
* test: Fix workDir cleanup
2020-01-18 12:07:13 +09:00
Shohei Ueda
442aa4dbd4 test: Add unit testing (get-latest-version) (#132) 2020-01-18 11:11:17 +09:00
Shohei Ueda
386980e22b test: Add integration testing (#131)
* docs: Update description
* deps: Add nock
* chore: Add resolveJsonModule
* test: Add integration testing
* chore: Add @typescript-eslint/eslint-plugin
* refactor: Fix lint errors
* chore: Add eslint-plugin-jest
* refactor: Fix lint errors
* test: Add remove working files
* ci: Comment out cache steps
2020-01-18 10:29:06 +09:00
Shohei Ueda
477d977a96 docs: Update execution time 2020-01-18 04:38:39 +09:00
Shohei Ueda
4642226db0 refactor: Use node-fetch instead of xmlhttprequest (#130)
* deps: Add node-fetch, remove xmlhttprequest
* refactor: Use node-fetch instead of xmlhttprequest
2020-01-18 04:36:10 +09:00
peaceiris
3130d100df docs: Add Coverage Status badge [skip ci] 2020-01-18 02:59:59 +09:00
Shohei Ueda
66bce0558a test: Enable Coveralls (#129) 2020-01-18 02:48:31 +09:00
Shohei Ueda
d226d51229 ci: Comment out push event [skip ci] 2020-01-18 02:18:31 +09:00
Shohei Ueda
37cc539052 ci: Add action test workflow 2020-01-18 02:16:00 +09:00
peaceiris
48ef2dbba3 chore: Remove extra title [skip ci] 2020-01-18 02:09:21 +09:00
peaceiris
5817344f90 chore(release): Remove build assets [skip ci] 2020-01-18 01:59:40 +09:00
peaceiris
92ca1cb5bb chore(release): 2.4.0 2020-01-18 01:59:40 +09:00
peaceiris
1b689687f3 chore(release): Add build assets 2020-01-18 01:59:39 +09:00
peaceiris
76e22f1114 docs: Reindent [skip ci] 2020-01-18 01:56:05 +09:00
peaceiris
490ab9b0a4 docs: Add back to TOC link 2020-01-18 01:54:59 +09:00
peaceiris
3d1e811264 docs: Add new sections 2020-01-18 01:50:49 +09:00
peaceiris
6a39a0f0e5 docs: Bump Hugo version v0.62.2 2020-01-18 01:46:42 +09:00
peaceiris
fbf2ba3b8b ci: Add [skip ci] 2020-01-18 01:40:52 +09:00
peaceiris
9d8553d36d ci: Add release workflow [skip ci] 2020-01-18 01:40:06 +09:00
peaceiris
7d9bfa0c1d ci: Enhance tag creation 2020-01-18 01:39:09 +09:00
peaceiris
5ce129c278 chore: Add .DS_Store [skip ci] 2020-01-18 01:12:59 +09:00
peaceiris
7496c44053 test: Add Docker container for testing [skip ci] 2020-01-18 01:10:09 +09:00
peaceiris
dc9576430f chore: Add standard-version [skip ci] 2020-01-18 01:07:24 +09:00
peaceiris
3b68672699 chore: Remove .gitattributes [skip ci] 2020-01-18 00:55:20 +09:00
Shohei Ueda
6a7231ef83 deps: update (#126) 2020-01-18 00:52:59 +09:00
Shohei Ueda
4331a62207 chore: Add task to autorun npm ci [skip ci] (#128) 2020-01-18 00:52:16 +09:00
Shohei Ueda
7dc067063b chore: Disable branch execution (#125) 2020-01-18 00:44:07 +09:00
Shohei Ueda
57168bc2bc chore: Update LICENSE year 2020-01-16 17:42:37 +09:00
Shohei Ueda
cca78d865e deps: upgrade node v12.14.1 (#119) 2020-01-10 10:20:50 +09:00
Shohei Ueda
bad8e7f80f deps: update (#118) 2020-01-10 10:16:11 +09:00
Shohei Ueda
ca3c62d21c feat: update deps (#110) 2019-12-23 17:40:26 +09:00
Shohei Ueda
25520f73cd feat: update node 12.14.0 (#105) 2019-12-19 04:20:34 +09:00
Shohei Ueda
5e6d8b50e2 feat: update deps (#104) 2019-12-18 07:08:02 +09:00
peaceiris
d006b81d18 docs: update hugo-version to v0.61.0 2019-12-18 07:04:13 +09:00
peaceiris
1fa5fb2f2e docs: add link to peaceiris/hugo-extended-docker 2019-12-18 07:01:35 +09:00
Shohei Ueda
f21cef4446 chore: fix tag push 2019-12-14 21:27:59 +09:00
peaceiris
754a1d28dd chore: Add .gitattributes 2019-12-14 19:38:51 +09:00
peaceiris
ae65d5c8e9 2.3.2 2019-12-14 18:46:47 +09:00
Shohei Ueda
10f36c7c91 feat: update deps (#103) 2019-12-14 17:59:17 +09:00
Shohei Ueda
236e039b5f chore: update actions/checkout to v2 2019-12-14 17:46:47 +09:00
Shohei Ueda
2f904a6aa6 chore: enhance workflow 2019-12-14 17:42:59 +09:00
Shohei Ueda
2b3acb31e4 chore: Add message 2019-12-10 13:50:09 +09:00
Shohei Ueda
f14d276121 chore: Enhance syntax 2019-12-09 18:58:26 +09:00
Shohei Ueda
9eb8f9e108 Update purge-readme-image-cache.yml 2019-12-09 10:38:30 +09:00
peaceiris
69200f8579 gha: Remove push trigger 2019-12-08 17:46:26 +09:00
peaceiris
3cf50c6d11 gha: Add push trigger 2019-12-08 17:45:29 +09:00
peaceiris
900499cd1c gha: Remove push trigger 2019-12-08 17:27:29 +09:00
peaceiris
da7c321b3b gha: Add workflow to purge readme image cache 2019-12-08 17:21:16 +09:00
Shohei Ueda
739a95f1e7 gha: Enhance workflows (#102)
* gha: Add Pull Request to stale target
* gha: Add ncc check step (Close #98 )
* src: Rename showVersion()
* test: Add not to be cases
* Remove old comment
* gha: Add update major tag workflow (Close #97 )
2019-12-08 15:45:59 +09:00
Shohei Ueda
bc6f48c683 deps: update (#101) 2019-12-08 13:07:31 +09:00
Shohei Ueda
cf07920706 docs: Pin peaceiris/actions-gh-pages to v2 2019-12-08 07:57:55 +09:00
peaceiris
3e0ab3eb25 gha: Pin version actions/upload-artifact to v1 2019-12-05 19:42:03 +09:00
Shohei Ueda
c5ea31b9d7 Create stale.yml 2019-12-05 17:06:35 +09:00
Shohei Ueda
bc06efb2e0 docs: Pin action version 2019-12-01 03:56:39 +09:00
Shohei Ueda
3b3c59db47 docs: Add stable tag v2 2019-11-28 20:47:38 +09:00
Shohei Ueda
b51e0ae5b4 Update README.md 2019-11-28 20:43:56 +09:00
peaceiris
8b813b0c62 deps: update 2019-11-28 00:11:39 +09:00
Shohei Ueda
638f751056 Update test.yml (#96) 2019-11-27 22:05:49 +09:00
Shohei Ueda
d04830441a Delete feature_request.md 2019-11-27 21:52:43 +09:00
Shohei Ueda
5dc353210f Update issue templates 2019-11-27 21:52:09 +09:00
peaceiris
129fcc86a6 docs: Update tag 2019-11-22 12:22:33 +09:00
34 changed files with 6130 additions and 1954 deletions

7
.dockerignore Normal file
View File

@@ -0,0 +1,7 @@
.*
!.eslintrc.json
!.prettierrc.json
coverage
node_modules

View File

@@ -4,7 +4,12 @@
"es6": true,
"node": true
},
"extends": "eslint:recommended",
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/recommended",
"plugin:@typescript-eslint/recommended",
"plugin:jest/recommended"
],
"globals": {
"Atomics": "readonly",
"SharedArrayBuffer": "readonly"

View File

@@ -1,8 +1,8 @@
---
name: Feature request
name: Proposal
about: Suggest an idea for this project
title: 'feat: This is a sample title'
labels: request
title: 'proposal: This is a sample title'
labels: proposal
assignees: peaceiris
---

View File

@@ -0,0 +1,16 @@
name: Purge image cache
on:
schedule:
- cron: '4 18 * * */7'
jobs:
purge:
runs-on: ubuntu-18.04
steps:
- run: >
curl -sL https://github.com/${GITHUB_REPOSITORY} |
grep -oE '<img src="https?://camo.githubusercontent.com/[^"]+' |
sed -e 's/<img src="//' |
xargs -I % curl -sX PURGE %

43
.github/workflows/release.yml vendored Normal file
View File

@@ -0,0 +1,43 @@
name: Release
on:
push:
tags:
- 'v*.*.*'
jobs:
release:
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@v2
- name: Dump GitHub context
env:
GITHUB_CONTEXT: ${{ toJson(github) }}
run: echo "${GITHUB_CONTEXT}"
- name: Install hub
run: |
HUB_VERSION="2.13.0"
HUB_NAME="hub-linux-amd64-${HUB_VERSION}"
HUB_TARBALL="${HUB_NAME}.tgz"
wget -q "https://github.com/github/hub/releases/download/v${HUB_VERSION}/${HUB_TARBALL}"
tar -zxvf "./${HUB_TARBALL}"
mkdir ~/bin
cp "./${HUB_NAME}/bin/hub" ~/bin/
echo "::add-path::~/bin/"
rm -rf "./${HUB_NAME}" "./${HUB_TARBALL}"
- name: Create release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
TAG_NAME="${GITHUB_REF##refs/tags/}"
echo "See [CHANGELOG.md](https://github.com/${GITHUB_REPOSITORY}/blob/${TAG_NAME}/CHANGELOG.md) for more details." > ./release_notes.md
sed -i "1iRelease ${TAG_NAME}\n" ./release_notes.md
hub release create \
--draft \
--prerelease \
--file ./release_notes.md \
"${TAG_NAME}"

17
.github/workflows/stale.yml vendored Normal file
View File

@@ -0,0 +1,17 @@
name: Stale
on:
schedule:
- cron: "6 6 * * *"
jobs:
stale:
runs-on: ubuntu-18.04
steps:
- uses: actions/stale@v1
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
stale-issue-message: 'This issue is stale because it has been open 21 days with no activity. Remove stale label or comment or this will be closed in 7 days.'
stale-pr-message: 'This pull request is stale because it has been open 21 days with no activity. Remove stale label or comment or this will be closed in 7 days.'
days-before-stale: 21
days-before-close: 7

33
.github/workflows/test-action.yml vendored Normal file
View File

@@ -0,0 +1,33 @@
name: Daily Test
on:
# push:
schedule:
- cron: '13 13 * * *'
jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os:
- 'ubuntu-18.04'
- 'macos-latest'
- 'windows-latest'
hugo-version:
- 'latest'
- '0.61.0'
extended:
- true
- false
steps:
- uses: actions/checkout@v2
- name: Setup Hugo
uses: peaceiris/actions-hugo@v2
with:
hugo-version: ${{ matrix.hugo-version }}
extended: ${{ matrix.extended }}
- run: hugo version

View File

@@ -1,73 +1,89 @@
name: 'Test'
on:
pull_request:
types: [opened, synchronize]
paths-ignore:
- '**.md'
push:
paths-ignore:
- '**.md'
branches:
- master
- master
paths-ignore:
- '**.md'
pull_request:
types:
- opened
- synchronize
paths-ignore:
- '**.md'
jobs:
test:
skipci:
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@v1
with:
fetch-depth: 1
- run: echo "[Skip CI] ${{ contains(github.event.head_commit.message, '[skip ci]') }}"
- name: Read .nvmrc
run: echo ::set-output name=NVMRC::$(cat .nvmrc)
id: nvm
- name: Setup Node
uses: actions/setup-node@v1
with:
node-version: '${{ steps.nvm.outputs.NVMRC }}'
- name: Cache
uses: actions/cache@v1.0.1
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
- run: npm ci
- run: npm run format:check
- run: npm run lint
- run: npm test
- name: Upload test coverage
uses: actions/upload-artifact@master
with:
name: coverage
path: coverage
test-prod:
test:
runs-on: ${{ matrix.os }}
needs: test
if: contains(github.event.head_commit.message, '[skip ci]') == false
strategy:
matrix:
os: ['ubuntu-18.04', 'macos-latest', 'windows-latest']
hugo-version: ['latest', '0.57.2']
extended: [true, false]
os:
- 'ubuntu-18.04'
- 'macos-latest'
- 'windows-latest'
steps:
- uses: actions/checkout@v1
with:
fetch-depth: 1
- name: Test action
uses: ./
with:
hugo-version: ${{ matrix.hugo-version }}
extended: ${{ matrix.extended }}
- uses: actions/checkout@v2
- name: Read .nvmrc
run: echo "::set-output name=NVMRC::$(cat .nvmrc)"
id: nvm
- name: Setup Node
uses: actions/setup-node@v1
with:
node-version: '${{ steps.nvm.outputs.NVMRC }}'
# - name: Get npm cache directory
# id: npm-cache
# run: |
# echo "::set-output name=dir::$(npm config get cache)"
#
# - name: Cache npm
# uses: actions/cache@v1
# with:
# path: ${{ steps.npm-cache.outputs.dir }}
# key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
# restore-keys: |
# ${{ runner.os }}-node-
- run: npm ci
- name: Run prettier
if: startsWith(matrix.os, 'ubuntu')
run: npm run format:check
- name: Run eslint
if: startsWith(matrix.os, 'ubuntu')
run: npm run lint
- name: Run ncc
if: startsWith(matrix.os, 'ubuntu')
run: npm run build
- run: npm test
- name: Upload test coverage as artifact
uses: actions/upload-artifact@v1
with:
name: coverage
path: coverage
- name: Upload test coverage to Coveralls
uses: coverallsapp/github-action@v1.0.1
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
parallel: true
- name: Coveralls Finished
uses: coverallsapp/github-action@v1.0.1
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
parallel-finished: true

23
.github/workflows/update-major-tag.yml vendored Normal file
View File

@@ -0,0 +1,23 @@
name: Update major tag
on:
release:
types: [published]
jobs:
update:
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@v2
- name: Update major tag
if: github.event.release.prerelease == false
run: |
git config user.name "${GITHUB_ACTOR}"
git config user.email "${GITHUB_ACTOR}@users.noreply.github.com"
git remote set-url origin "https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/${GITHUB_REPOSITORY}.git"
export TAG_NAME="${GITHUB_REF##refs/tags/}"
export TAG_MAJOR="${TAG_NAME%%.*}"
git tag --force -a "${TAG_MAJOR}" -m "Release ${TAG_NAME}"
git push --force origin "${TAG_MAJOR}"

1
.gitignore vendored
View File

@@ -1,3 +1,4 @@
.DS_Store
coverage
.npm
.eslintcache

2
.nvmrc
View File

@@ -1 +1 @@
12.13.0
12.14.1

80
CHANGELOG.md Normal file
View File

@@ -0,0 +1,80 @@
# Changelog
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
## [2.4.1](https://github.com/peaceiris/actions-hugo/compare/v2.4.0...v2.4.1) (2020-01-18)
### chore
* Remove extra title [skip ci] ([48ef2db](https://github.com/peaceiris/actions-hugo/commit/48ef2dbba3c136400ffd657b8209d1b7b2b6261b))
* Update description ([8323a17](https://github.com/peaceiris/actions-hugo/commit/8323a17f96cdcbe7717e2d9ea24804c3f1b0a29f))
### ci
* Add action test workflow ([37cc539](https://github.com/peaceiris/actions-hugo/commit/37cc539052b4dffff3b468c8a25b5e414f3a7c79))
* Comment out push event [skip ci] ([d226d51](https://github.com/peaceiris/actions-hugo/commit/d226d51229e27be0121bc922b1148ef69332ed6f))
### docs
* Add Coverage Status badge [skip ci] ([3130d10](https://github.com/peaceiris/actions-hugo/commit/3130d100df2b0d10f954f9030098c2acaf553af2))
* Update execution time ([477d977](https://github.com/peaceiris/actions-hugo/commit/477d977a96079da2efe5596b1a1935ec6a6efddc))
### refactor
* main and installer (#133) ([283bc47](https://github.com/peaceiris/actions-hugo/commit/283bc47636b79858da429c7c2f16a97f4ec00638)), closes [#133](https://github.com/peaceiris/actions-hugo/issues/133)
* Use node-fetch instead of xmlhttprequest (#130) ([4642226](https://github.com/peaceiris/actions-hugo/commit/4642226db024cf8c43266df88a8a324233b19d30)), closes [#130](https://github.com/peaceiris/actions-hugo/issues/130)
### test
* Add integration testing (#131) ([386980e](https://github.com/peaceiris/actions-hugo/commit/386980e22b20d82471f64474e932614b5d22dfa9)), closes [#131](https://github.com/peaceiris/actions-hugo/issues/131)
* Add test for extended option (#134) ([6281061](https://github.com/peaceiris/actions-hugo/commit/6281061c0d9ca0dbde316f3059e931df883b7273)), closes [#134](https://github.com/peaceiris/actions-hugo/issues/134)
* Add unit testing (get-latest-version) (#132) ([442aa4d](https://github.com/peaceiris/actions-hugo/commit/442aa4dbd4b82ed161cf04f0b205abef771ca9a5)), closes [#132](https://github.com/peaceiris/actions-hugo/issues/132)
* Enable Coveralls (#129) ([66bce05](https://github.com/peaceiris/actions-hugo/commit/66bce0558afb6eaa8d8e7f1762426f9e7f53d60c)), closes [#129](https://github.com/peaceiris/actions-hugo/issues/129)
# [2.4.0](https://github.com/peaceiris/actions-hugo/compare/v2.3.2...v2.4.0) (2020-01-17)
### chore
* Add .DS_Store [skip ci] ([5ce129c](https://github.com/peaceiris/actions-hugo/commit/5ce129c278027bbd0b3d4fb967ea86543f719c7a))
* Add .gitattributes ([754a1d2](https://github.com/peaceiris/actions-hugo/commit/754a1d28dd8649e5a1151164c990298f36a093d4))
* Add standard-version [skip ci] ([dc95764](https://github.com/peaceiris/actions-hugo/commit/dc9576430f57dfabaa663af12d5dcd1210c1b155))
* Add task to autorun npm ci [skip ci] (#128) ([4331a62](https://github.com/peaceiris/actions-hugo/commit/4331a62207ee1604966b28fa32ba5d1ae1b30c6a)), closes [#128](https://github.com/peaceiris/actions-hugo/issues/128)
* Disable branch execution (#125) ([7dc0670](https://github.com/peaceiris/actions-hugo/commit/7dc067063bb67b1e59949161e3be905ed40e3c31)), closes [#125](https://github.com/peaceiris/actions-hugo/issues/125)
* fix tag push ([f21cef4](https://github.com/peaceiris/actions-hugo/commit/f21cef4446db8a2c47e78208d14acc25c3f5cf51))
* Remove .gitattributes [skip ci] ([3b68672](https://github.com/peaceiris/actions-hugo/commit/3b6867269979eef7d5bdd6de65470678a7e33604))
* Update LICENSE year ([57168bc](https://github.com/peaceiris/actions-hugo/commit/57168bc2bc3981bfabde15282e9c81dd9f5300ac))
### ci
* Add [skip ci] ([fbf2ba3](https://github.com/peaceiris/actions-hugo/commit/fbf2ba3b8ba09038d81bcd17fe9dfe0e4d7190ff))
* Add release workflow [skip ci] ([9d8553d](https://github.com/peaceiris/actions-hugo/commit/9d8553d36d52e040d2bcdd9092544fe6df5bcb91))
* Enhance tag creation ([7d9bfa0](https://github.com/peaceiris/actions-hugo/commit/7d9bfa0c1d5a9fe98246cf06033890d624a717f0))
### deps
* update (#118) ([bad8e7f](https://github.com/peaceiris/actions-hugo/commit/bad8e7f80f8fb90e4fc8297535d1c5c8102240d4)), closes [#118](https://github.com/peaceiris/actions-hugo/issues/118)
* update (#126) ([6a7231e](https://github.com/peaceiris/actions-hugo/commit/6a7231ef834e01c9eb84b15f1432d42804f7c69a)), closes [#126](https://github.com/peaceiris/actions-hugo/issues/126)
* upgrade node v12.14.1 (#119) ([cca78d8](https://github.com/peaceiris/actions-hugo/commit/cca78d865e24a18ed38b19dfc4bf0c7130c4c232)), closes [#119](https://github.com/peaceiris/actions-hugo/issues/119)
### docs
* Add back to TOC link ([490ab9b](https://github.com/peaceiris/actions-hugo/commit/490ab9b0a4d95458b58203661788d6499f27d573))
* add link to peaceiris/hugo-extended-docker ([1fa5fb2](https://github.com/peaceiris/actions-hugo/commit/1fa5fb2f2eda35bda254f126aa066972de95cfbd))
* Add new sections ([3d1e811](https://github.com/peaceiris/actions-hugo/commit/3d1e8112641c5fafdd12e5e4cf4f359ac289ce71))
* Bump Hugo version v0.62.2 ([6a39a0f](https://github.com/peaceiris/actions-hugo/commit/6a39a0f0e57bc115c411920fe91ae0144ff26b7e))
* Reindent [skip ci] ([76e22f1](https://github.com/peaceiris/actions-hugo/commit/76e22f1114f4fdfe2db25ff96bf65b4c513a942c))
* update hugo-version to v0.61.0 ([d006b81](https://github.com/peaceiris/actions-hugo/commit/d006b81d1845f59bb755a221aff0b61bbff15375))
### feat
* update deps (#104) ([5e6d8b5](https://github.com/peaceiris/actions-hugo/commit/5e6d8b50e242b4f27b9794f002a74032f4abb8f1)), closes [#104](https://github.com/peaceiris/actions-hugo/issues/104)
* update deps (#110) ([ca3c62d](https://github.com/peaceiris/actions-hugo/commit/ca3c62d21c77504550e4eba47456f9001d2c64ab)), closes [#110](https://github.com/peaceiris/actions-hugo/issues/110)
* update node 12.14.0 (#105) ([25520f7](https://github.com/peaceiris/actions-hugo/commit/25520f73cde6077d55cce09381b4121d83264fff)), closes [#105](https://github.com/peaceiris/actions-hugo/issues/105)
### test
* Add Docker container for testing [skip ci] ([7496c44](https://github.com/peaceiris/actions-hugo/commit/7496c44053ad339cde271140b13a6c3e5385f596))

View File

@@ -1,6 +1,6 @@
MIT License
Copyright (c) 2019 Shohei Ueda (peaceiris)
Copyright (c) 2020 Shohei Ueda (peaceiris)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

22
Makefile Normal file
View File

@@ -0,0 +1,22 @@
cmd := "bash"
msg := ""
IMAGE_NAME := actions-hugo-dev:latest
DOCKER_BUILD := docker build . -t $(IMAGE_NAME) --file ./__tests__/Dockerfile
DOCKER_RUN := docker run --rm -i -t -v ${PWD}:/repo -v ~/.gitconfig:/etc/gitconfig $(IMAGE_NAME)
.PHONY: build
build:
$(DOCKER_BUILD)
.PHONY: run
run:
$(DOCKER_RUN) $(cmd)
.PHONY: test
test:
$(DOCKER_RUN) npm test
.PHONY: commit
commit:
$(DOCKER_RUN) git commit -m "$(msg)"

View File

@@ -3,6 +3,7 @@
[![GitHub release date](https://img.shields.io/github/release-date/peaceiris/actions-hugo.svg)](https://github.com/peaceiris/actions-hugo/releases)
![GitHub Actions status](https://github.com/peaceiris/actions-hugo/workflows/Test/badge.svg)
[![CodeFactor](https://www.codefactor.io/repository/github/peaceiris/actions-hugo/badge)](https://www.codefactor.io/repository/github/peaceiris/actions-hugo)
[![Coverage Status](https://coveralls.io/repos/github/peaceiris/actions-hugo/badge.svg?branch=master)](https://coveralls.io/github/peaceiris/actions-hugo?branch=master)
<img width="400" alt="GitHub Actions for Hugo" src="./images/ogp.svg">
@@ -12,9 +13,13 @@
- [gohugoio/hugo: The worlds fastest framework for building websites.](https://github.com/gohugoio/hugo)
We can run **Hugo** on a virtual machine of **GitHub Actions** by this Hugo action. **Hugo extended** version and **Hugo Modules** are supported.
This **Hugo Setup Action** can install **Hugo** to a virtual machine of **GitHub Actions**.
**Hugo extended** version, **Hugo Modules**, Linux (Ubuntu), macOS, and Windows 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 **4 sec**. (A docker base action was taking about 1 min or more execution time to build or pull.)
From `v2`, this Hugo Setup Action has 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 **1 sec**.
(A docker base action was taking about 1 min or more execution time to build and pull a docker image.)
| OS (runs-on) | ubuntu-18.04 | macos-latest | windows-2019 |
|---|:---:|:---:|:---:|
@@ -39,8 +44,10 @@ From `v2.0.0`, this Hugo action migrated to a JavaScript (TypeScript) action. W
- [⭐️ Use the latest version of Hugo](#%EF%B8%8F-use-the-latest-version-of-hugo)
- [Tips](#tips)
- [⭐️ Read Hugo version from file](#%EF%B8%8F-read-hugo-version-from-file)
- [CHANGELOG](#changelog)
- [License](#license)
- [About the author](#about-the-author)
- [About Maintainer](#about-maintainer)
- [Maintainer Notes](#maintainer-notes)
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
@@ -65,31 +72,31 @@ name: github pages
on:
push:
branches:
- master
- master
jobs:
build-deploy:
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@master
# with:
# submodules: true
- uses: actions/checkout@v1
# with:
# submodules: true
- name: Setup Hugo
uses: peaceiris/actions-hugo@v2.2.4
with:
hugo-version: '0.59.1'
# extended: true
- name: Setup Hugo
uses: peaceiris/actions-hugo@v2
with:
hugo-version: '0.62.2'
# extended: true
- name: Build
run: hugo --minify
- name: Build
run: hugo --minify
- name: Deploy
uses: peaceiris/actions-gh-pages@v2.5.0
env:
ACTIONS_DEPLOY_KEY: ${{ secrets.ACTIONS_DEPLOY_KEY }}
PUBLISH_BRANCH: gh-pages
PUBLISH_DIR: ./public
- name: Deploy
uses: peaceiris/actions-gh-pages@v2
env:
ACTIONS_DEPLOY_KEY: ${{ secrets.ACTIONS_DEPLOY_KEY }}
PUBLISH_BRANCH: gh-pages
PUBLISH_DIR: ./public
```
<div align="right">
@@ -106,9 +113,9 @@ Set `extended: true` to use a Hugo extended version.
```yaml
- name: Setup Hugo
uses: peaceiris/actions-hugo@v2.2.4
uses: peaceiris/actions-hugo@v2
with:
hugo-version: '0.59.1'
hugo-version: '0.62.2'
extended: true
```
@@ -118,7 +125,7 @@ Set `hugo-version: 'latest'` to use the latest version of Hugo.
```yaml
- name: Setup Hugo
uses: peaceiris/actions-hugo@v2.2.4
uses: peaceiris/actions-hugo@v2
with:
hugo-version: 'latest'
```
@@ -135,12 +142,12 @@ This action fetches the latest version of Hugo by [hugo | Homebrew Formulae](htt
### ⭐️ Read Hugo version from file
How to sync a Hugo version between Docker Compose YAML file and a GitHub Actions workflow using `.env` file.
How to sync a Hugo version between a Docker Compose and a GitHub Actions workflow via `.env` file.
Write a `HUGO_VERSION` to the `.env` file like the following and push it to a remote branch.
```sh
HUGO_VERSION=0.59.1
HUGO_VERSION=0.62.2
```
Next, add a step to read a Hugo version from the `.env` file.
@@ -153,7 +160,7 @@ Next, add a step to read a Hugo version from the `.env` file.
echo "::set-output name=HUGO_VERSION::${HUGO_VERSION}"
- name: Setup Hugo
uses: peaceiris/actions-hugo@v2.2.4
uses: peaceiris/actions-hugo@v2
with:
hugo-version: '${{ steps.hugo-version.outputs.HUGO_VERSION }}'
extended: true
@@ -179,6 +186,20 @@ services:
- --buildDrafts
```
The alpine base Hugo Docker image is provided on the following repository.
> [peaceiris/hugo-extended-docker: Hugo alpine base Docker image (Hugo extended and Hugo Modules)](https://github.com/peaceiris/hugo-extended-docker)
<div align="right">
<a href="#table-of-contents">Back to TOC ☝️</a>
</div>
## CHANGELOG
- [CHANGELOG.md](CHANGELOG.md)
## License
@@ -189,9 +210,29 @@ services:
## About the author
## About Maintainer
- [peaceiris's homepage](https://peaceiris.com/)
- [peaceiris homepage](https://peaceiris.com/)
## Maintainer Notes
Run `npm` and `git commit` commands on a container.
**On Host**
```sh
# Docker
make build
make run
make run cmd="env"
make test
make commit msg="chore: Add Makefile"
# Release
./release.sh
```

11
__tests__/Dockerfile Normal file
View File

@@ -0,0 +1,11 @@
FROM node:12-slim
WORKDIR /repo
RUN apt-get update && \
apt-get -y install --no-install-recommends \
git \
bash && \
rm -rf /var/lib/apt/lists/*
CMD [ "bash" ]

1
__tests__/data/brew.json Normal file
View File

@@ -0,0 +1 @@
{"name":"hugo","full_name":"hugo","oldname":null,"aliases":[],"versioned_formulae":[],"desc":"Configurable static site generator","homepage":"https://gohugo.io/","versions":{"stable":"0.62.2","devel":null,"head":"HEAD","bottle":true},"revision":0,"version_scheme":0,"bottle":{"stable":{"rebuild":0,"cellar":":any_skip_relocation","prefix":"/usr/local","root_url":"https://homebrew.bintray.com/bottles","files":{"catalina":{"url":"https://homebrew.bintray.com/bottles/hugo-0.62.2.catalina.bottle.tar.gz","sha256":"354545c2c125e01a8860f83577fb4218d585fa8d38cd7f51e4228a149347fbcf"},"mojave":{"url":"https://homebrew.bintray.com/bottles/hugo-0.62.2.mojave.bottle.tar.gz","sha256":"9645b64fe6290c4c3b7591ef21139247f0fad6e49da1edd01665b3130a8f1d1a"},"high_sierra":{"url":"https://homebrew.bintray.com/bottles/hugo-0.62.2.high_sierra.bottle.tar.gz","sha256":"0ede4cbcc7536dd6b05107376637840356062273d734b4106be98b3d1732d50c"}}}},"keg_only":false,"bottle_disabled":false,"options":[],"build_dependencies":["go"],"dependencies":[],"recommended_dependencies":[],"optional_dependencies":[],"uses_from_macos":[],"requirements":[],"conflicts_with":[],"caveats":null,"installed":[],"linked_keg":null,"pinned":false,"outdated":false,"analytics":{"install":{"30d":{"hugo":24278,"hugo --HEAD":30},"90d":{"hugo":68639,"hugo --HEAD":80},"365d":{"hugo":223748,"hugo --HEAD":321}},"install_on_request":{"30d":{"hugo":23621,"hugo --HEAD":27},"90d":{"hugo":66676,"hugo --HEAD":74},"365d":{"hugo":215985,"hugo --HEAD":305}},"build_error":{"30d":{"hugo":0}}}}

958
__tests__/data/github.json Normal file
View File

@@ -0,0 +1,958 @@
{
"url": "https://api.github.com/repos/gohugoio/hugo/releases/22603992",
"assets_url": "https://api.github.com/repos/gohugoio/hugo/releases/22603992/assets",
"upload_url": "https://uploads.github.com/repos/gohugoio/hugo/releases/22603992/assets{?name,label}",
"html_url": "https://github.com/gohugoio/hugo/releases/tag/v0.62.2",
"id": 22603992,
"node_id": "MDc6UmVsZWFzZTIyNjAzOTky",
"tag_name": "v0.62.2",
"target_commitish": "master",
"name": "v0.62.2",
"draft": false,
"author": {
"login": "bep",
"id": 394382,
"node_id": "MDQ6VXNlcjM5NDM4Mg==",
"avatar_url": "https://avatars1.githubusercontent.com/u/394382?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/bep",
"html_url": "https://github.com/bep",
"followers_url": "https://api.github.com/users/bep/followers",
"following_url": "https://api.github.com/users/bep/following{/other_user}",
"gists_url": "https://api.github.com/users/bep/gists{/gist_id}",
"starred_url": "https://api.github.com/users/bep/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/bep/subscriptions",
"organizations_url": "https://api.github.com/users/bep/orgs",
"repos_url": "https://api.github.com/users/bep/repos",
"events_url": "https://api.github.com/users/bep/events{/privacy}",
"received_events_url": "https://api.github.com/users/bep/received_events",
"type": "User",
"site_admin": false
},
"prerelease": false,
"created_at": "2020-01-05T18:50:35Z",
"published_at": "2020-01-05T19:35:16Z",
"assets": [
{
"url": "https://api.github.com/repos/gohugoio/hugo/releases/assets/17152845",
"id": 17152845,
"node_id": "MDEyOlJlbGVhc2VBc3NldDE3MTUyODQ1",
"name": "hugo_0.62.2_checksums.txt",
"label": "",
"uploader": {
"login": "bep",
"id": 394382,
"node_id": "MDQ6VXNlcjM5NDM4Mg==",
"avatar_url": "https://avatars1.githubusercontent.com/u/394382?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/bep",
"html_url": "https://github.com/bep",
"followers_url": "https://api.github.com/users/bep/followers",
"following_url": "https://api.github.com/users/bep/following{/other_user}",
"gists_url": "https://api.github.com/users/bep/gists{/gist_id}",
"starred_url": "https://api.github.com/users/bep/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/bep/subscriptions",
"organizations_url": "https://api.github.com/users/bep/orgs",
"repos_url": "https://api.github.com/users/bep/repos",
"events_url": "https://api.github.com/users/bep/events{/privacy}",
"received_events_url": "https://api.github.com/users/bep/received_events",
"type": "User",
"site_admin": false
},
"content_type": "text/plain; charset=utf-8",
"state": "uploaded",
"size": 2552,
"download_count": 328,
"created_at": "2020-01-05T18:58:47Z",
"updated_at": "2020-01-05T18:58:47Z",
"browser_download_url": "https://github.com/gohugoio/hugo/releases/download/v0.62.2/hugo_0.62.2_checksums.txt"
},
{
"url": "https://api.github.com/repos/gohugoio/hugo/releases/assets/17152874",
"id": 17152874,
"node_id": "MDEyOlJlbGVhc2VBc3NldDE3MTUyODc0",
"name": "hugo_0.62.2_DragonFlyBSD-64bit.tar.gz",
"label": "",
"uploader": {
"login": "bep",
"id": 394382,
"node_id": "MDQ6VXNlcjM5NDM4Mg==",
"avatar_url": "https://avatars1.githubusercontent.com/u/394382?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/bep",
"html_url": "https://github.com/bep",
"followers_url": "https://api.github.com/users/bep/followers",
"following_url": "https://api.github.com/users/bep/following{/other_user}",
"gists_url": "https://api.github.com/users/bep/gists{/gist_id}",
"starred_url": "https://api.github.com/users/bep/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/bep/subscriptions",
"organizations_url": "https://api.github.com/users/bep/orgs",
"repos_url": "https://api.github.com/users/bep/repos",
"events_url": "https://api.github.com/users/bep/events{/privacy}",
"received_events_url": "https://api.github.com/users/bep/received_events",
"type": "User",
"site_admin": false
},
"content_type": "application/gzip",
"state": "uploaded",
"size": 13188250,
"download_count": 25,
"created_at": "2020-01-05T18:58:52Z",
"updated_at": "2020-01-05T18:58:52Z",
"browser_download_url": "https://github.com/gohugoio/hugo/releases/download/v0.62.2/hugo_0.62.2_DragonFlyBSD-64bit.tar.gz"
},
{
"url": "https://api.github.com/repos/gohugoio/hugo/releases/assets/17152867",
"id": 17152867,
"node_id": "MDEyOlJlbGVhc2VBc3NldDE3MTUyODY3",
"name": "hugo_0.62.2_FreeBSD-32bit.tar.gz",
"label": "",
"uploader": {
"login": "bep",
"id": 394382,
"node_id": "MDQ6VXNlcjM5NDM4Mg==",
"avatar_url": "https://avatars1.githubusercontent.com/u/394382?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/bep",
"html_url": "https://github.com/bep",
"followers_url": "https://api.github.com/users/bep/followers",
"following_url": "https://api.github.com/users/bep/following{/other_user}",
"gists_url": "https://api.github.com/users/bep/gists{/gist_id}",
"starred_url": "https://api.github.com/users/bep/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/bep/subscriptions",
"organizations_url": "https://api.github.com/users/bep/orgs",
"repos_url": "https://api.github.com/users/bep/repos",
"events_url": "https://api.github.com/users/bep/events{/privacy}",
"received_events_url": "https://api.github.com/users/bep/received_events",
"type": "User",
"site_admin": false
},
"content_type": "application/gzip",
"state": "uploaded",
"size": 12223449,
"download_count": 10,
"created_at": "2020-01-05T18:58:50Z",
"updated_at": "2020-01-05T18:58:53Z",
"browser_download_url": "https://github.com/gohugoio/hugo/releases/download/v0.62.2/hugo_0.62.2_FreeBSD-32bit.tar.gz"
},
{
"url": "https://api.github.com/repos/gohugoio/hugo/releases/assets/17152850",
"id": 17152850,
"node_id": "MDEyOlJlbGVhc2VBc3NldDE3MTUyODUw",
"name": "hugo_0.62.2_FreeBSD-64bit.tar.gz",
"label": "",
"uploader": {
"login": "bep",
"id": 394382,
"node_id": "MDQ6VXNlcjM5NDM4Mg==",
"avatar_url": "https://avatars1.githubusercontent.com/u/394382?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/bep",
"html_url": "https://github.com/bep",
"followers_url": "https://api.github.com/users/bep/followers",
"following_url": "https://api.github.com/users/bep/following{/other_user}",
"gists_url": "https://api.github.com/users/bep/gists{/gist_id}",
"starred_url": "https://api.github.com/users/bep/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/bep/subscriptions",
"organizations_url": "https://api.github.com/users/bep/orgs",
"repos_url": "https://api.github.com/users/bep/repos",
"events_url": "https://api.github.com/users/bep/events{/privacy}",
"received_events_url": "https://api.github.com/users/bep/received_events",
"type": "User",
"site_admin": false
},
"content_type": "application/gzip",
"state": "uploaded",
"size": 13195767,
"download_count": 38,
"created_at": "2020-01-05T18:58:47Z",
"updated_at": "2020-01-05T18:58:48Z",
"browser_download_url": "https://github.com/gohugoio/hugo/releases/download/v0.62.2/hugo_0.62.2_FreeBSD-64bit.tar.gz"
},
{
"url": "https://api.github.com/repos/gohugoio/hugo/releases/assets/17152869",
"id": 17152869,
"node_id": "MDEyOlJlbGVhc2VBc3NldDE3MTUyODY5",
"name": "hugo_0.62.2_FreeBSD-ARM.tar.gz",
"label": "",
"uploader": {
"login": "bep",
"id": 394382,
"node_id": "MDQ6VXNlcjM5NDM4Mg==",
"avatar_url": "https://avatars1.githubusercontent.com/u/394382?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/bep",
"html_url": "https://github.com/bep",
"followers_url": "https://api.github.com/users/bep/followers",
"following_url": "https://api.github.com/users/bep/following{/other_user}",
"gists_url": "https://api.github.com/users/bep/gists{/gist_id}",
"starred_url": "https://api.github.com/users/bep/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/bep/subscriptions",
"organizations_url": "https://api.github.com/users/bep/orgs",
"repos_url": "https://api.github.com/users/bep/repos",
"events_url": "https://api.github.com/users/bep/events{/privacy}",
"received_events_url": "https://api.github.com/users/bep/received_events",
"type": "User",
"site_admin": false
},
"content_type": "application/gzip",
"state": "uploaded",
"size": 12336796,
"download_count": 12,
"created_at": "2020-01-05T18:58:50Z",
"updated_at": "2020-01-05T18:58:51Z",
"browser_download_url": "https://github.com/gohugoio/hugo/releases/download/v0.62.2/hugo_0.62.2_FreeBSD-ARM.tar.gz"
},
{
"url": "https://api.github.com/repos/gohugoio/hugo/releases/assets/17152855",
"id": 17152855,
"node_id": "MDEyOlJlbGVhc2VBc3NldDE3MTUyODU1",
"name": "hugo_0.62.2_Linux-32bit.deb",
"label": "",
"uploader": {
"login": "bep",
"id": 394382,
"node_id": "MDQ6VXNlcjM5NDM4Mg==",
"avatar_url": "https://avatars1.githubusercontent.com/u/394382?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/bep",
"html_url": "https://github.com/bep",
"followers_url": "https://api.github.com/users/bep/followers",
"following_url": "https://api.github.com/users/bep/following{/other_user}",
"gists_url": "https://api.github.com/users/bep/gists{/gist_id}",
"starred_url": "https://api.github.com/users/bep/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/bep/subscriptions",
"organizations_url": "https://api.github.com/users/bep/orgs",
"repos_url": "https://api.github.com/users/bep/repos",
"events_url": "https://api.github.com/users/bep/events{/privacy}",
"received_events_url": "https://api.github.com/users/bep/received_events",
"type": "User",
"site_admin": false
},
"content_type": "application/x-debian-package",
"state": "uploaded",
"size": 12226680,
"download_count": 37,
"created_at": "2020-01-05T18:58:48Z",
"updated_at": "2020-01-05T18:58:55Z",
"browser_download_url": "https://github.com/gohugoio/hugo/releases/download/v0.62.2/hugo_0.62.2_Linux-32bit.deb"
},
{
"url": "https://api.github.com/repos/gohugoio/hugo/releases/assets/17152849",
"id": 17152849,
"node_id": "MDEyOlJlbGVhc2VBc3NldDE3MTUyODQ5",
"name": "hugo_0.62.2_Linux-32bit.tar.gz",
"label": "",
"uploader": {
"login": "bep",
"id": 394382,
"node_id": "MDQ6VXNlcjM5NDM4Mg==",
"avatar_url": "https://avatars1.githubusercontent.com/u/394382?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/bep",
"html_url": "https://github.com/bep",
"followers_url": "https://api.github.com/users/bep/followers",
"following_url": "https://api.github.com/users/bep/following{/other_user}",
"gists_url": "https://api.github.com/users/bep/gists{/gist_id}",
"starred_url": "https://api.github.com/users/bep/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/bep/subscriptions",
"organizations_url": "https://api.github.com/users/bep/orgs",
"repos_url": "https://api.github.com/users/bep/repos",
"events_url": "https://api.github.com/users/bep/events{/privacy}",
"received_events_url": "https://api.github.com/users/bep/received_events",
"type": "User",
"site_admin": false
},
"content_type": "application/gzip",
"state": "uploaded",
"size": 12228575,
"download_count": 31,
"created_at": "2020-01-05T18:58:47Z",
"updated_at": "2020-01-05T18:58:48Z",
"browser_download_url": "https://github.com/gohugoio/hugo/releases/download/v0.62.2/hugo_0.62.2_Linux-32bit.tar.gz"
},
{
"url": "https://api.github.com/repos/gohugoio/hugo/releases/assets/17152858",
"id": 17152858,
"node_id": "MDEyOlJlbGVhc2VBc3NldDE3MTUyODU4",
"name": "hugo_0.62.2_Linux-64bit.deb",
"label": "",
"uploader": {
"login": "bep",
"id": 394382,
"node_id": "MDQ6VXNlcjM5NDM4Mg==",
"avatar_url": "https://avatars1.githubusercontent.com/u/394382?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/bep",
"html_url": "https://github.com/bep",
"followers_url": "https://api.github.com/users/bep/followers",
"following_url": "https://api.github.com/users/bep/following{/other_user}",
"gists_url": "https://api.github.com/users/bep/gists{/gist_id}",
"starred_url": "https://api.github.com/users/bep/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/bep/subscriptions",
"organizations_url": "https://api.github.com/users/bep/orgs",
"repos_url": "https://api.github.com/users/bep/repos",
"events_url": "https://api.github.com/users/bep/events{/privacy}",
"received_events_url": "https://api.github.com/users/bep/received_events",
"type": "User",
"site_admin": false
},
"content_type": "application/x-debian-package",
"state": "uploaded",
"size": 13182646,
"download_count": 2260,
"created_at": "2020-01-05T18:58:49Z",
"updated_at": "2020-01-05T18:58:49Z",
"browser_download_url": "https://github.com/gohugoio/hugo/releases/download/v0.62.2/hugo_0.62.2_Linux-64bit.deb"
},
{
"url": "https://api.github.com/repos/gohugoio/hugo/releases/assets/17152851",
"id": 17152851,
"node_id": "MDEyOlJlbGVhc2VBc3NldDE3MTUyODUx",
"name": "hugo_0.62.2_Linux-64bit.tar.gz",
"label": "",
"uploader": {
"login": "bep",
"id": 394382,
"node_id": "MDQ6VXNlcjM5NDM4Mg==",
"avatar_url": "https://avatars1.githubusercontent.com/u/394382?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/bep",
"html_url": "https://github.com/bep",
"followers_url": "https://api.github.com/users/bep/followers",
"following_url": "https://api.github.com/users/bep/following{/other_user}",
"gists_url": "https://api.github.com/users/bep/gists{/gist_id}",
"starred_url": "https://api.github.com/users/bep/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/bep/subscriptions",
"organizations_url": "https://api.github.com/users/bep/orgs",
"repos_url": "https://api.github.com/users/bep/repos",
"events_url": "https://api.github.com/users/bep/events{/privacy}",
"received_events_url": "https://api.github.com/users/bep/received_events",
"type": "User",
"site_admin": false
},
"content_type": "application/gzip",
"state": "uploaded",
"size": 13192573,
"download_count": 5752,
"created_at": "2020-01-05T18:58:47Z",
"updated_at": "2020-01-05T18:58:48Z",
"browser_download_url": "https://github.com/gohugoio/hugo/releases/download/v0.62.2/hugo_0.62.2_Linux-64bit.tar.gz"
},
{
"url": "https://api.github.com/repos/gohugoio/hugo/releases/assets/17152856",
"id": 17152856,
"node_id": "MDEyOlJlbGVhc2VBc3NldDE3MTUyODU2",
"name": "hugo_0.62.2_Linux-ARM.deb",
"label": "",
"uploader": {
"login": "bep",
"id": 394382,
"node_id": "MDQ6VXNlcjM5NDM4Mg==",
"avatar_url": "https://avatars1.githubusercontent.com/u/394382?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/bep",
"html_url": "https://github.com/bep",
"followers_url": "https://api.github.com/users/bep/followers",
"following_url": "https://api.github.com/users/bep/following{/other_user}",
"gists_url": "https://api.github.com/users/bep/gists{/gist_id}",
"starred_url": "https://api.github.com/users/bep/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/bep/subscriptions",
"organizations_url": "https://api.github.com/users/bep/orgs",
"repos_url": "https://api.github.com/users/bep/repos",
"events_url": "https://api.github.com/users/bep/events{/privacy}",
"received_events_url": "https://api.github.com/users/bep/received_events",
"type": "User",
"site_admin": false
},
"content_type": "application/x-debian-package",
"state": "uploaded",
"size": 12324130,
"download_count": 47,
"created_at": "2020-01-05T18:58:48Z",
"updated_at": "2020-01-05T18:58:49Z",
"browser_download_url": "https://github.com/gohugoio/hugo/releases/download/v0.62.2/hugo_0.62.2_Linux-ARM.deb"
},
{
"url": "https://api.github.com/repos/gohugoio/hugo/releases/assets/17152854",
"id": 17152854,
"node_id": "MDEyOlJlbGVhc2VBc3NldDE3MTUyODU0",
"name": "hugo_0.62.2_Linux-ARM.tar.gz",
"label": "",
"uploader": {
"login": "bep",
"id": 394382,
"node_id": "MDQ6VXNlcjM5NDM4Mg==",
"avatar_url": "https://avatars1.githubusercontent.com/u/394382?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/bep",
"html_url": "https://github.com/bep",
"followers_url": "https://api.github.com/users/bep/followers",
"following_url": "https://api.github.com/users/bep/following{/other_user}",
"gists_url": "https://api.github.com/users/bep/gists{/gist_id}",
"starred_url": "https://api.github.com/users/bep/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/bep/subscriptions",
"organizations_url": "https://api.github.com/users/bep/orgs",
"repos_url": "https://api.github.com/users/bep/repos",
"events_url": "https://api.github.com/users/bep/events{/privacy}",
"received_events_url": "https://api.github.com/users/bep/received_events",
"type": "User",
"site_admin": false
},
"content_type": "application/gzip",
"state": "uploaded",
"size": 12330563,
"download_count": 35,
"created_at": "2020-01-05T18:58:48Z",
"updated_at": "2020-01-05T18:58:48Z",
"browser_download_url": "https://github.com/gohugoio/hugo/releases/download/v0.62.2/hugo_0.62.2_Linux-ARM.tar.gz"
},
{
"url": "https://api.github.com/repos/gohugoio/hugo/releases/assets/17152857",
"id": 17152857,
"node_id": "MDEyOlJlbGVhc2VBc3NldDE3MTUyODU3",
"name": "hugo_0.62.2_Linux-ARM64.deb",
"label": "",
"uploader": {
"login": "bep",
"id": 394382,
"node_id": "MDQ6VXNlcjM5NDM4Mg==",
"avatar_url": "https://avatars1.githubusercontent.com/u/394382?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/bep",
"html_url": "https://github.com/bep",
"followers_url": "https://api.github.com/users/bep/followers",
"following_url": "https://api.github.com/users/bep/following{/other_user}",
"gists_url": "https://api.github.com/users/bep/gists{/gist_id}",
"starred_url": "https://api.github.com/users/bep/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/bep/subscriptions",
"organizations_url": "https://api.github.com/users/bep/orgs",
"repos_url": "https://api.github.com/users/bep/repos",
"events_url": "https://api.github.com/users/bep/events{/privacy}",
"received_events_url": "https://api.github.com/users/bep/received_events",
"type": "User",
"site_admin": false
},
"content_type": "application/x-debian-package",
"state": "uploaded",
"size": 12113228,
"download_count": 38,
"created_at": "2020-01-05T18:58:49Z",
"updated_at": "2020-01-05T18:58:49Z",
"browser_download_url": "https://github.com/gohugoio/hugo/releases/download/v0.62.2/hugo_0.62.2_Linux-ARM64.deb"
},
{
"url": "https://api.github.com/repos/gohugoio/hugo/releases/assets/17152843",
"id": 17152843,
"node_id": "MDEyOlJlbGVhc2VBc3NldDE3MTUyODQz",
"name": "hugo_0.62.2_Linux-ARM64.tar.gz",
"label": "",
"uploader": {
"login": "bep",
"id": 394382,
"node_id": "MDQ6VXNlcjM5NDM4Mg==",
"avatar_url": "https://avatars1.githubusercontent.com/u/394382?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/bep",
"html_url": "https://github.com/bep",
"followers_url": "https://api.github.com/users/bep/followers",
"following_url": "https://api.github.com/users/bep/following{/other_user}",
"gists_url": "https://api.github.com/users/bep/gists{/gist_id}",
"starred_url": "https://api.github.com/users/bep/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/bep/subscriptions",
"organizations_url": "https://api.github.com/users/bep/orgs",
"repos_url": "https://api.github.com/users/bep/repos",
"events_url": "https://api.github.com/users/bep/events{/privacy}",
"received_events_url": "https://api.github.com/users/bep/received_events",
"type": "User",
"site_admin": false
},
"content_type": "application/gzip",
"state": "uploaded",
"size": 12119126,
"download_count": 63,
"created_at": "2020-01-05T18:58:47Z",
"updated_at": "2020-01-05T18:58:47Z",
"browser_download_url": "https://github.com/gohugoio/hugo/releases/download/v0.62.2/hugo_0.62.2_Linux-ARM64.tar.gz"
},
{
"url": "https://api.github.com/repos/gohugoio/hugo/releases/assets/17152873",
"id": 17152873,
"node_id": "MDEyOlJlbGVhc2VBc3NldDE3MTUyODcz",
"name": "hugo_0.62.2_macOS-32bit.tar.gz",
"label": "",
"uploader": {
"login": "bep",
"id": 394382,
"node_id": "MDQ6VXNlcjM5NDM4Mg==",
"avatar_url": "https://avatars1.githubusercontent.com/u/394382?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/bep",
"html_url": "https://github.com/bep",
"followers_url": "https://api.github.com/users/bep/followers",
"following_url": "https://api.github.com/users/bep/following{/other_user}",
"gists_url": "https://api.github.com/users/bep/gists{/gist_id}",
"starred_url": "https://api.github.com/users/bep/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/bep/subscriptions",
"organizations_url": "https://api.github.com/users/bep/orgs",
"repos_url": "https://api.github.com/users/bep/repos",
"events_url": "https://api.github.com/users/bep/events{/privacy}",
"received_events_url": "https://api.github.com/users/bep/received_events",
"type": "User",
"site_admin": false
},
"content_type": "application/gzip",
"state": "uploaded",
"size": 12805086,
"download_count": 25,
"created_at": "2020-01-05T18:58:52Z",
"updated_at": "2020-01-05T18:58:52Z",
"browser_download_url": "https://github.com/gohugoio/hugo/releases/download/v0.62.2/hugo_0.62.2_macOS-32bit.tar.gz"
},
{
"url": "https://api.github.com/repos/gohugoio/hugo/releases/assets/17152868",
"id": 17152868,
"node_id": "MDEyOlJlbGVhc2VBc3NldDE3MTUyODY4",
"name": "hugo_0.62.2_macOS-64bit.tar.gz",
"label": "",
"uploader": {
"login": "bep",
"id": 394382,
"node_id": "MDQ6VXNlcjM5NDM4Mg==",
"avatar_url": "https://avatars1.githubusercontent.com/u/394382?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/bep",
"html_url": "https://github.com/bep",
"followers_url": "https://api.github.com/users/bep/followers",
"following_url": "https://api.github.com/users/bep/following{/other_user}",
"gists_url": "https://api.github.com/users/bep/gists{/gist_id}",
"starred_url": "https://api.github.com/users/bep/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/bep/subscriptions",
"organizations_url": "https://api.github.com/users/bep/orgs",
"repos_url": "https://api.github.com/users/bep/repos",
"events_url": "https://api.github.com/users/bep/events{/privacy}",
"received_events_url": "https://api.github.com/users/bep/received_events",
"type": "User",
"site_admin": false
},
"content_type": "application/gzip",
"state": "uploaded",
"size": 13765882,
"download_count": 479,
"created_at": "2020-01-05T18:58:50Z",
"updated_at": "2020-01-05T18:58:51Z",
"browser_download_url": "https://github.com/gohugoio/hugo/releases/download/v0.62.2/hugo_0.62.2_macOS-64bit.tar.gz"
},
{
"url": "https://api.github.com/repos/gohugoio/hugo/releases/assets/17152846",
"id": 17152846,
"node_id": "MDEyOlJlbGVhc2VBc3NldDE3MTUyODQ2",
"name": "hugo_0.62.2_NetBSD-32bit.tar.gz",
"label": "",
"uploader": {
"login": "bep",
"id": 394382,
"node_id": "MDQ6VXNlcjM5NDM4Mg==",
"avatar_url": "https://avatars1.githubusercontent.com/u/394382?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/bep",
"html_url": "https://github.com/bep",
"followers_url": "https://api.github.com/users/bep/followers",
"following_url": "https://api.github.com/users/bep/following{/other_user}",
"gists_url": "https://api.github.com/users/bep/gists{/gist_id}",
"starred_url": "https://api.github.com/users/bep/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/bep/subscriptions",
"organizations_url": "https://api.github.com/users/bep/orgs",
"repos_url": "https://api.github.com/users/bep/repos",
"events_url": "https://api.github.com/users/bep/events{/privacy}",
"received_events_url": "https://api.github.com/users/bep/received_events",
"type": "User",
"site_admin": false
},
"content_type": "application/gzip",
"state": "uploaded",
"size": 12206852,
"download_count": 8,
"created_at": "2020-01-05T18:58:47Z",
"updated_at": "2020-01-05T18:58:47Z",
"browser_download_url": "https://github.com/gohugoio/hugo/releases/download/v0.62.2/hugo_0.62.2_NetBSD-32bit.tar.gz"
},
{
"url": "https://api.github.com/repos/gohugoio/hugo/releases/assets/17152863",
"id": 17152863,
"node_id": "MDEyOlJlbGVhc2VBc3NldDE3MTUyODYz",
"name": "hugo_0.62.2_NetBSD-64bit.tar.gz",
"label": "",
"uploader": {
"login": "bep",
"id": 394382,
"node_id": "MDQ6VXNlcjM5NDM4Mg==",
"avatar_url": "https://avatars1.githubusercontent.com/u/394382?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/bep",
"html_url": "https://github.com/bep",
"followers_url": "https://api.github.com/users/bep/followers",
"following_url": "https://api.github.com/users/bep/following{/other_user}",
"gists_url": "https://api.github.com/users/bep/gists{/gist_id}",
"starred_url": "https://api.github.com/users/bep/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/bep/subscriptions",
"organizations_url": "https://api.github.com/users/bep/orgs",
"repos_url": "https://api.github.com/users/bep/repos",
"events_url": "https://api.github.com/users/bep/events{/privacy}",
"received_events_url": "https://api.github.com/users/bep/received_events",
"type": "User",
"site_admin": false
},
"content_type": "application/gzip",
"state": "uploaded",
"size": 13186059,
"download_count": 12,
"created_at": "2020-01-05T18:58:49Z",
"updated_at": "2020-01-05T18:58:50Z",
"browser_download_url": "https://github.com/gohugoio/hugo/releases/download/v0.62.2/hugo_0.62.2_NetBSD-64bit.tar.gz"
},
{
"url": "https://api.github.com/repos/gohugoio/hugo/releases/assets/17152870",
"id": 17152870,
"node_id": "MDEyOlJlbGVhc2VBc3NldDE3MTUyODcw",
"name": "hugo_0.62.2_NetBSD-ARM.tar.gz",
"label": "",
"uploader": {
"login": "bep",
"id": 394382,
"node_id": "MDQ6VXNlcjM5NDM4Mg==",
"avatar_url": "https://avatars1.githubusercontent.com/u/394382?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/bep",
"html_url": "https://github.com/bep",
"followers_url": "https://api.github.com/users/bep/followers",
"following_url": "https://api.github.com/users/bep/following{/other_user}",
"gists_url": "https://api.github.com/users/bep/gists{/gist_id}",
"starred_url": "https://api.github.com/users/bep/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/bep/subscriptions",
"organizations_url": "https://api.github.com/users/bep/orgs",
"repos_url": "https://api.github.com/users/bep/repos",
"events_url": "https://api.github.com/users/bep/events{/privacy}",
"received_events_url": "https://api.github.com/users/bep/received_events",
"type": "User",
"site_admin": false
},
"content_type": "application/gzip",
"state": "uploaded",
"size": 12325194,
"download_count": 8,
"created_at": "2020-01-05T18:58:51Z",
"updated_at": "2020-01-05T18:58:52Z",
"browser_download_url": "https://github.com/gohugoio/hugo/releases/download/v0.62.2/hugo_0.62.2_NetBSD-ARM.tar.gz"
},
{
"url": "https://api.github.com/repos/gohugoio/hugo/releases/assets/17152861",
"id": 17152861,
"node_id": "MDEyOlJlbGVhc2VBc3NldDE3MTUyODYx",
"name": "hugo_0.62.2_OpenBSD-32bit.tar.gz",
"label": "",
"uploader": {
"login": "bep",
"id": 394382,
"node_id": "MDQ6VXNlcjM5NDM4Mg==",
"avatar_url": "https://avatars1.githubusercontent.com/u/394382?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/bep",
"html_url": "https://github.com/bep",
"followers_url": "https://api.github.com/users/bep/followers",
"following_url": "https://api.github.com/users/bep/following{/other_user}",
"gists_url": "https://api.github.com/users/bep/gists{/gist_id}",
"starred_url": "https://api.github.com/users/bep/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/bep/subscriptions",
"organizations_url": "https://api.github.com/users/bep/orgs",
"repos_url": "https://api.github.com/users/bep/repos",
"events_url": "https://api.github.com/users/bep/events{/privacy}",
"received_events_url": "https://api.github.com/users/bep/received_events",
"type": "User",
"site_admin": false
},
"content_type": "application/gzip",
"state": "uploaded",
"size": 12208022,
"download_count": 11,
"created_at": "2020-01-05T18:58:49Z",
"updated_at": "2020-01-05T18:58:50Z",
"browser_download_url": "https://github.com/gohugoio/hugo/releases/download/v0.62.2/hugo_0.62.2_OpenBSD-32bit.tar.gz"
},
{
"url": "https://api.github.com/repos/gohugoio/hugo/releases/assets/17152871",
"id": 17152871,
"node_id": "MDEyOlJlbGVhc2VBc3NldDE3MTUyODcx",
"name": "hugo_0.62.2_OpenBSD-64bit.tar.gz",
"label": "",
"uploader": {
"login": "bep",
"id": 394382,
"node_id": "MDQ6VXNlcjM5NDM4Mg==",
"avatar_url": "https://avatars1.githubusercontent.com/u/394382?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/bep",
"html_url": "https://github.com/bep",
"followers_url": "https://api.github.com/users/bep/followers",
"following_url": "https://api.github.com/users/bep/following{/other_user}",
"gists_url": "https://api.github.com/users/bep/gists{/gist_id}",
"starred_url": "https://api.github.com/users/bep/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/bep/subscriptions",
"organizations_url": "https://api.github.com/users/bep/orgs",
"repos_url": "https://api.github.com/users/bep/repos",
"events_url": "https://api.github.com/users/bep/events{/privacy}",
"received_events_url": "https://api.github.com/users/bep/received_events",
"type": "User",
"site_admin": false
},
"content_type": "application/gzip",
"state": "uploaded",
"size": 13183077,
"download_count": 39,
"created_at": "2020-01-05T18:58:51Z",
"updated_at": "2020-01-05T18:58:52Z",
"browser_download_url": "https://github.com/gohugoio/hugo/releases/download/v0.62.2/hugo_0.62.2_OpenBSD-64bit.tar.gz"
},
{
"url": "https://api.github.com/repos/gohugoio/hugo/releases/assets/17152864",
"id": 17152864,
"node_id": "MDEyOlJlbGVhc2VBc3NldDE3MTUyODY0",
"name": "hugo_0.62.2_OpenBSD-ARM.tar.gz",
"label": "",
"uploader": {
"login": "bep",
"id": 394382,
"node_id": "MDQ6VXNlcjM5NDM4Mg==",
"avatar_url": "https://avatars1.githubusercontent.com/u/394382?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/bep",
"html_url": "https://github.com/bep",
"followers_url": "https://api.github.com/users/bep/followers",
"following_url": "https://api.github.com/users/bep/following{/other_user}",
"gists_url": "https://api.github.com/users/bep/gists{/gist_id}",
"starred_url": "https://api.github.com/users/bep/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/bep/subscriptions",
"organizations_url": "https://api.github.com/users/bep/orgs",
"repos_url": "https://api.github.com/users/bep/repos",
"events_url": "https://api.github.com/users/bep/events{/privacy}",
"received_events_url": "https://api.github.com/users/bep/received_events",
"type": "User",
"site_admin": false
},
"content_type": "application/gzip",
"state": "uploaded",
"size": 12322903,
"download_count": 9,
"created_at": "2020-01-05T18:58:50Z",
"updated_at": "2020-01-05T18:58:50Z",
"browser_download_url": "https://github.com/gohugoio/hugo/releases/download/v0.62.2/hugo_0.62.2_OpenBSD-ARM.tar.gz"
},
{
"url": "https://api.github.com/repos/gohugoio/hugo/releases/assets/17152862",
"id": 17152862,
"node_id": "MDEyOlJlbGVhc2VBc3NldDE3MTUyODYy",
"name": "hugo_0.62.2_Windows-32bit.zip",
"label": "",
"uploader": {
"login": "bep",
"id": 394382,
"node_id": "MDQ6VXNlcjM5NDM4Mg==",
"avatar_url": "https://avatars1.githubusercontent.com/u/394382?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/bep",
"html_url": "https://github.com/bep",
"followers_url": "https://api.github.com/users/bep/followers",
"following_url": "https://api.github.com/users/bep/following{/other_user}",
"gists_url": "https://api.github.com/users/bep/gists{/gist_id}",
"starred_url": "https://api.github.com/users/bep/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/bep/subscriptions",
"organizations_url": "https://api.github.com/users/bep/orgs",
"repos_url": "https://api.github.com/users/bep/repos",
"events_url": "https://api.github.com/users/bep/events{/privacy}",
"received_events_url": "https://api.github.com/users/bep/received_events",
"type": "User",
"site_admin": false
},
"content_type": "application/zip",
"state": "uploaded",
"size": 12221573,
"download_count": 154,
"created_at": "2020-01-05T18:58:49Z",
"updated_at": "2020-01-05T18:58:50Z",
"browser_download_url": "https://github.com/gohugoio/hugo/releases/download/v0.62.2/hugo_0.62.2_Windows-32bit.zip"
},
{
"url": "https://api.github.com/repos/gohugoio/hugo/releases/assets/17152865",
"id": 17152865,
"node_id": "MDEyOlJlbGVhc2VBc3NldDE3MTUyODY1",
"name": "hugo_0.62.2_Windows-64bit.zip",
"label": "",
"uploader": {
"login": "bep",
"id": 394382,
"node_id": "MDQ6VXNlcjM5NDM4Mg==",
"avatar_url": "https://avatars1.githubusercontent.com/u/394382?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/bep",
"html_url": "https://github.com/bep",
"followers_url": "https://api.github.com/users/bep/followers",
"following_url": "https://api.github.com/users/bep/following{/other_user}",
"gists_url": "https://api.github.com/users/bep/gists{/gist_id}",
"starred_url": "https://api.github.com/users/bep/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/bep/subscriptions",
"organizations_url": "https://api.github.com/users/bep/orgs",
"repos_url": "https://api.github.com/users/bep/repos",
"events_url": "https://api.github.com/users/bep/events{/privacy}",
"received_events_url": "https://api.github.com/users/bep/received_events",
"type": "User",
"site_admin": false
},
"content_type": "application/zip",
"state": "uploaded",
"size": 13265631,
"download_count": 7902,
"created_at": "2020-01-05T18:58:50Z",
"updated_at": "2020-01-05T18:58:50Z",
"browser_download_url": "https://github.com/gohugoio/hugo/releases/download/v0.62.2/hugo_0.62.2_Windows-64bit.zip"
},
{
"url": "https://api.github.com/repos/gohugoio/hugo/releases/assets/17152859",
"id": 17152859,
"node_id": "MDEyOlJlbGVhc2VBc3NldDE3MTUyODU5",
"name": "hugo_extended_0.62.2_Linux-64bit.deb",
"label": "",
"uploader": {
"login": "bep",
"id": 394382,
"node_id": "MDQ6VXNlcjM5NDM4Mg==",
"avatar_url": "https://avatars1.githubusercontent.com/u/394382?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/bep",
"html_url": "https://github.com/bep",
"followers_url": "https://api.github.com/users/bep/followers",
"following_url": "https://api.github.com/users/bep/following{/other_user}",
"gists_url": "https://api.github.com/users/bep/gists{/gist_id}",
"starred_url": "https://api.github.com/users/bep/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/bep/subscriptions",
"organizations_url": "https://api.github.com/users/bep/orgs",
"repos_url": "https://api.github.com/users/bep/repos",
"events_url": "https://api.github.com/users/bep/events{/privacy}",
"received_events_url": "https://api.github.com/users/bep/received_events",
"type": "User",
"site_admin": false
},
"content_type": "application/x-debian-package",
"state": "uploaded",
"size": 14137254,
"download_count": 855,
"created_at": "2020-01-05T18:58:49Z",
"updated_at": "2020-01-05T18:58:49Z",
"browser_download_url": "https://github.com/gohugoio/hugo/releases/download/v0.62.2/hugo_extended_0.62.2_Linux-64bit.deb"
},
{
"url": "https://api.github.com/repos/gohugoio/hugo/releases/assets/17152844",
"id": 17152844,
"node_id": "MDEyOlJlbGVhc2VBc3NldDE3MTUyODQ0",
"name": "hugo_extended_0.62.2_Linux-64bit.tar.gz",
"label": "",
"uploader": {
"login": "bep",
"id": 394382,
"node_id": "MDQ6VXNlcjM5NDM4Mg==",
"avatar_url": "https://avatars1.githubusercontent.com/u/394382?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/bep",
"html_url": "https://github.com/bep",
"followers_url": "https://api.github.com/users/bep/followers",
"following_url": "https://api.github.com/users/bep/following{/other_user}",
"gists_url": "https://api.github.com/users/bep/gists{/gist_id}",
"starred_url": "https://api.github.com/users/bep/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/bep/subscriptions",
"organizations_url": "https://api.github.com/users/bep/orgs",
"repos_url": "https://api.github.com/users/bep/repos",
"events_url": "https://api.github.com/users/bep/events{/privacy}",
"received_events_url": "https://api.github.com/users/bep/received_events",
"type": "User",
"site_admin": false
},
"content_type": "application/gzip",
"state": "uploaded",
"size": 14145652,
"download_count": 5218,
"created_at": "2020-01-05T18:58:47Z",
"updated_at": "2020-01-05T18:58:47Z",
"browser_download_url": "https://github.com/gohugoio/hugo/releases/download/v0.62.2/hugo_extended_0.62.2_Linux-64bit.tar.gz"
},
{
"url": "https://api.github.com/repos/gohugoio/hugo/releases/assets/17152852",
"id": 17152852,
"node_id": "MDEyOlJlbGVhc2VBc3NldDE3MTUyODUy",
"name": "hugo_extended_0.62.2_macOS-64bit.tar.gz",
"label": "",
"uploader": {
"login": "bep",
"id": 394382,
"node_id": "MDQ6VXNlcjM5NDM4Mg==",
"avatar_url": "https://avatars1.githubusercontent.com/u/394382?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/bep",
"html_url": "https://github.com/bep",
"followers_url": "https://api.github.com/users/bep/followers",
"following_url": "https://api.github.com/users/bep/following{/other_user}",
"gists_url": "https://api.github.com/users/bep/gists{/gist_id}",
"starred_url": "https://api.github.com/users/bep/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/bep/subscriptions",
"organizations_url": "https://api.github.com/users/bep/orgs",
"repos_url": "https://api.github.com/users/bep/repos",
"events_url": "https://api.github.com/users/bep/events{/privacy}",
"received_events_url": "https://api.github.com/users/bep/received_events",
"type": "User",
"site_admin": false
},
"content_type": "application/gzip",
"state": "uploaded",
"size": 14784660,
"download_count": 628,
"created_at": "2020-01-05T18:58:47Z",
"updated_at": "2020-01-05T18:58:48Z",
"browser_download_url": "https://github.com/gohugoio/hugo/releases/download/v0.62.2/hugo_extended_0.62.2_macOS-64bit.tar.gz"
},
{
"url": "https://api.github.com/repos/gohugoio/hugo/releases/assets/17152853",
"id": 17152853,
"node_id": "MDEyOlJlbGVhc2VBc3NldDE3MTUyODUz",
"name": "hugo_extended_0.62.2_Windows-64bit.zip",
"label": "",
"uploader": {
"login": "bep",
"id": 394382,
"node_id": "MDQ6VXNlcjM5NDM4Mg==",
"avatar_url": "https://avatars1.githubusercontent.com/u/394382?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/bep",
"html_url": "https://github.com/bep",
"followers_url": "https://api.github.com/users/bep/followers",
"following_url": "https://api.github.com/users/bep/following{/other_user}",
"gists_url": "https://api.github.com/users/bep/gists{/gist_id}",
"starred_url": "https://api.github.com/users/bep/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/bep/subscriptions",
"organizations_url": "https://api.github.com/users/bep/orgs",
"repos_url": "https://api.github.com/users/bep/repos",
"events_url": "https://api.github.com/users/bep/events{/privacy}",
"received_events_url": "https://api.github.com/users/bep/received_events",
"type": "User",
"site_admin": false
},
"content_type": "application/zip",
"state": "uploaded",
"size": 30553922,
"download_count": 3681,
"created_at": "2020-01-05T18:58:48Z",
"updated_at": "2020-01-05T18:58:49Z",
"browser_download_url": "https://github.com/gohugoio/hugo/releases/download/v0.62.2/hugo_extended_0.62.2_Windows-64bit.zip"
}
],
"tarball_url": "https://api.github.com/repos/gohugoio/hugo/tarball/v0.62.2",
"zipball_url": "https://api.github.com/repos/gohugoio/hugo/zipball/v0.62.2",
"body": "The main driving force behind these patch releases in the new year has been getting a good story with [portable links](https://github.com/bep/portable-hugo-links/) between GitHub and Hugo, using the new render hooks introduced in [Hugo 0.62.0](https://gohugo.io/news/0.62.0-relnotes/). And all was mostly well until a Hugo user asked about anchor links. Which is, when you look into it, a slightly sad Markdown story. They have been [talking about anchors in Markdown](https://talk.commonmark.org/t/anchors-in-markdown/247) over at the CommonMark forum for the last six years, but it has come to nothing. The current situation is that some Markdown engines support the `{#anchorName}` attribute syntax (Hugo's Goldmark does, GitHub does not) and for those that support auto-generation of IDs, the implementation often varies. And this makes for poor portability.\r\n\r\nTo improve this, Hugo has now reverse-engineered GitHub's implementation and made that the default strategy for generation or header IDs. We understand that this isn't everyone's cup of tea, so you can [configure the behaviour](https://gohugo.io/getting-started/configuration-markup#goldmark) to be one of `github`, `github-ascii` (some client-libraries have Unicode issues) or `blackfriday` (which will match how it behaved before Hugo 0.60).\r\n\r\n* hugolib: Fix relative .Page.GetPage from bundle [196a9df5](https://github.com/gohugoio/hugo/commit/196a9df585c4744e3280f37c1c24e469fce14b8c) [@bep](https://github.com/bep) [#6705](https://github.com/gohugoio/hugo/issues/6705)\r\n* markup/goldmark: Adjust auto ID space handling [9b6e6146](https://github.com/gohugoio/hugo/commit/9b6e61464b09ffe3423fb8d7c72bddb7a9ed5b98) [@bep](https://github.com/bep) [#6710](https://github.com/gohugoio/hugo/issues/6710)\r\n* docs: Document the new autoHeadingIDType setting [d62ede8e](https://github.com/gohugoio/hugo/commit/d62ede8e9e5883e7ebb023e49b82f07b45edc1c7) [@bep](https://github.com/bep) [#6707](https://github.com/gohugoio/hugo/issues/6707)[#6616](https://github.com/gohugoio/hugo/issues/6616)\r\n* docs: Regenerate docshelper [81b7e48a](https://github.com/gohugoio/hugo/commit/81b7e48a55092203aeee8785799e6fed3928760e) [@bep](https://github.com/bep) [#6707](https://github.com/gohugoio/hugo/issues/6707)[#6616](https://github.com/gohugoio/hugo/issues/6616)\r\n* markup/goldmark: Add an optional Blackfriday auto ID strategy [16e7c112](https://github.com/gohugoio/hugo/commit/16e7c1120346bd853cf6510ffac8e94824bf2c7f) [@bep](https://github.com/bep) [#6707](https://github.com/gohugoio/hugo/issues/6707)\r\n* markup/goldmark: Make the autoID type config a string [8f071fc1](https://github.com/gohugoio/hugo/commit/8f071fc159ce9a0fc0ea14a73bde8f299bedd109) [@bep](https://github.com/bep) [#6707](https://github.com/gohugoio/hugo/issues/6707)\r\n* markup/goldmark: Simplify code [5ee1f087](https://github.com/gohugoio/hugo/commit/5ee1f0876f3ec8b79d6305298185dc821ead2d28) [@bep](https://github.com/bep) \r\n* markup/goldmark: Make auto IDs GitHub compatible [a82d2700](https://github.com/gohugoio/hugo/commit/a82d2700fcc772aada15d65b8f76913ca23f7404) [@bep](https://github.com/bep) [#6616](https://github.com/gohugoio/hugo/issues/6616)\r\n\r\n\r\n\r\n\r\n"
}

View File

@@ -0,0 +1,64 @@
import {getURL, getLatestVersion} from '../src/get-latest-version';
import nock from 'nock';
import {FetchError} from 'node-fetch';
import {Tool} from '../src/constants';
import jsonTestBrew from './data/brew.json';
import jsonTestGithub from './data/github.json';
beforeEach(() => {
jest.resetModules();
});
afterEach(() => {
nock.cleanAll();
});
describe('getURL()', () => {
test('return expected URL', () => {
const urlBrewExpected = `https://formulae.brew.sh/api/formula/${Tool.Repo}.json`;
const urlBrew: string = getURL(Tool.Org, Tool.Repo, 'brew');
expect(urlBrew).toMatch(urlBrewExpected);
const urlGithubExpected = `https://api.github.com/repos/${Tool.Org}/${Tool.Repo}/releases/latest`;
const urlGithub: string = getURL(Tool.Org, Tool.Repo, 'github');
expect(urlGithub).toMatch(urlGithubExpected);
});
});
describe('getLatestVersion()', () => {
test('return latest version via brew', async () => {
nock('https://formulae.brew.sh')
.get(`/api/formula/${Tool.Repo}.json`)
.reply(200, jsonTestBrew);
const versionLatest: string = await getLatestVersion(
Tool.Org,
Tool.Repo,
'brew'
);
expect(versionLatest).toMatch(Tool.TestVersionLatest);
});
test('return latest version via GitHub', async () => {
nock('https://api.github.com')
.get(`/repos/${Tool.Org}/${Tool.Repo}/releases/latest`)
.reply(200, jsonTestGithub);
const versionLatest: string = await getLatestVersion(
Tool.Org,
Tool.Repo,
'github'
);
expect(versionLatest).toMatch(Tool.TestVersionLatest);
});
test('return exception 404', async () => {
nock('https://formulae.brew.sh')
.get(`/api/formula/${Tool.Repo}.json`)
.reply(404);
await expect(
getLatestVersion(Tool.Org, Tool.Repo, 'brew')
).rejects.toThrowError(FetchError);
});
});

View File

@@ -8,9 +8,6 @@ describe('getOS', () => {
});
test('test exception', () => {
// expect(() => {
// getOS("win32");
// }).toThrowError("Windows is not supported");
expect(() => {
getOS('centos');
}).toThrowError('centos is not supported');

View File

@@ -9,14 +9,11 @@ describe('getURL()', () => {
const urlMacOS = `${baseURL}/hugo_0.58.2_macOS-64bit.tar.gz`;
const urlWindows = `${baseURL}/hugo_0.58.2_Windows-64bit.zip`;
expect(getURL('Linux', 'false', '0.58.2')).toBe(urlLinux);
expect(getURL('Linux', 'true', '0.58.2')).not.toBe(urlLinux);
expect(getURL('MyOS', 'false', '0.58.2')).not.toBe(urlLinux);
expect(getURL('Linux', 'false', '0.58.1')).not.toBe(urlLinux);
expect(getURL('Linux', 'true', '0.58.2')).toBe(urlLinuxExtended);
expect(getURL('macOS', 'false', '0.58.2')).toBe(urlMacOS);
expect(getURL('Windows', 'false', '0.58.2')).toBe(urlWindows);
});
// test("test exception", () => {
// expect(() => {
// getURL("Linux", "hoge", "0.58.2");
// }).toThrowError("Invalid input (extended): hoge");
// });
});

91
__tests__/main.test.ts Normal file
View File

@@ -0,0 +1,91 @@
import * as main from '../src/main';
import * as io from '@actions/io';
import path from 'path';
import nock from 'nock';
import {Tool, Action} from '../src/constants';
// import {FetchError} from 'node-fetch';
import jsonTestBrew from './data/brew.json';
// import jsonTestGithub from './data/github.json';
jest.setTimeout(30000);
beforeEach(() => {
jest.resetModules();
});
afterEach(() => {
delete process.env['INPUT_HUGO-VERSION'];
nock.cleanAll();
});
describe('Integration testing run()', () => {
afterEach(async () => {
const workDir = path.join(`${process.env.HOME}`, Action.WorkDirName);
await io.rmRF(workDir);
});
test('succeed in installing a custom version', async () => {
const testVersion = Tool.TestVersionSpec;
process.env['INPUT_HUGO-VERSION'] = testVersion;
const result: main.ActionResult = await main.run();
expect(result.exitcode).toBe(0);
expect(result.output).toMatch(`Hugo Static Site Generator v${testVersion}`);
});
test('succeed in installing a custom extended version', async () => {
const testVersion = Tool.TestVersionSpec;
process.env['INPUT_HUGO-VERSION'] = testVersion;
process.env['INPUT_EXTENDED'] = 'true';
const result: main.ActionResult = await main.run();
expect(result.exitcode).toBe(0);
expect(result.output).toMatch(`Hugo Static Site Generator v${testVersion}`);
expect(result.output).toMatch(`extended`);
});
test('succeed in installing the latest version', async () => {
const testVersion = 'latest';
process.env['INPUT_HUGO-VERSION'] = testVersion;
nock('https://formulae.brew.sh')
.get(`/api/formula/${Tool.Repo}.json`)
.reply(200, jsonTestBrew);
const result: main.ActionResult = await main.run();
expect(result.exitcode).toBe(0);
expect(result.output).toMatch(
`Hugo Static Site Generator v${Tool.TestVersionLatest}`
);
});
test('succeed in installing the latest extended version', async () => {
const testVersion = 'latest';
process.env['INPUT_HUGO-VERSION'] = testVersion;
process.env['INPUT_EXTENDED'] = 'true';
nock('https://formulae.brew.sh')
.get(`/api/formula/${Tool.Repo}.json`)
.reply(200, jsonTestBrew);
const result: main.ActionResult = await main.run();
expect(result.exitcode).toBe(0);
expect(result.output).toMatch(
`Hugo Static Site Generator v${Tool.TestVersionLatest}`
);
expect(result.output).toMatch(`extended`);
});
});
describe('showVersion()', () => {
let result: main.ActionResult = {
exitcode: 0,
output: ''
};
test('return version', async () => {
result = await main.showVersion('git', ['--version']);
expect(result.exitcode).toBe(0);
expect(result.output).toMatch(/git version/);
});
test('return not found', async () => {
await expect(
main.showVersion('gitgit', ['--version'])
).rejects.toThrowError(Error);
});
});

File diff suppressed because it is too large Load Diff

2199
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,22 +1,24 @@
{
"name": "hugo-action",
"version": "2.2.0",
"description": "Hugo setup action",
"version": "2.4.1",
"description": "GitHub Actions for Hugo",
"main": "lib/index.js",
"scripts": {
"lint": "eslint ./src/**/*.ts",
"lint:fix": "eslint --fix ./src/**/*.ts",
"lint": "eslint ./{src,__tests__}/**/*.ts",
"lint:fix": "eslint --fix ./{src,__tests__}/**/*.ts",
"test": "jest --coverage --verbose",
"build": "ncc build ./src/index.ts -o lib",
"tsc": "tsc",
"format": "prettier --write **/*.ts",
"format:check": "prettier --check **/*.ts"
"format:check": "prettier --check **/*.ts",
"release": "standard-version",
"update-deps": "(git diff 'HEAD@{1}' --name-only | grep 'package-lock.json' > /dev/null) && npm ci || :"
},
"husky": {
"skipCI": true,
"hooks": {
"pre-commit": "lint-staged",
"post-commit": "npm run build && echo '⚠️ Do not forget to Commit and Push ./lib/index.js'"
"post-merge": "npm run update-deps; git remote prune origin"
}
},
"lint-staged": {
@@ -46,24 +48,29 @@
},
"homepage": "https://github.com/peaceiris/actions-hugo#readme",
"dependencies": {
"@actions/core": "^1.2.0",
"@actions/exec": "^1.0.1",
"@actions/io": "^1.0.1",
"@actions/tool-cache": "^1.1.2",
"xmlhttprequest": "^1.8.0"
"@actions/core": "^1.2.1",
"@actions/exec": "^1.0.3",
"@actions/io": "^1.0.2",
"@actions/tool-cache": "^1.3.0",
"node-fetch": "^2.6.0"
},
"devDependencies": {
"@types/jest": "^24.0.23",
"@types/node": "^12.12.11",
"@typescript-eslint/parser": "^2.8.0",
"@zeit/ncc": "^0.20.5",
"eslint": "^6.6.0",
"husky": "^3.1.0",
"@types/jest": "^24.9.0",
"@types/node": "^13.1.7",
"@types/node-fetch": "^2.5.4",
"@typescript-eslint/eslint-plugin": "^2.16.0",
"@typescript-eslint/parser": "^2.16.0",
"@zeit/ncc": "^0.21.0",
"eslint": "^6.8.0",
"eslint-plugin-jest": "^23.6.0",
"husky": "^4.0.10",
"jest": "^24.9.0",
"jest-circus": "^24.9.0",
"lint-staged": "^9.4.3",
"lint-staged": "^9.5.0",
"nock": "^11.7.2",
"prettier": "1.19.1",
"ts-jest": "^24.1.0",
"typescript": "^3.7.2"
"standard-version": "^7.0.1",
"ts-jest": "^24.3.0",
"typescript": "^3.7.5"
}
}

48
release.sh Executable file
View File

@@ -0,0 +1,48 @@
#!/usr/bin/env bash
# fail on unset variables and command errors
set -eu -o pipefail # -x: is for debugging
if [ "$(git branch --show-current)" != "master" ]; then
echo "$0: Current branch is not master" 1>&2
exit 1
fi
RELEASE_TYPE_LIST="prerelease prepatch patch preminor minor major premajor"
if command -v fzf; then
RELEASE_TYPE=$(echo "${RELEASE_TYPE_LIST}" | tr ' ' '\n' | fzf --layout=reverse)
else
select sel in ${RELEASE_TYPE_LIST}; do
RELEASE_TYPE="${sel}"
break
done
fi
echo "$0: Create ${RELEASE_TYPE} release, continue? (y/n)"
read -r res
if [ "${res}" = "n" ]; then
echo "$0: Stop script"
exit 0
fi
git fetch origin
git pull origin master
git tag -d v2
git pull origin --tags
npm ci
mkdir ./lib
npm run build
git add ./lib/index.js
git commit -m "chore(release): Add build assets"
npm run release -- --release-as "${RELEASE_TYPE}" --preset eslint
git rm ./lib/index.js
rm -rf ./lib
git commit -m "chore(release): Remove build assets [skip ci]"
TAG_NAME="v$(jq -r '.version' ./package.json)"
git push origin master
git push origin "${TAG_NAME}"

14
src/constants.ts Normal file
View File

@@ -0,0 +1,14 @@
export enum Tool {
Name = 'Hugo',
Org = 'gohugoio',
Repo = 'hugo',
CmdName = 'hugo',
CmdOptVersion = 'version',
TestVersionLatest = '0.62.2',
TestVersionSpec = '0.61.0'
}
export enum Action {
WorkDirName = 'actions_hugo',
TempDirName = '_temp'
}

View File

@@ -1,19 +1,30 @@
const XMLHttpRequest = require('xmlhttprequest').XMLHttpRequest;
import fetch from 'node-fetch';
export default function getLatestVersion(): Promise<string> {
return new Promise((resolve, reject) => {
const xhr = new XMLHttpRequest();
const url: string = 'https://formulae.brew.sh/api/formula/hugo.json';
xhr.open('GET', url);
xhr.send();
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) {
const result = JSON.parse(xhr.responseText);
const latestVersion: string = result.versions.stable;
resolve(latestVersion);
} else if (xhr.readyState === 4 && xhr.status !== 200) {
reject(`ERROR: got status ${xhr.status} of ${url}`);
}
};
});
export function getURL(org: string, repo: string, api: string): string {
let url = '';
if (api === 'brew') {
url = `https://formulae.brew.sh/api/formula/${repo}.json`;
} else if (api === 'github') {
url = `https://api.github.com/repos/${org}/${repo}/releases/latest`;
}
return url;
}
export async function getLatestVersion(
org: string,
repo: string,
api: string
): Promise<string> {
const url = getURL(org, repo, api);
const response = await fetch(url);
const json = await response.json();
let latestVersion = '';
if (api === 'brew') {
latestVersion = json.versions.stable;
} else if (api === 'github') {
latestVersion = json.tag_name;
}
return latestVersion;
}

View File

@@ -1,11 +1,10 @@
export default function getOS(platform: string) {
export default function getOS(platform: string): string {
if (platform === 'linux') {
return 'Linux';
} else if (platform === 'darwin') {
return 'macOS';
} else if (platform === 'win32') {
return 'Windows';
// throw new Error("Windows is not supported");
} else {
throw new Error(`${platform} is not supported`);
}

View File

@@ -3,7 +3,7 @@ export default function getURL(
extended: string,
version: string
): string {
const extendedStr = (extended: string) => {
const extendedStr = (extended: string): string => {
if (extended === 'true') {
return 'extended_';
} else {
@@ -13,7 +13,7 @@ export default function getURL(
}
};
const ext = (os: string) => {
const ext = (os: string): string => {
if (os === 'Windows') {
return 'zip';
} else {
@@ -21,11 +21,9 @@ export default function getURL(
}
};
const hugoName: string = `hugo_${extendedStr(
extended
)}${version}_${os}-64bit`;
const baseURL: string = 'https://github.com/gohugoio/hugo/releases/download';
const url: string = `${baseURL}/v${version}/${hugoName}.${ext(os)}`;
const hugoName = `hugo_${extendedStr(extended)}${version}_${os}-64bit`;
const baseURL = 'https://github.com/gohugoio/hugo/releases/download';
const url = `${baseURL}/v${version}/${hugoName}.${ext(os)}`;
return url;
}

View File

@@ -1,37 +1,3 @@
import * as core from '@actions/core';
import * as exec from '@actions/exec';
import getLatestVersion from './get-latest-version';
import installer from './installer';
import * as main from './main';
// most @actions toolkit packages have async methods
async function run() {
const dump = async () => {
// Show version
await exec.exec('hugo version');
};
try {
const hugoVersion: string = core.getInput('hugo-version');
if (hugoVersion === '' || hugoVersion === 'latest') {
getLatestVersion().then(
async function(latestVersion): Promise<void> {
console.log(`Hugo version: ${latestVersion} (${hugoVersion})`);
await installer(latestVersion);
await dump();
},
function(error) {
core.setFailed(error);
}
);
} else {
console.log(`Hugo version: ${hugoVersion}`);
await installer(hugoVersion);
await dump();
}
} catch (error) {
core.setFailed(error.message);
}
}
run();
main.run();

View File

@@ -4,58 +4,72 @@ import * as io from '@actions/io';
import getOS from './get-os';
import getURL from './get-url';
import * as path from 'path';
import {Tool, Action} from './constants';
export function getHomeDir(): string {
let homedir = '';
let tempDir: string = process.env['RUNNER_TEMPDIRECTORY'] || '';
if (!tempDir) {
let baseTempLocation: string;
if (process.platform === 'win32') {
baseTempLocation = process.env['USERPROFILE'] || 'C:\\';
homedir = process.env['USERPROFILE'] || 'C:\\';
} else {
baseTempLocation = `${process.env.HOME}`;
homedir = `${process.env.HOME}`;
}
tempDir = path.join(baseTempLocation, 'tmp');
core.debug(`homeDir: ${homedir}`);
return homedir;
}
export default async function installer(version: string) {
try {
const extended: string = core.getInput('extended');
console.log(`Hugo extended: ${extended}`);
const osName: string = getOS(process.platform);
console.log(`Operating System: ${osName}`);
const hugoURL: string = getURL(osName, extended, version);
core.debug(`hugoURL: ${hugoURL}`);
let baseLocation: string;
if (process.platform === 'win32') {
baseLocation = process.env['USERPROFILE'] || 'C:\\';
} else {
baseLocation = `${process.env.HOME}`;
}
const hugoPath: string = path.join(baseLocation, 'hugobin');
await io.mkdirP(hugoPath);
core.addPath(hugoPath);
// Download and extract Hugo binary
await io.mkdirP(tempDir);
const hugoAssets: string = await tc.downloadTool(hugoURL);
let hugoBin: string = '';
if (osName === 'Windows') {
const hugoExtractedFolder: string = await tc.extractZip(
hugoAssets,
tempDir
);
hugoBin = `${hugoExtractedFolder}/hugo.exe`;
} else {
const hugoExtractedFolder: string = await tc.extractTar(
hugoAssets,
tempDir
);
hugoBin = `${hugoExtractedFolder}/hugo`;
}
await io.mv(hugoBin, hugoPath);
} catch (error) {
core.setFailed(error.message);
}
export async function createWorkDir(): Promise<string> {
const workDir = path.join(getHomeDir(), Action.WorkDirName);
await io.mkdirP(workDir);
core.debug(`workDir: ${workDir}`);
return workDir;
}
export async function createTempDir(workDir: string): Promise<string> {
const tempDir = path.join(workDir, Action.TempDirName);
await io.mkdirP(tempDir);
core.debug(`tempDir: ${tempDir}`);
return tempDir;
}
export async function createBinDir(workDir: string): Promise<string> {
const binDir = path.join(workDir, 'bin');
await io.mkdirP(binDir);
core.addPath(binDir);
core.debug(`binDir: ${binDir}`);
return binDir;
}
export async function installer(version: string): Promise<void> {
const extended: string = core.getInput('extended');
core.debug(`Hugo extended: ${extended}`);
const osName: string = getOS(process.platform);
core.debug(`Operating System: ${osName}`);
const toolURL: string = getURL(osName, extended, version);
core.debug(`toolURL: ${toolURL}`);
const workDir = await createWorkDir();
const binDir = await createBinDir(workDir);
const tempDir = await createTempDir(workDir);
const toolAssets: string = await tc.downloadTool(toolURL);
let toolBin = '';
if (process.platform === 'win32') {
const toolExtractedFolder: string = await tc.extractZip(
toolAssets,
tempDir
);
toolBin = `${toolExtractedFolder}/${Tool.CmdName}.exe`;
} else {
const toolExtractedFolder: string = await tc.extractTar(
toolAssets,
tempDir
);
toolBin = `${toolExtractedFolder}/${Tool.CmdName}`;
}
await io.mv(toolBin, binDir);
}

61
src/main.ts Normal file
View File

@@ -0,0 +1,61 @@
import * as core from '@actions/core';
import * as exec from '@actions/exec';
import {getLatestVersion} from './get-latest-version';
import {installer} from './installer';
import {Tool} from './constants';
export interface ActionResult {
exitcode: number;
output: string;
}
export async function showVersion(
cmd: string,
args: string[]
): Promise<ActionResult> {
const result: ActionResult = {
exitcode: 0,
output: ''
};
const options = {
listeners: {
stdout: (data: Buffer): void => {
result.output += data.toString();
}
}
};
result.exitcode = await exec.exec(cmd, args, options);
core.debug(`command: ${cmd} ${args}`);
core.debug(`exit code: ${result.exitcode}`);
core.debug(`stdout: ${result.output}`);
return result;
}
export async function run(): Promise<ActionResult> {
try {
const toolVersion: string = core.getInput('hugo-version');
let installVersion = '';
let result: ActionResult = {
exitcode: 0,
output: ''
};
if (toolVersion === '' || toolVersion === 'latest') {
installVersion = await getLatestVersion(Tool.Org, Tool.Repo, 'brew');
} else {
installVersion = toolVersion;
}
core.info(`${Tool.Name} version: ${installVersion}`);
await installer(installVersion);
result = await showVersion(Tool.CmdName, [Tool.CmdOptVersion]);
return result;
} catch (e) {
core.setFailed(`Action failed with error ${e}`);
return e;
}
}

View File

@@ -45,7 +45,7 @@
// "typeRoots": [], /* List of folders to include type definitions from. */
// "types": [], /* Type declaration files to be included in compilation. */
// "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */
"esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */
"esModuleInterop": true, /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */
// "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */
// "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */
@@ -58,6 +58,8 @@
/* Experimental Options */
// "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */
// "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */
"resolveJsonModule": true
},
"exclude": ["node_modules", "**/*.test.ts"]
}