Compare commits
283 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 2752ce1d29 | |||
| d8391e68b0 | |||
| 4e5bf412f0 | |||
| c2f9fa4376 | |||
| cf03c8dbc2 | |||
| 50c0903488 | |||
| 681f914d18 | |||
| 7c673b8b9e | |||
| 27f9d4ab07 | |||
| 71c032c9dc | |||
| 66080d4abb | |||
| b1937e141c | |||
| 189731ef00 | |||
| e3c35ac635 | |||
| 8a69ba55a5 | |||
| 187a5efe81 | |||
| d488e4d987 | |||
| 20e81489be | |||
| 32c7754570 | |||
| 62903c46a1 | |||
| 64e0f66acb | |||
| fd1a667089 | |||
| ba5146cb8a | |||
| 83259d800c | |||
| 3a287949d3 | |||
| 3b443076f0 | |||
| 764796d276 | |||
| e177dc33cb | |||
| 711df4ed64 | |||
| 9d57878417 | |||
| 288264f9c9 | |||
| 7db63f5e7f | |||
| 00e5abe1c8 | |||
| 1b06a03d21 | |||
| 75d2e84710 | |||
| e482f7ce0f | |||
| d85452eadf | |||
| 01bd2b16cc | |||
| 966dfad385 | |||
| c57490a8b0 | |||
| aadc3a98df | |||
| c0084b0763 | |||
| 31c46541ce | |||
| 3d92e2fd55 | |||
| 7c4b9f1f99 | |||
| 7652d53369 | |||
| 3fa8fd6cee | |||
| 844f8735f6 | |||
| b1822b6abe | |||
| 4910870eaa | |||
| 16361eb4ac | |||
| 2eb0f86851 | |||
| 9a77c647c2 | |||
| 8da14cc542 | |||
| c0150f24bb | |||
| a2eba60698 | |||
| 831547a4b2 | |||
| bd5a5edf1b | |||
| 46553eae11 | |||
| 11bede66e7 | |||
| 808d10a6aa | |||
| 25736cc1c0 | |||
| 6ce18a799f | |||
| 4809af4bd4 | |||
| 3c69ee1612 | |||
| 2f2b8d32b9 | |||
| 7d27b3ca0d | |||
| 616b5f11b6 | |||
| 91a922ca60 | |||
| 8f469b17c3 | |||
| 26d3d6b656 | |||
| f90a73305c | |||
| dee39257f5 | |||
| be79927858 | |||
| b15a5c70d3 | |||
| 857689ab4c | |||
| b2630b1c8f | |||
| 0401e3b43f | |||
| a41bdb53bd | |||
| 550aee6c36 | |||
| ba23c24d3a | |||
| 333f75f372 | |||
| 1575f408ae | |||
| 3476bf7e65 | |||
| 008429aaab | |||
| 86a3c300c7 | |||
| 6eea37b1f9 | |||
| 21c525440c | |||
| 7d37d3a39a | |||
| 3bb386ec5a | |||
| a5a80db759 | |||
| cebd0015e0 | |||
| f93586ef6c | |||
| b911fb4dcf | |||
| c91cecd7e1 | |||
| 4083be1363 | |||
| 57272db01c | |||
| 239a50c280 | |||
| 5fa8f53e89 | |||
| 54f7007102 | |||
| 82ac7db7f2 | |||
| 781702ee9d | |||
| 068938ab22 | |||
| 19b5ac8979 | |||
| c1f39e2b46 | |||
| 5fb41c87da | |||
| 20d6724b2c | |||
| 903b94526d | |||
| 8d746f09e2 | |||
| 497618ba62 | |||
| 101470c99f | |||
| dead32d589 | |||
| ad8a667428 | |||
| 5d8b0b2005 | |||
| 6a16840a86 | |||
| 41a402c64b | |||
| c03b5dbed2 | |||
| d282fd0d5e | |||
| f3792d95d8 | |||
| 6d30a88741 | |||
| 65bdbf15ab | |||
| b843eaee1d | |||
| f245604698 | |||
| 634c0f2891 | |||
| 6b42ea1676 | |||
| 929d18cc52 | |||
| 065ff428c5 | |||
| b67469730c | |||
| b263ea9e10 | |||
| 937472ef05 | |||
| d2d1138306 | |||
| 5d548aa7b6 | |||
| 354ddc2c0e | |||
| b7da7a5c7f | |||
| da36599fbf | |||
| fbae6cf1c8 | |||
| e53f8d69e5 | |||
| 0590f912fc | |||
| e77b89094b | |||
| 9f50a3c912 | |||
| 917a09767d | |||
| d2e1e740d0 | |||
| a6b1a4cb03 | |||
| c3d587365f | |||
| 31afbc6b76 | |||
| 638ebc39d8 | |||
| 4f6ebdd767 | |||
| 32f5b71c41 | |||
| 029d5ce0d0 | |||
| 9564982d19 | |||
| da35efefa8 | |||
| 612b00fe8f | |||
| b2b9041dc7 | |||
| 10834f4404 | |||
| f6171a1916 | |||
| 8ed2f1fddd | |||
| 206a21899a | |||
| 8087db7214 | |||
| e4d3e173c5 | |||
| b0fb91bc02 | |||
| 781fb448ba | |||
| ee35d79f1a | |||
| beaa1ee2a1 | |||
| 9dea4e7496 | |||
| 9dc9001ec2 | |||
| 8808a28020 | |||
| d2c234c93b | |||
| ecc43610c0 | |||
| 35b8c49468 | |||
| fc61cdeb05 | |||
| 7e706f1384 | |||
| ff64ad3cd4 | |||
| 21d2e6ea58 | |||
| 5560a30c30 | |||
| bad27227bf | |||
| d2b6644a80 | |||
| 0df2d4252f | |||
| 4d4d52c170 | |||
| a7dd10985c | |||
| a448002cc3 | |||
| a5336818df | |||
| d183b58fee | |||
| 7e8c2a08b4 | |||
| 57c1213897 | |||
| 0c241c131a | |||
| 2b3e82c924 | |||
| 8bb474e6f0 | |||
| b1548a6acb | |||
| 2e89aa66d0 | |||
| 8286aeefb8 | |||
| 88b26abfee | |||
| cd215c4ce4 | |||
| d13e210741 | |||
| 18a809e6c9 | |||
| 4245d14847 | |||
| 33a289a0d5 | |||
| 01cbeb899c | |||
| 267b3f1c66 | |||
| 3317f5e6cd | |||
| 5e135f617c | |||
| 3c588690f5 | |||
| fe1c07bf27 | |||
| 873c0ab6ca | |||
| e091c924f2 | |||
| 22a55848e8 | |||
| 802b595093 | |||
| 3120b3dd8c | |||
| f0e838658f | |||
| 4b04428f53 | |||
| 79ed21ee9b | |||
| 4c60b233f2 | |||
| bcbb69dfa4 | |||
| 4e17872cd1 | |||
| b59871c37d | |||
| e7fbc0b5da | |||
| 6b131935e4 | |||
| 5825c9307b | |||
| 5b3d1ee007 | |||
| 5a94243d05 | |||
| b0f29e7ede | |||
| b94c20b65d | |||
| 71168fab79 | |||
| caf4dd6aae | |||
| aba4ae3195 | |||
| e0b4d029a2 | |||
| c230bfdf99 | |||
| 6ec44a7303 | |||
| 444111b78c | |||
| 997c3c888a | |||
| a6baa39988 | |||
| 6c93ce5fef | |||
| 77557cc391 | |||
| bfac4748b6 | |||
| baf489601c | |||
| e45313c6a1 | |||
| 77531419b5 | |||
| 32ec0a285c | |||
| d1ebf3fd0d | |||
| ca4532b6bc | |||
| 5a7d3a7506 | |||
| 1f22e6c5e6 | |||
| 61b002f4ff | |||
| 2acd7a45c8 | |||
| 67dcb244d0 | |||
| be3e1ccca2 | |||
| beefbb44e1 | |||
| 3462f4d33f | |||
| f8104a9bdb | |||
| 316ab5f380 | |||
| 64f9c36d5e | |||
| b7fbea4c34 | |||
| 76e5f6f1f3 | |||
| 89d2e2c7e8 | |||
| 71327d4646 | |||
| 1eeaa0edab | |||
| da2d5466d3 | |||
| 71f80aff9f | |||
| 3f02ff7a9e | |||
| 87ff7f6586 | |||
| 18a17a77a8 | |||
| 483f8d1e34 | |||
| c83f10804e | |||
| cf40bc8ca5 | |||
| 2fa902b35f | |||
| 16d8ce1cd5 | |||
| 1835230a2b | |||
| f1c7ecda61 | |||
| 96f56dee02 | |||
| 863939f1a7 | |||
| 00ad5734ff | |||
| eb88818df9 | |||
| 45f920d29b | |||
| d59d21e633 | |||
| e4507caf0b | |||
| f42b9853d3 | |||
| 638096b27f | |||
| 53a8986af5 | |||
| 838268abaf | |||
| 9f4ef016d6 | |||
| 8bff475612 | |||
| be3787356a | |||
| 919a5f9b0b | |||
| 20fdc5a174 |
@@ -1,24 +0,0 @@
|
||||
{
|
||||
"env": {
|
||||
"commonjs": true,
|
||||
"es6": true,
|
||||
"node": true
|
||||
},
|
||||
"extends": [
|
||||
"eslint:recommended",
|
||||
"plugin:@typescript-eslint/recommended",
|
||||
"plugin:@typescript-eslint/recommended",
|
||||
"plugin:jest/recommended"
|
||||
],
|
||||
"globals": {
|
||||
"Atomics": "readonly",
|
||||
"SharedArrayBuffer": "readonly"
|
||||
},
|
||||
"parser": "@typescript-eslint/parser",
|
||||
"parserOptions": {
|
||||
"sourceType": "module",
|
||||
"ecmaVersion": 2019
|
||||
},
|
||||
"rules": {
|
||||
}
|
||||
}
|
||||
@@ -1,36 +0,0 @@
|
||||
---
|
||||
name: User Support
|
||||
about: Questions for this Action
|
||||
title: 'sample_title'
|
||||
labels: support
|
||||
assignees: peaceiris
|
||||
---
|
||||
|
||||
**Note that an issue which does not follow the template will be closed silently.**
|
||||
|
||||
## Check list before opening this issue
|
||||
|
||||
- [ ] I read the latest README of this repository.
|
||||
|
||||
For users of the GitHub Pages Action:
|
||||
|
||||
- [ ] I checked [Available Options](https://github.com/peaceiris/actions-gh-pages#options)
|
||||
- [ ] I followed [Tips and FAQs](https://github.com/peaceiris/actions-gh-pages#tips-and-faq)
|
||||
- [ ] I tried [Workflow Examples](https://github.com/peaceiris/actions-gh-pages#examples)
|
||||
|
||||
## Describe your question
|
||||
|
||||
A clear and concise description of what the question is.
|
||||
|
||||
## Link to your contents
|
||||
|
||||
- Link to your public repository here
|
||||
- Link to your workflow here
|
||||
|
||||
## Screenshots
|
||||
|
||||
If applicable, add screenshots to help explain your question.
|
||||
|
||||
## Additional context
|
||||
|
||||
Add any other context about the problem here.
|
||||
@@ -0,0 +1,52 @@
|
||||
name: User Support
|
||||
description: Questions for this action
|
||||
title: "support: "
|
||||
labels: support
|
||||
assignees: peaceiris
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value:
|
||||
Please note we will close your issue without comment if you do not fill out the issue checklist below and provide ALL the requested information.
|
||||
- type: checkboxes
|
||||
attributes:
|
||||
label: Checklist
|
||||
description: Checklist before creating an issue.
|
||||
options:
|
||||
- label: "I am using the latest version of this action."
|
||||
required: true
|
||||
- label: "I have read the latest README and followed the instructions."
|
||||
required: true
|
||||
- label: "I have read the latest GitHub Actions official documentation and learned the basic spec and concepts."
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Describe your question
|
||||
description: A clear and concise description of what the question is.
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Relevant links
|
||||
description:
|
||||
Links to your public repository, YAML config file, and YAML workflow file.
|
||||
Please use [a permanent link](https://docs.github.com/en/github/managing-files-in-a-repository/managing-files-on-github/getting-permanent-links-to-files), not a default branch.
|
||||
render: markdown
|
||||
value: |
|
||||
Public repository:
|
||||
YAML config:
|
||||
YAML workflow:
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Relevant log output
|
||||
description: Copy and paste any relevant log output here.
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Additional context.
|
||||
description: Write any other context about the question here.
|
||||
validations:
|
||||
required: true
|
||||
@@ -1,39 +0,0 @@
|
||||
---
|
||||
name: Bug Report
|
||||
about: First, use the User Support Issue Template
|
||||
title: 'sample_title'
|
||||
labels: bug
|
||||
assignees: peaceiris
|
||||
|
||||
---
|
||||
|
||||
**Note that an issue which does not follow the template will be closed silently.**
|
||||
|
||||
## Describe the bug
|
||||
|
||||
A clear and concise description of what the bug is.
|
||||
|
||||
## To Reproduce
|
||||
|
||||
Steps to reproduce the behavior:
|
||||
1. Go to '...'
|
||||
2. Click on '....'
|
||||
3. Scroll down to '....'
|
||||
4. See error
|
||||
|
||||
## Expected behavior
|
||||
|
||||
A clear and concise description of what you expected to happen.
|
||||
|
||||
## Screenshots
|
||||
|
||||
If applicable, add screenshots to help explain your problem.
|
||||
|
||||
## Your YAML file
|
||||
|
||||
- A link to your repository
|
||||
- A link to your YAML file
|
||||
|
||||
## Additional context
|
||||
|
||||
Add any other context about the problem here.
|
||||
@@ -0,0 +1,52 @@
|
||||
name: Bug Report
|
||||
description: Try the User Support Issue Template first.
|
||||
title: 'bug: '
|
||||
labels: bug
|
||||
assignees: peaceiris
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value:
|
||||
Please note we will close your issue without comment if you do not fill out the issue checklist below and provide ALL the requested information.
|
||||
- type: checkboxes
|
||||
attributes:
|
||||
label: Checklist
|
||||
description: Checklist before creating an issue.
|
||||
options:
|
||||
- label: "I am using the latest version of this action."
|
||||
required: true
|
||||
- label: "I have read the latest README and followed the instructions."
|
||||
required: true
|
||||
- label: "I have read the latest GitHub Actions official documentation and learned the basic spec and concepts."
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: "Describe the bug"
|
||||
description: "A clear and concise description of what the bug is."
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Relevant links
|
||||
description:
|
||||
Links to your public repository, YAML config file, and YAML workflow file.
|
||||
Please use [a permanent link](https://docs.github.com/en/github/managing-files-in-a-repository/managing-files-on-github/getting-permanent-links-to-files), not a default branch.
|
||||
render: markdown
|
||||
value: |
|
||||
Public repository:
|
||||
YAML config:
|
||||
YAML workflow:
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Relevant log output
|
||||
description: Copy and paste any relevant log output here.
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Additional context.
|
||||
description: Write any other context about the question here.
|
||||
validations:
|
||||
required: true
|
||||
@@ -1,26 +0,0 @@
|
||||
---
|
||||
name: Proposal
|
||||
about: Suggest an idea for this project
|
||||
title: 'sample_title'
|
||||
labels: proposal
|
||||
assignees: peaceiris
|
||||
|
||||
---
|
||||
|
||||
**Note that an issue which does not follow the template will be closed silently.**
|
||||
|
||||
## Is your feature request related to a problem? Please describe.
|
||||
|
||||
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
|
||||
|
||||
## Describe the solution you'd like
|
||||
|
||||
A clear and concise description of what you want to happen.
|
||||
|
||||
## Describe alternatives you've considered
|
||||
|
||||
A clear and concise description of any alternative solutions or features you've considered.
|
||||
|
||||
## Additional context
|
||||
|
||||
Add any other context or screenshots about the feature request here.
|
||||
@@ -0,0 +1,45 @@
|
||||
name: Proposal
|
||||
description: Suggest an idea for this project
|
||||
title: 'proposal: '
|
||||
labels: proposal
|
||||
assignees: peaceiris
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value:
|
||||
Please note we will close your issue without comment if you do not fill out the issue checklist below and provide ALL the requested information.
|
||||
- type: checkboxes
|
||||
attributes:
|
||||
label: Checklist
|
||||
description: Checklist before creating an issue.
|
||||
options:
|
||||
- label: "I am using the latest version of this action."
|
||||
required: true
|
||||
- label: "I have read the latest README and followed the instructions."
|
||||
required: true
|
||||
- label: "I have read the latest GitHub Actions official documentation and learned the basic spec and concepts."
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: "Describe your proposal"
|
||||
description: "A clear and concise description of what the proposal is."
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: "Describe the solution you'd like"
|
||||
description: "A clear and concise description of what you want to happen."
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: "Describe alternatives you've considered"
|
||||
description: "A clear and concise description of any alternative solutions or features you've considered."
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: "Additional context"
|
||||
description: "Add any other context or screenshots about the feature request here."
|
||||
validations:
|
||||
required: true
|
||||
@@ -1,8 +1,11 @@
|
||||
blank_issues_enabled: false
|
||||
contact_links:
|
||||
- name: GitHub Actions - GitHub Support Community Forum
|
||||
url: https://github.community/c/github-actions
|
||||
url: https://github.community/c/code-to-cloud/github-actions/41
|
||||
about: Please ask questions about GitHub Actions here.
|
||||
- name: Hugo Community Forum
|
||||
url: https://discourse.gohugo.io/
|
||||
about: Please ask questions about Hugo here.
|
||||
- name: GitHub Actions Documentation
|
||||
url: https://docs.github.com/en/actions
|
||||
about: GitHub Actions official documentation here.
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
## Summary
|
||||
|
||||
<!-- Describe what this pull request changes and why. -->
|
||||
|
||||
## Changes
|
||||
|
||||
<!-- List the notable changes. -->
|
||||
|
||||
-
|
||||
|
||||
## Checklist
|
||||
|
||||
- [ ] I have read the latest README and followed the instructions.
|
||||
- [ ] I have added or updated tests for behavior changes.
|
||||
- [ ] I have updated README.md and action.yml when inputs or runtime behavior changed.
|
||||
- [ ] I have run the relevant verification commands.
|
||||
|
||||
## Verification
|
||||
|
||||
<!-- List the commands you ran and their results. -->
|
||||
|
||||
- [ ] `npm run all`
|
||||
- [ ] `npm run build`
|
||||
@@ -6,14 +6,10 @@ updates:
|
||||
interval: daily
|
||||
time: '11:00'
|
||||
timezone: Japan
|
||||
open-pull-requests-limit: 1
|
||||
labels:
|
||||
- "dependencies"
|
||||
ignore:
|
||||
- dependency-name: "@types/node"
|
||||
versions:
|
||||
- ">= 13.a, < 14"
|
||||
- ">= 14.a, < 15"
|
||||
allow:
|
||||
- dependency-type: "production"
|
||||
commit-message:
|
||||
prefix: deps
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ labels:
|
||||
issue:
|
||||
body: |
|
||||
Please ask questions about GitHub Actions or Hugo at the following forum.
|
||||
- [GitHub Actions Community Forum](https://github.community/t5/GitHub-Actions/bd-p/actions)
|
||||
- [GitHub Actions Community Forum](https://github.community/c/github-actions)
|
||||
- [Hugo Community Forum](https://discourse.gohugo.io/)
|
||||
action: close
|
||||
- name: wontfix
|
||||
@@ -30,3 +30,14 @@ labels:
|
||||
labeled:
|
||||
issue:
|
||||
body: This issue is easy for contributing. Everyone can work on this.
|
||||
- name: resolved
|
||||
labeled:
|
||||
issue:
|
||||
body: |
|
||||
This issue has been **LOCKED** because of it being resolved!
|
||||
|
||||
The issue has been fixed and is therefore considered resolved.
|
||||
If you still encounter this or it has changed, open a new issue instead of responding to solved ones.
|
||||
action: close
|
||||
locking: lock
|
||||
lock_reason: resolved
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
name: "Code Scanning"
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
CodeQL-Build:
|
||||
runs-on: ubuntu-24.04
|
||||
timeout-minutes: 20
|
||||
permissions:
|
||||
contents: read
|
||||
security-events: write
|
||||
steps:
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@68bde559dea0fdcac2102bfdf6230c5f70eb485e # v4.35.4
|
||||
with:
|
||||
languages: javascript
|
||||
|
||||
- name: Autobuild
|
||||
uses: github/codeql-action/autobuild@68bde559dea0fdcac2102bfdf6230c5f70eb485e # v4.35.4
|
||||
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@68bde559dea0fdcac2102bfdf6230c5f70eb485e # v4.35.4
|
||||
@@ -0,0 +1,17 @@
|
||||
# Source repository: https://github.com/actions/dependency-review-action
|
||||
# Public documentation: https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review#dependency-review-enforcement
|
||||
name: 'Dependency Review'
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
dependency-review:
|
||||
runs-on: ubuntu-24.04
|
||||
timeout-minutes: 5
|
||||
steps:
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
- uses: actions/dependency-review-action@2031cfc080254a8a887f58cffee85186f0e49e48 # v4.9.0
|
||||
@@ -3,7 +3,7 @@ name: 'Dev Image CI'
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- main
|
||||
paths:
|
||||
- '.github/workflows/dev-image.yml'
|
||||
- '.dockerignore'
|
||||
@@ -22,16 +22,15 @@ on:
|
||||
- 'Makefile'
|
||||
|
||||
jobs:
|
||||
skipci:
|
||||
runs-on: ubuntu-18.04
|
||||
steps:
|
||||
- run: echo "[skip ci] ${{ contains(github.event.head_commit.message, '[skip ci]') }}"
|
||||
|
||||
dev-image-test:
|
||||
runs-on: ubuntu-18.04
|
||||
if: contains(github.event.head_commit.message, '[skip ci]') == false
|
||||
runs-on: ubuntu-24.04
|
||||
timeout-minutes: 20
|
||||
permissions:
|
||||
contents: read
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
- run: make build
|
||||
- run: make cirun cmd="npm ci"
|
||||
- run: make ciall
|
||||
# - run: make ciall
|
||||
- run: make cirun cmd="npm run format:check"
|
||||
- run: make cirun cmd="npm run lint"
|
||||
|
||||
@@ -12,14 +12,18 @@ on:
|
||||
|
||||
jobs:
|
||||
comment:
|
||||
runs-on: ubuntu-18.04
|
||||
runs-on: ubuntu-24.04
|
||||
timeout-minutes: 5
|
||||
permissions:
|
||||
contents: read
|
||||
issues: write
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
with:
|
||||
ref: master
|
||||
ref: main
|
||||
|
||||
- name: Label Commenter
|
||||
uses: peaceiris/actions-label-commenter@v1
|
||||
uses: peaceiris/actions-label-commenter@f0dbbef043eb1b150b566db36b0bdc8b7f505579 # v1.10.0
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
# config_file: .github/label-commenter-config.yml
|
||||
|
||||
@@ -6,11 +6,12 @@ on:
|
||||
|
||||
jobs:
|
||||
purge:
|
||||
runs-on: ubuntu-18.04
|
||||
runs-on: ubuntu-slim
|
||||
timeout-minutes: 5
|
||||
permissions: {}
|
||||
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 %
|
||||
- run: |
|
||||
curl -sL "https://github.com/${GITHUB_REPOSITORY}" |
|
||||
grep -oE '<img src="https?://camo.githubusercontent.com/[^"]+' |
|
||||
sed -e 's/<img src="//' |
|
||||
xargs -r -I % curl -sX PURGE %
|
||||
|
||||
@@ -7,9 +7,12 @@ on:
|
||||
|
||||
jobs:
|
||||
release:
|
||||
runs-on: ubuntu-18.04
|
||||
runs-on: ubuntu-24.04
|
||||
timeout-minutes: 10
|
||||
permissions:
|
||||
contents: write
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
|
||||
- name: Dump GitHub context
|
||||
env:
|
||||
|
||||
@@ -1,38 +1,29 @@
|
||||
name: Daily Test
|
||||
name: Test Action
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '13 13 * * *'
|
||||
push:
|
||||
branches: [main, feat/node24]
|
||||
pull_request:
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
test:
|
||||
runs-on: ${{ matrix.os }}
|
||||
runs-on: ubuntu-24.04
|
||||
timeout-minutes: 10
|
||||
permissions:
|
||||
contents: read
|
||||
strategy:
|
||||
matrix:
|
||||
os:
|
||||
- 'ubuntu-20.04'
|
||||
- 'ubuntu-18.04'
|
||||
- 'ubuntu-16.04'
|
||||
- 'macos-latest'
|
||||
- 'windows-latest'
|
||||
hugo-version:
|
||||
- 'latest'
|
||||
- '0.61.0'
|
||||
extended:
|
||||
- true
|
||||
- false
|
||||
hugo-version: ['latest', '0.160.1']
|
||||
extended: [true, false]
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
|
||||
- name: Setup Hugo
|
||||
uses: peaceiris/actions-hugo@v2
|
||||
uses: peaceiris/actions-hugo@32c7754570a8edd0ae33352fae4a8448f23858e9 # v3.1.0
|
||||
with:
|
||||
hugo-version: ${{ matrix.hugo-version }}
|
||||
extended: ${{ matrix.extended }}
|
||||
|
||||
- name: Run hugo version
|
||||
run: echo "::set-output name=hugo_version::$(hugo version)"
|
||||
id: hugo_version
|
||||
|
||||
- name: '${{ steps.hugo_version.outputs.hugo_version }}'
|
||||
run: echo '${{ steps.hugo_version.outputs.hugo_version }}'
|
||||
- name: Verify Hugo
|
||||
run: hugo version
|
||||
|
||||
+15
-20
@@ -3,7 +3,7 @@ name: 'Test'
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- main
|
||||
paths-ignore:
|
||||
- '**.md'
|
||||
pull_request:
|
||||
@@ -13,49 +13,44 @@ on:
|
||||
jobs:
|
||||
test:
|
||||
runs-on: ${{ matrix.os }}
|
||||
timeout-minutes: 20
|
||||
permissions:
|
||||
contents: read
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os:
|
||||
- 'ubuntu-20.04'
|
||||
- 'ubuntu-18.04'
|
||||
- 'ubuntu-16.04'
|
||||
- 'ubuntu-24.04'
|
||||
- 'macos-latest'
|
||||
- 'windows-latest'
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
|
||||
- name: Read .nvmrc
|
||||
run: echo "::set-output name=NVMRC::$(cat .nvmrc)"
|
||||
id: nvm
|
||||
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@v2.0.0
|
||||
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
|
||||
with:
|
||||
node-version: '${{ steps.nvm.outputs.NVMRC }}'
|
||||
node-version-file: '.nvmrc'
|
||||
cache: 'npm'
|
||||
|
||||
- run: npm i -g npm
|
||||
- run: npm ci
|
||||
|
||||
- name: Run prettier
|
||||
if: startsWith(matrix.os, 'ubuntu-18.04')
|
||||
if: matrix.os == 'ubuntu-24.04'
|
||||
run: npm run format:check
|
||||
|
||||
- name: Run eslint
|
||||
if: startsWith(matrix.os, 'ubuntu-18.04')
|
||||
if: matrix.os == 'ubuntu-24.04'
|
||||
run: npm run lint
|
||||
|
||||
- name: Run ncc
|
||||
if: startsWith(matrix.os, 'ubuntu-18.04')
|
||||
if: matrix.os == 'ubuntu-24.04'
|
||||
run: npm run build
|
||||
|
||||
- run: npm test
|
||||
|
||||
- name: Upload test coverage as artifact
|
||||
uses: actions/upload-artifact@v2
|
||||
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
|
||||
with:
|
||||
name: coverage-${{ matrix.os }}
|
||||
path: coverage
|
||||
|
||||
- uses: codecov/codecov-action@v1.0.7
|
||||
with:
|
||||
token: ${{ secrets.CODECOV_TOKEN }}
|
||||
- uses: codecov/codecov-action@75cd11691c0faa626561e295848008c8a7dddffe # v5.5.4
|
||||
|
||||
@@ -2,22 +2,23 @@ name: Update major tag
|
||||
|
||||
on:
|
||||
release:
|
||||
types: [published]
|
||||
types: [released]
|
||||
|
||||
jobs:
|
||||
update:
|
||||
runs-on: ubuntu-18.04
|
||||
runs-on: ubuntu-24.04
|
||||
timeout-minutes: 5
|
||||
permissions:
|
||||
contents: write
|
||||
steps:
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
|
||||
- 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}"
|
||||
- name: Update major tag
|
||||
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}"
|
||||
|
||||
@@ -4,3 +4,4 @@ coverage
|
||||
.eslintcache
|
||||
.env
|
||||
node_modules
|
||||
.codex/
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
_
|
||||
Executable
+2
@@ -0,0 +1,2 @@
|
||||
npm ci
|
||||
git remote prune origin
|
||||
Executable
+1
@@ -0,0 +1 @@
|
||||
npx lint-staged
|
||||
+10
-10
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"printWidth": 80,
|
||||
"tabWidth": 2,
|
||||
"useTabs": false,
|
||||
"semi": true,
|
||||
"singleQuote": true,
|
||||
"trailingComma": "none",
|
||||
"bracketSpacing": false,
|
||||
"arrowParens": "avoid",
|
||||
"parser": "typescript"
|
||||
}
|
||||
"printWidth": 100,
|
||||
"tabWidth": 2,
|
||||
"useTabs": false,
|
||||
"semi": true,
|
||||
"singleQuote": true,
|
||||
"trailingComma": "none",
|
||||
"bracketSpacing": false,
|
||||
"arrowParens": "avoid",
|
||||
"parser": "typescript"
|
||||
}
|
||||
|
||||
Vendored
+2
-1
@@ -1,3 +1,4 @@
|
||||
{
|
||||
"git.ignoreLimitWarning": true
|
||||
"git.ignoreLimitWarning": true,
|
||||
"deno.enable": false
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
# Repository Guidelines
|
||||
|
||||
## Project Structure & Module Organization
|
||||
|
||||
This repository contains a TypeScript GitHub Action for installing Hugo. Runtime source lives in `src/`, with `src/index.ts` as the action entry and `src/main.ts` coordinating input handling and installation. Tests live in `__tests__/`, with fixtures in `__tests__/data/`. The action metadata is `action.yml`; it points to the bundled output `lib/index.js`, which is generated by `npm run build`. Workflow automation is under `.github/workflows/`, and project imagery is in `images/`.
|
||||
|
||||
## Build, Test, and Development Commands
|
||||
|
||||
- `npm ci`: install dependencies from `package-lock.json`.
|
||||
- `npm run all`: run format check, ESLint, and Jest tests; use this before opening a PR.
|
||||
- `npm test`: run Jest with coverage and verbose output.
|
||||
- `npm run lint` / `npm run lint:fix`: check or fix TypeScript lint issues.
|
||||
- `npm run format:check` / `npm run format`: check or apply Prettier formatting for `*.ts`.
|
||||
- `npm run build`: bundle `src/index.ts` into `lib/` with `ncc`; do not regenerate `lib/index.js` except for release work.
|
||||
- `make build`, `make test`, `make all`: run the Docker-based development image and test flow.
|
||||
|
||||
## Coding Style & Naming Conventions
|
||||
|
||||
Use TypeScript with `strict` and `noImplicitAny` enabled. Follow the existing Prettier settings: 2-space indentation, single quotes, semicolons, 100-column print width, no trailing commas, and no bracket spacing. Use named exports for reusable helpers, keep filenames lowercase with hyphenated words such as `get-latest-version.ts`, and keep tests named `*.test.ts`. Makefiles use tabs, as defined in `.editorconfig`.
|
||||
|
||||
## Testing Guidelines
|
||||
|
||||
Jest with `ts-jest` and `jest-circus` runs all `**/*.test.ts` files in a Node environment. Add focused unit tests next to related behavior in `__tests__/`, and place mocked API responses or reusable input data in `__tests__/data/`. Preserve or improve coverage when changing installer logic, URL generation, OS/arch detection, or latest-version lookup.
|
||||
|
||||
## Commit & Pull Request Guidelines
|
||||
|
||||
Commit history follows short Conventional Commit-style prefixes such as `feat:`, `ci:`, and `docs:`. Keep commit subjects imperative and scoped to one change. PRs should describe the behavior change, mention linked issues when applicable, and list verification commands such as `npm run all` and `npm run build`. Include updates to `README.md`, `action.yml`, and tests whenever inputs, runtime behavior, or documented examples change.
|
||||
|
||||
## Agent-Specific Instructions
|
||||
|
||||
Use English for repository-facing content, including documentation, code comments, commit messages, and pull request text, unless the task explicitly requires another language.
|
||||
+381
@@ -2,6 +2,387 @@
|
||||
|
||||
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.
|
||||
|
||||
## [3.2.1](https://github.com/peaceiris/actions-hugo/compare/v3.2.0...v3.2.1) (2026-05-10)
|
||||
|
||||
|
||||
### fix
|
||||
|
||||
* handle Hugo 0.139.5 archive fallback (#696) ([4e5bf41](https://github.com/peaceiris/actions-hugo/commit/4e5bf412f00ba628ed366436825de7226933f80d)), closes [#696](https://github.com/peaceiris/actions-hugo/issues/696)
|
||||
|
||||
|
||||
|
||||
# [3.2.0](https://github.com/peaceiris/actions-hugo/compare/v3.1.0...v3.2.0) (2026-05-10)
|
||||
|
||||
|
||||
### build
|
||||
|
||||
* update npm dependencies (#689) ([189731e](https://github.com/peaceiris/actions-hugo/commit/189731ef0083fa5500ca268865b02bd8eb3e7050)), closes [#689](https://github.com/peaceiris/actions-hugo/issues/689)
|
||||
|
||||
### chore
|
||||
|
||||
* delete lib/index.js ([8a69ba5](https://github.com/peaceiris/actions-hugo/commit/8a69ba55a596c78f65c6feef166e2eb2aebc2f2f))
|
||||
|
||||
### ci
|
||||
|
||||
* bump actions/checkout from 4.3.1 to 6.0.2 (#691) ([71c032c](https://github.com/peaceiris/actions-hugo/commit/71c032c9dcb44d6b93dd8910811cb1b6ea450bd5)), closes [#691](https://github.com/peaceiris/actions-hugo/issues/691)
|
||||
* bump actions/setup-node from 4.4.0 to 6.4.0 (#690) ([66080d4](https://github.com/peaceiris/actions-hugo/commit/66080d4abbf3e0d1bcfc83914cbbb18f90efcf00)), closes [#690](https://github.com/peaceiris/actions-hugo/issues/690) [actions/setup-node#1525](https://github.com/actions/setup-node/issues/1525) [actions/setup-node#1533](https://github.com/actions/setup-node/issues/1533) [actions/setup-node#1525](https://github.com/actions/setup-node/issues/1525) [actions/setup-node#1283](https://github.com/actions/setup-node/issues/1283) [actions/setup-node#1491](https://github.com/actions/setup-node/issues/1491) [actions/setup-node#1378](https://github.com/actions/setup-node/issues/1378) [actions/setup-node#1498](https://github.com/actions/setup-node/issues/1498) [actions/setup-node#1467](https://github.com/actions/setup-node/issues/1467) [actions/setup-node#1495](https://github.com/actions/setup-node/issues/1495) [actions/setup-node#1283](https://github.com/actions/setup-node/issues/1283) [actions/setup-node#1454](https://github.com/actions/setup-node/issues/1454) [actions/setup-node#1442](https://github.com/actions/setup-node/issues/1442) [actions/setup-node#1446](https://github.com/actions/setup-node/issues/1446) [actions/setup-node#1226](https://github.com/actions/setup-node/issues/1226) [actions/setup-node#1468](https://github.com/actions/setup-node/issues/1468) [actions/setup-node#1449](https://github.com/actions/setup-node/issues/1449) [actions/setup-node#1454](https://github.com/actions/setup-node/issues/1454) [actions/setup-node#1442](https://github.com/actions/setup-node/issues/1442) [actions/setup-node#1446](https://github.com/actions/setup-node/issues/1446) [#1533](https://github.com/peaceiris/actions-hugo/issues/1533) [#1525](https://github.com/peaceiris/actions-hugo/issues/1525) [#1498](https://github.com/peaceiris/actions-hugo/issues/1498) [#1495](https://github.com/peaceiris/actions-hugo/issues/1495) [#1378](https://github.com/peaceiris/actions-hugo/issues/1378) [#1283](https://github.com/peaceiris/actions-hugo/issues/1283) [#1467](https://github.com/peaceiris/actions-hugo/issues/1467) [#1491](https://github.com/peaceiris/actions-hugo/issues/1491) [#1468](https://github.com/peaceiris/actions-hugo/issues/1468) [#1226](https://github.com/peaceiris/actions-hugo/issues/1226)
|
||||
* bump actions/upload-artifact from 4.6.2 to 7.0.1 (#692) ([27f9d4a](https://github.com/peaceiris/actions-hugo/commit/27f9d4ab073f98ceaee353f893283fd6da81cb6d)), closes [#692](https://github.com/peaceiris/actions-hugo/issues/692)
|
||||
* bump github/codeql-action from 3.35.4 to 4.35.4 (#694) ([681f914](https://github.com/peaceiris/actions-hugo/commit/681f914d18cf3aefb972de7c4f1ac75dfff38e5d)), closes [#694](https://github.com/peaceiris/actions-hugo/issues/694)
|
||||
* bump peaceiris/actions-hugo from 3.0.0 to 3.1.0 (#693) ([7c673b8](https://github.com/peaceiris/actions-hugo/commit/7c673b8b9ebc5b359f3f4dd4eca150830f1fea5e)), closes [#693](https://github.com/peaceiris/actions-hugo/issues/693)
|
||||
|
||||
### docs
|
||||
|
||||
* add pull request template ([d488e4d](https://github.com/peaceiris/actions-hugo/commit/d488e4d9876f0cb74ace1aac7bbf14fcf52868d9))
|
||||
* document build artifact constraint ([e3c35ac](https://github.com/peaceiris/actions-hugo/commit/e3c35ac635d46e1fc932dd524c5490fff7d235a9))
|
||||
|
||||
### feat
|
||||
|
||||
* support renamed Hugo release assets (#687) ([187a5ef](https://github.com/peaceiris/actions-hugo/commit/187a5efe8178fbcd0f0969d3db97b33d4f89d8ab)), closes [#687](https://github.com/peaceiris/actions-hugo/issues/687)
|
||||
|
||||
### fix
|
||||
|
||||
* Hugo package naming fix (#688) ([b1937e1](https://github.com/peaceiris/actions-hugo/commit/b1937e141c2b829e9913293bb8044aec5ef28dd2)), closes [#688](https://github.com/peaceiris/actions-hugo/issues/688) [#609](https://github.com/peaceiris/actions-hugo/issues/609) [#687](https://github.com/peaceiris/actions-hugo/issues/687)
|
||||
|
||||
|
||||
|
||||
# [3.1.0](https://github.com/peaceiris/actions-hugo/compare/v3.0.0...v3.1.0) (2026-05-10)
|
||||
|
||||
|
||||
### chore
|
||||
|
||||
* add .codex/ ([fd1a667](https://github.com/peaceiris/actions-hugo/commit/fd1a6670898ca2ebf1a2c7f921f3eaf59eb75878))
|
||||
|
||||
### ci
|
||||
|
||||
* bump actions/dependency-review-action from 3 to 4 (#656) ([711df4e](https://github.com/peaceiris/actions-hugo/commit/711df4ed6415b013fd3ce424f98c5720d36d19e0)), closes [#656](https://github.com/peaceiris/actions-hugo/issues/656)
|
||||
* bump actions/upload-artifact from 3 to 4 (#654) ([764796d](https://github.com/peaceiris/actions-hugo/commit/764796d276c5a0094764d3fb3fbc3bb6fefb19e6)), closes [#654](https://github.com/peaceiris/actions-hugo/issues/654)
|
||||
* bump codecov/codecov-action from 3 to 4 (#655) ([e177dc3](https://github.com/peaceiris/actions-hugo/commit/e177dc33cb0d5866aa77a82d4cdfdda3a5cd76a3)), closes [#655](https://github.com/peaceiris/actions-hugo/issues/655)
|
||||
* bump codecov/codecov-action from 4 to 5 (#660) ([3a28794](https://github.com/peaceiris/actions-hugo/commit/3a287949d38134f0920e6ac20032acef6d4a23c4)), closes [#660](https://github.com/peaceiris/actions-hugo/issues/660)
|
||||
* bump github/codeql-action from 2 to 3 (#657) ([9d57878](https://github.com/peaceiris/actions-hugo/commit/9d57878417d5429540d059b1dbf19e0717797912)), closes [#657](https://github.com/peaceiris/actions-hugo/issues/657)
|
||||
* bump peaceiris/actions-hugo from 2.6.0 to 3.0.0 (#653) ([3b44307](https://github.com/peaceiris/actions-hugo/commit/3b443076f02aa9537a31bdcaa0c971cdd41eb022)), closes [#653](https://github.com/peaceiris/actions-hugo/issues/653)
|
||||
* harden workflows and update Node.js (#686) ([64e0f66](https://github.com/peaceiris/actions-hugo/commit/64e0f66acbd8b134359e19b06e518ceb2734de14)), closes [#686](https://github.com/peaceiris/actions-hugo/issues/686)
|
||||
|
||||
### docs
|
||||
|
||||
* add contributor guidelines ([ba5146c](https://github.com/peaceiris/actions-hugo/commit/ba5146cb8a90074a91c351b17a4206ffd8594cd5))
|
||||
* add env.HUGO_CACHEDIR (#650) ([288264f](https://github.com/peaceiris/actions-hugo/commit/288264f9c9c4a54b634fdbfdc119faefe699d549)), closes [#650](https://github.com/peaceiris/actions-hugo/issues/650)
|
||||
* bump actions/cache to v4 ([7db63f5](https://github.com/peaceiris/actions-hugo/commit/7db63f5e7f65f5c06a64fd56106389606f84a976))
|
||||
|
||||
### feat
|
||||
|
||||
* upgrade action runtime from Node 20 to 24 (#684) ([83259d8](https://github.com/peaceiris/actions-hugo/commit/83259d800c0f56b05d14cb0b320d8e4034770d68)), closes [#684](https://github.com/peaceiris/actions-hugo/issues/684)
|
||||
|
||||
|
||||
|
||||
# [3.0.0](https://github.com/peaceiris/actions-hugo/compare/v2.6.0...v3.0.0) (2024-04-02)
|
||||
|
||||
|
||||
### build
|
||||
|
||||
* node 20.11.1 ([01bd2b1](https://github.com/peaceiris/actions-hugo/commit/01bd2b16cc6cadbc63cba9bddb36c689f462c2db))
|
||||
|
||||
### chore
|
||||
|
||||
* npm audit fix ([966dfad](https://github.com/peaceiris/actions-hugo/commit/966dfad3859a5cfc80b6e36761b0b4c7b3dd5e0c))
|
||||
* revert version ([d85452e](https://github.com/peaceiris/actions-hugo/commit/d85452eadfba7065bf8c0601c8c22e427982d108))
|
||||
|
||||
### ci
|
||||
|
||||
* bump actions/dependency-review-action from 2 to 3 (#622) ([844f873](https://github.com/peaceiris/actions-hugo/commit/844f8735f61722d43677c23cbeae4283af7b554a)), closes [#622](https://github.com/peaceiris/actions-hugo/issues/622)
|
||||
* bump actions/setup-node from 3.5.1 to 3.6.0 (#625) ([3fa8fd6](https://github.com/peaceiris/actions-hugo/commit/3fa8fd6cee4e03774c4e900dca8b766d1cdcae93)), closes [#625](https://github.com/peaceiris/actions-hugo/issues/625)
|
||||
* bump checkout to v4 (#639) ([aadc3a9](https://github.com/peaceiris/actions-hugo/commit/aadc3a98dfd3437f8f97d436ea91b82a73dc85dd)), closes [#639](https://github.com/peaceiris/actions-hugo/issues/639)
|
||||
* bump peaceiris/actions-hugo from 2.5.0 to 2.6.0 (#621) ([b1822b6](https://github.com/peaceiris/actions-hugo/commit/b1822b6abe1a489f9ba7b9b664d916aeafd3e592)), closes [#621](https://github.com/peaceiris/actions-hugo/issues/621)
|
||||
|
||||
### docs
|
||||
|
||||
* bump ruby version to 3.2 (#629) ([7c4b9f1](https://github.com/peaceiris/actions-hugo/commit/7c4b9f1f99c72728600c292c1f0e7138cc3a8865)), closes [#629](https://github.com/peaceiris/actions-hugo/issues/629)
|
||||
* bump versions (#628) ([7652d53](https://github.com/peaceiris/actions-hugo/commit/7652d5336914f4ecd975baff70cd3c4b5070678b)), closes [#628](https://github.com/peaceiris/actions-hugo/issues/628)
|
||||
* remove braces (#634) ([31c4654](https://github.com/peaceiris/actions-hugo/commit/31c46541ceabb0656cd9e943914ab1701da3e788)), closes [#634](https://github.com/peaceiris/actions-hugo/issues/634)
|
||||
* replace set-output with GITHUB_OUTPUT ([3d92e2f](https://github.com/peaceiris/actions-hugo/commit/3d92e2fd556bef7470d7e2a6aea63141183c20a6))
|
||||
* update cache usage (#636) ([c0084b0](https://github.com/peaceiris/actions-hugo/commit/c0084b0763db3a37f864755d9174f2a6f3e0c1c5)), closes [#636](https://github.com/peaceiris/actions-hugo/issues/636)
|
||||
|
||||
### feat
|
||||
|
||||
* bump to use node20 runtime (#641) ([c57490a](https://github.com/peaceiris/actions-hugo/commit/c57490a8b04136ae58ab5866a93d3db2f0fa0945)), closes [#641](https://github.com/peaceiris/actions-hugo/issues/641)
|
||||
|
||||
|
||||
|
||||
# [2.6.0](https://github.com/peaceiris/actions-hugo/compare/v2.5.0...v2.6.0) (2022-10-23)
|
||||
|
||||
|
||||
### chore
|
||||
|
||||
* Convert templates to YAML issue forms ([5fb41c8](https://github.com/peaceiris/actions-hugo/commit/5fb41c87da82b4f59a6198b0752b2bca9078d4a4))
|
||||
* Fix prettier (#535) ([5fa8f53](https://github.com/peaceiris/actions-hugo/commit/5fa8f53e895b6475798170197409983ae10d261c)), closes [#535](https://github.com/peaceiris/actions-hugo/issues/535)
|
||||
* fix year (#613) ([8da14cc](https://github.com/peaceiris/actions-hugo/commit/8da14cc542424be0081be3474ad36c74e34a7dfe)), closes [#613](https://github.com/peaceiris/actions-hugo/issues/613)
|
||||
* update url ([c1f39e2](https://github.com/peaceiris/actions-hugo/commit/c1f39e2b46476a13ad7e4a5eb06b8e2f582a2f13))
|
||||
|
||||
### ci
|
||||
|
||||
* add actions/dependency-review-action v1 ([4809af4](https://github.com/peaceiris/actions-hugo/commit/4809af4bd48eabfbb4c6be7588a9b3859dba454a))
|
||||
* add resolved ([101470c](https://github.com/peaceiris/actions-hugo/commit/101470c99f5450d86c10ea44c549fd267b317ffc))
|
||||
* bump actions/checkout from 2.3.4 to 2.3.5 (#546) ([3bb386e](https://github.com/peaceiris/actions-hugo/commit/3bb386ec5a21d7ae895f0880b0a2fb1ea189cd8b)), closes [#546](https://github.com/peaceiris/actions-hugo/issues/546)
|
||||
* bump actions/checkout from 2.3.5 to 2.4.0 (#548) ([86a3c30](https://github.com/peaceiris/actions-hugo/commit/86a3c300c730f9c35886afeca0af0c2ce031b0b4)), closes [#548](https://github.com/peaceiris/actions-hugo/issues/548)
|
||||
* bump actions/checkout from 2.4.0 to 3 (#565) ([a41bdb5](https://github.com/peaceiris/actions-hugo/commit/a41bdb53bd93ff61a324fffa43fab5b65bca4fdd)), closes [#565](https://github.com/peaceiris/actions-hugo/issues/565)
|
||||
* bump actions/dependency-review-action from 1 to 2 (#593) ([831547a](https://github.com/peaceiris/actions-hugo/commit/831547a4b23e8d07bbc73bdcc8423938d344bb4a)), closes [#593](https://github.com/peaceiris/actions-hugo/issues/593)
|
||||
* bump actions/setup-node from 2.1.5 to 2.2.0 (#529) ([497618b](https://github.com/peaceiris/actions-hugo/commit/497618ba62018779773217131791215872b92631)), closes [#529](https://github.com/peaceiris/actions-hugo/issues/529)
|
||||
* bump actions/setup-node from 2.2.0 to 2.3.0 (#531) ([781702e](https://github.com/peaceiris/actions-hugo/commit/781702ee9d9be2f39d1cc7971dfde041e1b17e1b)), closes [#531](https://github.com/peaceiris/actions-hugo/issues/531)
|
||||
* bump actions/setup-node from 2.3.0 to 2.3.2 (#537) ([239a50c](https://github.com/peaceiris/actions-hugo/commit/239a50c280a0b6595f3fd9f60f17d34e290a3ae4)), closes [#537](https://github.com/peaceiris/actions-hugo/issues/537)
|
||||
* bump actions/setup-node from 2.3.2 to 2.4.0 (#538) ([57272db](https://github.com/peaceiris/actions-hugo/commit/57272db01ca4c3253e4bb6163664a50a23a76cc5)), closes [#538](https://github.com/peaceiris/actions-hugo/issues/538)
|
||||
* bump actions/setup-node from 2.4.0 to 2.4.1 (#543) ([cebd001](https://github.com/peaceiris/actions-hugo/commit/cebd0015e0fbf4cdcd17422a1ba70f0c13b8b5c4)), closes [#543](https://github.com/peaceiris/actions-hugo/issues/543)
|
||||
* bump actions/setup-node from 2.4.1 to 2.5.0 (#551) ([008429a](https://github.com/peaceiris/actions-hugo/commit/008429aaabf87bac670904f069d682b7493ef9e1)), closes [#551](https://github.com/peaceiris/actions-hugo/issues/551)
|
||||
* bump actions/setup-node from 2.5.0 to 2.5.1 (#552) ([1575f40](https://github.com/peaceiris/actions-hugo/commit/1575f408aee0a92b8b324e1d7537fac7316d69d0)), closes [#552](https://github.com/peaceiris/actions-hugo/issues/552)
|
||||
* bump actions/setup-node from 2.5.1 to 3.0.0 (#557) ([550aee6](https://github.com/peaceiris/actions-hugo/commit/550aee6c368724015b790edca76711b5b6c8e781)), closes [#557](https://github.com/peaceiris/actions-hugo/issues/557)
|
||||
* bump actions/setup-node from 3.0.0 to 3.1.0 (#574) ([2f2b8d3](https://github.com/peaceiris/actions-hugo/commit/2f2b8d32b92379b30f0a4ad74d0cd6472c42e482)), closes [#574](https://github.com/peaceiris/actions-hugo/issues/574)
|
||||
* bump actions/setup-node from 3.1.0 to 3.1.1 (#577) ([25736cc](https://github.com/peaceiris/actions-hugo/commit/25736cc1c02fdd4b3eae34d261d2ad7fe45e135a)), closes [#577](https://github.com/peaceiris/actions-hugo/issues/577)
|
||||
* bump actions/setup-node from 3.1.1 to 3.4.1 (#598) ([11bede6](https://github.com/peaceiris/actions-hugo/commit/11bede66e7d1c36c4e39a5d1e32442056e41e7ef)), closes [#598](https://github.com/peaceiris/actions-hugo/issues/598)
|
||||
* bump actions/setup-node from 3.4.1 to 3.5.0 (#606) ([a2eba60](https://github.com/peaceiris/actions-hugo/commit/a2eba606985f706c754c8e4c283bc3d913897a31)), closes [#606](https://github.com/peaceiris/actions-hugo/issues/606)
|
||||
* bump actions/setup-node from 3.5.0 to 3.5.1 (#612) ([c0150f2](https://github.com/peaceiris/actions-hugo/commit/c0150f24bb3e706c93def97a4dae60b9b6fd23ff)), closes [#612](https://github.com/peaceiris/actions-hugo/issues/612)
|
||||
* bump actions/upload-artifact from 2 to 3 (#576) ([6ce18a7](https://github.com/peaceiris/actions-hugo/commit/6ce18a799f48752081f8aff7bdc21e0757b9f260)), closes [#576](https://github.com/peaceiris/actions-hugo/issues/576)
|
||||
* bump codecov/codecov-action from 1.5.0 to 1.5.2 (#526) ([ad8a667](https://github.com/peaceiris/actions-hugo/commit/ad8a66742861fb836a13187e2d66d126c2758296)), closes [#526](https://github.com/peaceiris/actions-hugo/issues/526)
|
||||
* bump codecov/codecov-action from 1.5.2 to 2.0.1 (#530) ([19b5ac8](https://github.com/peaceiris/actions-hugo/commit/19b5ac8979b2b5edfe306c9f3659b98effd6e285)), closes [#530](https://github.com/peaceiris/actions-hugo/issues/530)
|
||||
* bump codecov/codecov-action from 2.0.1 to 2.0.2 (#533) ([54f7007](https://github.com/peaceiris/actions-hugo/commit/54f7007102553a5e97014fbcb91aea3c0920db0b)), closes [#533](https://github.com/peaceiris/actions-hugo/issues/533)
|
||||
* bump codecov/codecov-action from 2.0.2 to 2.0.3 (#540) ([b911fb4](https://github.com/peaceiris/actions-hugo/commit/b911fb4dcf324e9f66c0553f61e037bead654e5d)), closes [#540](https://github.com/peaceiris/actions-hugo/issues/540)
|
||||
* bump codecov/codecov-action from 2.0.3 to 2.1.0 (#542) ([f93586e](https://github.com/peaceiris/actions-hugo/commit/f93586ef6c1a3a4f26eb0b6117e732507466d4de)), closes [#542](https://github.com/peaceiris/actions-hugo/issues/542)
|
||||
* bump codecov/codecov-action from 2.1.0 to 3 (#575) ([3c69ee1](https://github.com/peaceiris/actions-hugo/commit/3c69ee16122614bd86d8881c92e1e374669ca559)), closes [#575](https://github.com/peaceiris/actions-hugo/issues/575)
|
||||
* bump github/codeql-action from 1 to 2 (#581) ([808d10a](https://github.com/peaceiris/actions-hugo/commit/808d10a6aac88104619e8d47fca8a56eaeb71b12)), closes [#581](https://github.com/peaceiris/actions-hugo/issues/581)
|
||||
* bump peaceiris/actions-hugo from 2.4.13 to 2.5.0 (#521) ([6a16840](https://github.com/peaceiris/actions-hugo/commit/6a16840a8614e1d75a22df38f4a7555e7bb623ea)), closes [#521](https://github.com/peaceiris/actions-hugo/issues/521)
|
||||
* bump peaceiris/actions-label-commenter from 1.9.1 to 1.9.2 (#528) ([dead32d](https://github.com/peaceiris/actions-hugo/commit/dead32d58922938cb063b358881eb7df21e5b228)), closes [#528](https://github.com/peaceiris/actions-hugo/issues/528)
|
||||
* bump peaceiris/actions-label-commenter from 1.9.2 to 1.10.0 (#532) ([82ac7db](https://github.com/peaceiris/actions-hugo/commit/82ac7db7f2d5ece5824b40882acb6c9dbd31da56)), closes [#532](https://github.com/peaceiris/actions-hugo/issues/532)
|
||||
* Change event from published to released ([5d8b0b2](https://github.com/peaceiris/actions-hugo/commit/5d8b0b2005c61de25aa469e038efb717902a8500))
|
||||
* drop ubuntu-18.04, add ubuntu-22.04 and ubuntu-latest (#603) ([bd5a5ed](https://github.com/peaceiris/actions-hugo/commit/bd5a5edf1b6a534bee1c70bd49f0ba3ff435e597)), closes [#603](https://github.com/peaceiris/actions-hugo/issues/603)
|
||||
* Remove updating npm ([ba23c24](https://github.com/peaceiris/actions-hugo/commit/ba23c24d3ae3be77ed05b3c0ac9990b030648de0))
|
||||
|
||||
### deps
|
||||
|
||||
* bump @actions/core from 1.2.7 to 1.6.0 (#544) ([be79927](https://github.com/peaceiris/actions-hugo/commit/be79927858b2280c3c371f70e54a8f73fd17d931)), closes [#544](https://github.com/peaceiris/actions-hugo/issues/544)
|
||||
* bump @actions/exec from 1.0.4 to 1.1.1 (#571) ([7d27b3c](https://github.com/peaceiris/actions-hugo/commit/7d27b3ca0d7d3196371a1d3fb1575317d6099146)), closes [#571](https://github.com/peaceiris/actions-hugo/issues/571)
|
||||
* bump @actions/tool-cache from 1.6.1 to 1.7.2 (#570) ([616b5f1](https://github.com/peaceiris/actions-hugo/commit/616b5f11b689c6a3064f589815e8bfbc04c444e9)), closes [#570](https://github.com/peaceiris/actions-hugo/issues/570)
|
||||
* bump ansi-regex from 5.0.0 to 5.0.1 (#562) ([857689a](https://github.com/peaceiris/actions-hugo/commit/857689ab4c02dd173b4d9b2bc569b94f0bd56a11)), closes [#562](https://github.com/peaceiris/actions-hugo/issues/562)
|
||||
* bump glob-parent from 5.1.1 to 5.1.2 (#563) ([91a922c](https://github.com/peaceiris/actions-hugo/commit/91a922ca60edf9a5dd9466dae065fcbd8e02efc2)), closes [#563](https://github.com/peaceiris/actions-hugo/issues/563)
|
||||
* bump minimist from 1.2.5 to 1.2.6 (#572) ([b2630b1](https://github.com/peaceiris/actions-hugo/commit/b2630b1c8ff9200bde342ec33b98c1ede4c03473)), closes [#572](https://github.com/peaceiris/actions-hugo/issues/572)
|
||||
* bump path-parse from 1.0.6 to 1.0.7 (#559) ([dee3925](https://github.com/peaceiris/actions-hugo/commit/dee39257f51c6bfbeffdc8b475029fad02299a5a)), closes [#559](https://github.com/peaceiris/actions-hugo/issues/559)
|
||||
* bump shelljs from 0.8.4 to 0.8.5 (#561) ([26d3d6b](https://github.com/peaceiris/actions-hugo/commit/26d3d6b6560f1131c4f9ae9622a7558ac9a2c19d)), closes [#561](https://github.com/peaceiris/actions-hugo/issues/561)
|
||||
* bump tmpl from 1.0.4 to 1.0.5 (#558) ([8f469b1](https://github.com/peaceiris/actions-hugo/commit/8f469b17c39a96eeffd077531bf8db8b9f22e916)), closes [#558](https://github.com/peaceiris/actions-hugo/issues/558)
|
||||
* bump trim-off-newlines from 1.0.1 to 1.0.3 (#560) ([f90a733](https://github.com/peaceiris/actions-hugo/commit/f90a73305c9f1a235a04a6dd16b8d728f72c623c)), closes [#560](https://github.com/peaceiris/actions-hugo/issues/560)
|
||||
* bump ws from 7.4.0 to 7.5.7 (#573) ([b15a5c7](https://github.com/peaceiris/actions-hugo/commit/b15a5c70d3e8c52cb88b2cc6786611441c83e9d4)), closes [#573](https://github.com/peaceiris/actions-hugo/issues/573)
|
||||
* node 12.22.4 ([4083be1](https://github.com/peaceiris/actions-hugo/commit/4083be136338c4140b03cbe12fe046a46c38dbdd))
|
||||
|
||||
### docs
|
||||
|
||||
* Add concurrency ([8d746f0](https://github.com/peaceiris/actions-hugo/commit/8d746f09e2808a6e250393fde3d471d7cf53a047))
|
||||
* Improve concurrency usage ([20d6724](https://github.com/peaceiris/actions-hugo/commit/20d6724b2ce2fbb34442e0a950796050e21e054d))
|
||||
* Improve if syntax ([068938a](https://github.com/peaceiris/actions-hugo/commit/068938ab2245aee69d3120f8b120f009345713a8))
|
||||
* use setup-node cache-dependency-path (#602) ([46553ea](https://github.com/peaceiris/actions-hugo/commit/46553eae11dc4ca2d07de9f176dc4fa4c2c50c10)), closes [#602](https://github.com/peaceiris/actions-hugo/issues/602)
|
||||
* Use ubuntu-20.04 ([903b945](https://github.com/peaceiris/actions-hugo/commit/903b94526d6bc9980c3ed3de99ba63dad5209b10))
|
||||
|
||||
### feat
|
||||
|
||||
* bump node12 to node16 (#617) ([9a77c64](https://github.com/peaceiris/actions-hugo/commit/9a77c647c2a01d1de23ed40d01b9c80a00bffcd3)), closes [#617](https://github.com/peaceiris/actions-hugo/issues/617)
|
||||
|
||||
|
||||
|
||||
# [2.5.0](https://github.com/peaceiris/actions-hugo/compare/v2.4.13...v2.5.0) (2021-05-27)
|
||||
|
||||
|
||||
### build
|
||||
|
||||
* Set target to ES2019 (#497) ([a6b1a4c](https://github.com/peaceiris/actions-hugo/commit/a6b1a4cb03657fdabc476d354be1de69c1f2c784)), closes [#497](https://github.com/peaceiris/actions-hugo/issues/497)
|
||||
|
||||
### chore
|
||||
|
||||
* add link to Actions Documentation ([ecc4361](https://github.com/peaceiris/actions-hugo/commit/ecc43610c05bf8bb7339bc9f8f06ebafdaba1fa7))
|
||||
* Add postinstall for husky install ([917a097](https://github.com/peaceiris/actions-hugo/commit/917a09767d1cfbe8ac1827d2da61fbcab8ad4f1e))
|
||||
* fix husky ([c3d5873](https://github.com/peaceiris/actions-hugo/commit/c3d587365f380dd8aa22d5ab9bfb66bcdf1b7d2a))
|
||||
* npx husky install ([d2e1e74](https://github.com/peaceiris/actions-hugo/commit/d2e1e740d08d04e87877506f4446cb5759b3784c))
|
||||
* update husky config ([e77b890](https://github.com/peaceiris/actions-hugo/commit/e77b89094bb7e1c96f3803ad3e510b4075434ee3))
|
||||
* update link to github.community ([35b8c49](https://github.com/peaceiris/actions-hugo/commit/35b8c49468604b403f35fdb315b22a3e3b784eb1))
|
||||
|
||||
### ci
|
||||
|
||||
* allow dependency-type production ([a448002](https://github.com/peaceiris/actions-hugo/commit/a448002cc3932bedf88a9304591e02ee58bd1ced))
|
||||
* bump actions/checkout from 2 to 2.3.4 (#517) ([f245604](https://github.com/peaceiris/actions-hugo/commit/f2456046988c712555be95348c00a5b9c1dc6482)), closes [#517](https://github.com/peaceiris/actions-hugo/issues/517)
|
||||
* bump actions/setup-node from v2.1.2 to v2.1.3 (#479) ([9dea4e7](https://github.com/peaceiris/actions-hugo/commit/9dea4e7496af6b42e3306eb3b6c3321c15184669)), closes [#479](https://github.com/peaceiris/actions-hugo/issues/479)
|
||||
* bump actions/setup-node from v2.1.3 to v2.1.4 (#482) ([ee35d79](https://github.com/peaceiris/actions-hugo/commit/ee35d79f1a6a83d2295f63c1da996b30e027ccf3)), closes [#482](https://github.com/peaceiris/actions-hugo/issues/482)
|
||||
* bump actions/setup-node from v2.1.4 to v2.1.5 (#494) ([31afbc6](https://github.com/peaceiris/actions-hugo/commit/31afbc6b76e82fb797899aeb569b744008ca7d85)), closes [#494](https://github.com/peaceiris/actions-hugo/issues/494)
|
||||
* bump codecov/codecov-action from v1.0.13 to v1.0.14 (#460) ([4d4d52c](https://github.com/peaceiris/actions-hugo/commit/4d4d52c170a99805c8c86297fe9e8c630ff68b1d)), closes [#460](https://github.com/peaceiris/actions-hugo/issues/460)
|
||||
* bump codecov/codecov-action from v1.0.14 to v1.0.15 (#469) ([5560a30](https://github.com/peaceiris/actions-hugo/commit/5560a30c304a6acea63233ec9c73700f7150ae7e)), closes [#469](https://github.com/peaceiris/actions-hugo/issues/469)
|
||||
* bump codecov/codecov-action from v1.0.15 to v1.1.0 (#483) ([781fb44](https://github.com/peaceiris/actions-hugo/commit/781fb448ba019a547fa83cfe413845a856364f27)), closes [#483](https://github.com/peaceiris/actions-hugo/issues/483)
|
||||
* bump codecov/codecov-action from v1.1.0 to v1.1.1 (#485) ([8087db7](https://github.com/peaceiris/actions-hugo/commit/8087db721476005461b4283f77190b68d2c84f04)), closes [#485](https://github.com/peaceiris/actions-hugo/issues/485)
|
||||
* bump codecov/codecov-action from v1.1.1 to v1.2.0 (#487) ([8ed2f1f](https://github.com/peaceiris/actions-hugo/commit/8ed2f1fddd1c2ef4e402bb63eccfe29b809ba3d3)), closes [#487](https://github.com/peaceiris/actions-hugo/issues/487)
|
||||
* bump codecov/codecov-action from v1.2.0 to v1.2.1 (#488) ([f6171a1](https://github.com/peaceiris/actions-hugo/commit/f6171a1916a25e1f3e577308b3ca84fd3d36adb8)), closes [#488](https://github.com/peaceiris/actions-hugo/issues/488)
|
||||
* bump codecov/codecov-action from v1.2.1 to v1.2.2 (#501) ([b7da7a5](https://github.com/peaceiris/actions-hugo/commit/b7da7a5c7fc09e7f20da3571aacc93b19e31a884)), closes [#501](https://github.com/peaceiris/actions-hugo/issues/501)
|
||||
* bump codecov/codecov-action from v1.2.2 to v1.3.1 (#502) ([354ddc2](https://github.com/peaceiris/actions-hugo/commit/354ddc2c0e944651389d0825bddd38c58ed70b96)), closes [#502](https://github.com/peaceiris/actions-hugo/issues/502)
|
||||
* bump codecov/codecov-action from v1.3.1 to v1.3.2 (#506) ([937472e](https://github.com/peaceiris/actions-hugo/commit/937472ef054c627b8b2e5107045d1150659e519a)), closes [#506](https://github.com/peaceiris/actions-hugo/issues/506)
|
||||
* bump codecov/codecov-action from v1.3.2 to v1.4.0 (#511) ([065ff42](https://github.com/peaceiris/actions-hugo/commit/065ff428c585180c45d415b1135cd752949eb087)), closes [#511](https://github.com/peaceiris/actions-hugo/issues/511)
|
||||
* bump codecov/codecov-action from v1.4.0 to v1.4.1 (#512) ([929d18c](https://github.com/peaceiris/actions-hugo/commit/929d18cc521c942da835291cb76bab5babb6ba68)), closes [#512](https://github.com/peaceiris/actions-hugo/issues/512)
|
||||
* bump codecov/codecov-action from v1.4.1 to v1.5.0 (#514) ([634c0f2](https://github.com/peaceiris/actions-hugo/commit/634c0f28919c4ed0c99c7b830a780bab33530fd9)), closes [#514](https://github.com/peaceiris/actions-hugo/issues/514)
|
||||
* bump peaceiris/actions-hugo from 2 to 2.4.13 (#516) ([b843eae](https://github.com/peaceiris/actions-hugo/commit/b843eaee1d20f88acb7efec2004c1c1b250bbc37)), closes [#516](https://github.com/peaceiris/actions-hugo/issues/516)
|
||||
* bump peaceiris/actions-label-commenter from v1.6.1 to v1.7.0 (#475) ([7e706f1](https://github.com/peaceiris/actions-hugo/commit/7e706f138412fc25628776aba7ed982c2ecce77b)), closes [#475](https://github.com/peaceiris/actions-hugo/issues/475)
|
||||
* bump peaceiris/actions-label-commenter from v1.7.0 to v1.8.0 (#476) ([fc61cde](https://github.com/peaceiris/actions-hugo/commit/fc61cdeb0558a7e59e2faa6df595b789f91251dd)), closes [#476](https://github.com/peaceiris/actions-hugo/issues/476)
|
||||
* bump peaceiris/actions-label-commenter from v1.8.0 to v1.8.1 (#477) ([d2c234c](https://github.com/peaceiris/actions-hugo/commit/d2c234c93b647f937a85b7ca69f1af403e33eb52)), closes [#477](https://github.com/peaceiris/actions-hugo/issues/477)
|
||||
* bump peaceiris/actions-label-commenter from v1.8.1 to v1.8.2 (#478) ([9dc9001](https://github.com/peaceiris/actions-hugo/commit/9dc9001ec24de7b806c7585c6c5d1128fa536135)), closes [#478](https://github.com/peaceiris/actions-hugo/issues/478)
|
||||
* bump peaceiris/actions-label-commenter from v1.8.2 to v1.9.0 (#484) ([e4d3e17](https://github.com/peaceiris/actions-hugo/commit/e4d3e173c5addc432fd0bd982184a69e24961c72)), closes [#484](https://github.com/peaceiris/actions-hugo/issues/484)
|
||||
* bump peaceiris/actions-label-commenter from v1.9.0 to v1.9.1 (#493) ([638ebc3](https://github.com/peaceiris/actions-hugo/commit/638ebc39d8a766ab0d12a9124054051d1b31d7a1)), closes [#493](https://github.com/peaceiris/actions-hugo/issues/493)
|
||||
* Drop ubuntu-16.04 (#513) ([6b42ea1](https://github.com/peaceiris/actions-hugo/commit/6b42ea1676602f31267ebd3466784cd813863ef7)), closes [#513](https://github.com/peaceiris/actions-hugo/issues/513)
|
||||
* Fix husky post-merge ([4f6ebdd](https://github.com/peaceiris/actions-hugo/commit/4f6ebdd7670cb3d0b3d9c574d9c11788b57006b3))
|
||||
* Fix husky post-merge (#491) ([029d5ce](https://github.com/peaceiris/actions-hugo/commit/029d5ce0d047998a61ed87b48b7d11396109376e)), closes [#491](https://github.com/peaceiris/actions-hugo/issues/491)
|
||||
* Migrate husky from v4 to v5 ([9564982](https://github.com/peaceiris/actions-hugo/commit/9564982d194bfb3b965d21d80c8903dbd328cdc6))
|
||||
* remove CODECOV_TOKEN (#490) ([b2b9041](https://github.com/peaceiris/actions-hugo/commit/b2b9041dc7d472875c86939648440bcc2afad6c4)), closes [#490](https://github.com/peaceiris/actions-hugo/issues/490)
|
||||
* remove options no longer needed (#474) ([ff64ad3](https://github.com/peaceiris/actions-hugo/commit/ff64ad3cd40de5c81409ba2f937b47ab573905c2)), closes [#474](https://github.com/peaceiris/actions-hugo/issues/474)
|
||||
* Remove skipci job ([da35efe](https://github.com/peaceiris/actions-hugo/commit/da35efefa826a63d06a9d2642ac18d7ce312eed0))
|
||||
|
||||
### deps
|
||||
|
||||
* bump @actions/core from 1.2.6 to 1.2.7 (#507) ([b263ea9](https://github.com/peaceiris/actions-hugo/commit/b263ea9e10ee728a536db434c3e1babbb6bb3018)), closes [#507](https://github.com/peaceiris/actions-hugo/issues/507)
|
||||
* bump @actions/io from 1.0.2 to 1.1.0 (#505) ([d2d1138](https://github.com/peaceiris/actions-hugo/commit/d2d11383067fa9ee8a84783edc89a133fd841695)), closes [#505](https://github.com/peaceiris/actions-hugo/issues/505)
|
||||
* bump @actions/tool-cache from 1.6.0 to 1.6.1 (#468) ([bad2722](https://github.com/peaceiris/actions-hugo/commit/bad27227bf688526565c17d3991a6bb07da351f9)), closes [#468](https://github.com/peaceiris/actions-hugo/issues/468)
|
||||
* bump @types/node from 12.12.63 to 12.12.64 (#454) ([8bb474e](https://github.com/peaceiris/actions-hugo/commit/8bb474e6f039d3c0554a1c447715f9afd0990671)), closes [#454](https://github.com/peaceiris/actions-hugo/issues/454)
|
||||
* bump @types/node from 12.12.64 to 12.12.66 (#455) ([0c241c1](https://github.com/peaceiris/actions-hugo/commit/0c241c131a7ac06e0ca15d1de99a12dd627025a1)), closes [#455](https://github.com/peaceiris/actions-hugo/issues/455)
|
||||
* bump @types/node from 12.12.66 to 12.12.67 (#457) ([57c1213](https://github.com/peaceiris/actions-hugo/commit/57c12138971d301923f23b4f3009e6aa5d5439d0)), closes [#457](https://github.com/peaceiris/actions-hugo/issues/457)
|
||||
* bump ini from 1.3.5 to 1.3.8 (#480) ([beaa1ee](https://github.com/peaceiris/actions-hugo/commit/beaa1ee2a1492de7430bac2238e29e8ff4950ee3)), closes [#480](https://github.com/peaceiris/actions-hugo/issues/480)
|
||||
* bump jest-circus from 26.5.1 to 26.5.2 (#453) ([2b3e82c](https://github.com/peaceiris/actions-hugo/commit/2b3e82c924f5a8189be9b0db3c2fa4c88fc6093f)), closes [#453](https://github.com/peaceiris/actions-hugo/issues/453)
|
||||
* bump jest-circus from 26.5.2 to 26.5.3 (#456) ([7e8c2a0](https://github.com/peaceiris/actions-hugo/commit/7e8c2a08b40a6e0fcec415033ab6cbe45bb6eb76)), closes [#456](https://github.com/peaceiris/actions-hugo/issues/456)
|
||||
* bump node from 12.18.4 to 12.19.0 (#458) ([d183b58](https://github.com/peaceiris/actions-hugo/commit/d183b58fee71c13b2d63864067b2129ad91d4b9a)), closes [#458](https://github.com/peaceiris/actions-hugo/issues/458)
|
||||
* bump node from 12.19.0 to 12.19.1 (#471) ([21d2e6e](https://github.com/peaceiris/actions-hugo/commit/21d2e6ea580812d56a69582f9d57dca65ee9b96c)), closes [#471](https://github.com/peaceiris/actions-hugo/issues/471) [#472](https://github.com/peaceiris/actions-hugo/issues/472)
|
||||
* bump node from 12.19.1 to 12.20.0 ([8808a28](https://github.com/peaceiris/actions-hugo/commit/8808a28020ccea48f350ea3099e99ea610fd2b15))
|
||||
* bump node from 12.20.0 to 12.20.1 (#489) ([10834f4](https://github.com/peaceiris/actions-hugo/commit/10834f4404ee13ef757d5fa80317d3cdc85b9c5f)), closes [#489](https://github.com/peaceiris/actions-hugo/issues/489)
|
||||
* bump node from 12.20.1 to 12.21.0 (#500) ([da36599](https://github.com/peaceiris/actions-hugo/commit/da36599fbf30f21edf7f0cb53689cbdcc25a2ef8)), closes [#500](https://github.com/peaceiris/actions-hugo/issues/500)
|
||||
* Bump node from 12.21.0 to 12.22.0 (#503) ([5d548aa](https://github.com/peaceiris/actions-hugo/commit/5d548aa7b61b9b09310447cdd8709fb466653fbb)), closes [#503](https://github.com/peaceiris/actions-hugo/issues/503)
|
||||
* Bump node from 12.22.0 to 12.22.1 (#510) ([b674697](https://github.com/peaceiris/actions-hugo/commit/b67469730cda7ba4581ae824283ce8bb5e8f990b)), closes [#510](https://github.com/peaceiris/actions-hugo/issues/510)
|
||||
* bump node-notifier from 8.0.0 to 8.0.1 (#486) ([206a218](https://github.com/peaceiris/actions-hugo/commit/206a21899a688eed53406e4f6631c751b51e513f)), closes [#486](https://github.com/peaceiris/actions-hugo/issues/486)
|
||||
* Bump npm to v7 ([612b00f](https://github.com/peaceiris/actions-hugo/commit/612b00fe8fa8da50a91bf0fa58b67f5925ae2d0f))
|
||||
* npm audit fix ([f3792d9](https://github.com/peaceiris/actions-hugo/commit/f3792d95d87de9180705d1d1df33775d430215f1))
|
||||
* update (#459) ([a533681](https://github.com/peaceiris/actions-hugo/commit/a5336818dfd0400855e4e9856510a54c11dd33b0)), closes [#459](https://github.com/peaceiris/actions-hugo/issues/459)
|
||||
* update dev deps (#462) ([0df2d42](https://github.com/peaceiris/actions-hugo/commit/0df2d4252f179fa015364acdffa8b85453ddac8d)), closes [#462](https://github.com/peaceiris/actions-hugo/issues/462)
|
||||
* update devDependencies (#466) ([d2b6644](https://github.com/peaceiris/actions-hugo/commit/d2b6644a8068056eb31d292277fd01fe9d50438c)), closes [#466](https://github.com/peaceiris/actions-hugo/issues/466)
|
||||
* update devDependencies (#492) ([32f5b71](https://github.com/peaceiris/actions-hugo/commit/32f5b71c41c0ee8e154160a00a90dd345ed71168)), closes [#492](https://github.com/peaceiris/actions-hugo/issues/492)
|
||||
* update devDependencies (#498) ([9f50a3c](https://github.com/peaceiris/actions-hugo/commit/9f50a3c912f8d1b5be9d4ee06fb2e1e893ab0d20)), closes [#498](https://github.com/peaceiris/actions-hugo/issues/498)
|
||||
|
||||
### docs
|
||||
|
||||
* Add Non-ascii Filename section (#499) ([0590f91](https://github.com/peaceiris/actions-hugo/commit/0590f912fcce9b0c257424efc5e79075a0a88a0c)), closes [#499](https://github.com/peaceiris/actions-hugo/issues/499)
|
||||
* Add pull_request event ([65bdbf1](https://github.com/peaceiris/actions-hugo/commit/65bdbf15ab5818f14c718f27d5c769dc1a4fb32b))
|
||||
* Bump actions/setup-node from v1 to v2 ([e53f8d6](https://github.com/peaceiris/actions-hugo/commit/e53f8d69e59fe9a25e6f3c24717cfd0d51b57b0b))
|
||||
* Bump hugo from 0.79.1 to 0.81.0 ([fbae6cf](https://github.com/peaceiris/actions-hugo/commit/fbae6cf1c897ef7ec3e69991eee81e57e57e4898))
|
||||
* bump versions ([b0fb91b](https://github.com/peaceiris/actions-hugo/commit/b0fb91bc02638e5ca8f0139c91cbff931167f7a7))
|
||||
* update title position ([a7dd109](https://github.com/peaceiris/actions-hugo/commit/a7dd10985c1e5f8029577517cff546202a3b6e5f))
|
||||
|
||||
### feat
|
||||
|
||||
* Add support for different processor architectures (#518) ([6d30a88](https://github.com/peaceiris/actions-hugo/commit/6d30a88741382c063b723b98b1bad3a71b248f1b)), closes [#518](https://github.com/peaceiris/actions-hugo/issues/518)
|
||||
|
||||
|
||||
|
||||
## [2.4.13](https://github.com/peaceiris/actions-hugo/compare/v2.4.12...v2.4.13) (2020-10-06)
|
||||
|
||||
|
||||
### chore
|
||||
|
||||
* change default branch from master to main (#386) ([da2d546](https://github.com/peaceiris/actions-hugo/commit/da2d5466d39aab034669dc2701c6cf17e25082d0)), closes [#386](https://github.com/peaceiris/actions-hugo/issues/386)
|
||||
* change printWidth from 80 to 100 (#365) ([8bff475](https://github.com/peaceiris/actions-hugo/commit/8bff475612e4668972f3cf13bf8ffe48a6da31a3)), closes [#365](https://github.com/peaceiris/actions-hugo/issues/365)
|
||||
* disable deno on vscode (#388) ([71327d4](https://github.com/peaceiris/actions-hugo/commit/71327d464610fe5163689864e5b68d2fb4ceb776)), closes [#388](https://github.com/peaceiris/actions-hugo/issues/388)
|
||||
* fix link to GitHub Actions Community Forum ([919a5f9](https://github.com/peaceiris/actions-hugo/commit/919a5f9b0bd1b53e8bcabd4f014f46d01ea3e5cb))
|
||||
|
||||
### ci
|
||||
|
||||
* add codeql workflow ([2fa902b](https://github.com/peaceiris/actions-hugo/commit/2fa902b35f172f555ee4764fb8f35f350058907a))
|
||||
* add workflow_dispatch ([1eeaa0e](https://github.com/peaceiris/actions-hugo/commit/1eeaa0edab53b2141fa624e108430359a2e88ddd))
|
||||
* bump actions/setup-node from v2.0.0 to v2.1.0 (#371) ([d59d21e](https://github.com/peaceiris/actions-hugo/commit/d59d21e63364d8b9aa822370f3ebc8c2261d69db)), closes [#371](https://github.com/peaceiris/actions-hugo/issues/371)
|
||||
* bump actions/setup-node from v2.1.0 to v2.1.1 (#392) ([316ab5f](https://github.com/peaceiris/actions-hugo/commit/316ab5f3800f1b485387c80cd13c9507cda1303b)), closes [#392](https://github.com/peaceiris/actions-hugo/issues/392)
|
||||
* bump actions/setup-node from v2.1.1 to v2.1.2 (#449) ([d13e210](https://github.com/peaceiris/actions-hugo/commit/d13e210741153eccc070e1eeb9c1f2d3526c0e6c)), closes [#449](https://github.com/peaceiris/actions-hugo/issues/449)
|
||||
* bump codecov/codecov-action from v1.0.10 to v1.0.11 (#389) ([76e5f6f](https://github.com/peaceiris/actions-hugo/commit/76e5f6f1f3c2f6a2b52209bf45ff6fb647a7dfd2)), closes [#389](https://github.com/peaceiris/actions-hugo/issues/389)
|
||||
* bump codecov/codecov-action from v1.0.11 to v1.0.12 (#393) ([f8104a9](https://github.com/peaceiris/actions-hugo/commit/f8104a9bdbcb58df14a6806b56f7efdf52f923f6)), closes [#393](https://github.com/peaceiris/actions-hugo/issues/393)
|
||||
* bump codecov/codecov-action from v1.0.12 to v1.0.13 (#414) ([c230bfd](https://github.com/peaceiris/actions-hugo/commit/c230bfdf9987fa980cf88815a8bdaf8263b524d1)), closes [#414](https://github.com/peaceiris/actions-hugo/issues/414)
|
||||
* bump codecov/codecov-action from v1.0.7 to v1.0.10 (#373) ([00ad573](https://github.com/peaceiris/actions-hugo/commit/00ad5734ffe779107015e871a2119a3d0a39dabf)), closes [#373](https://github.com/peaceiris/actions-hugo/issues/373)
|
||||
* bump peaceiris/actions-label-commenter from v1 to v1.3.7 (#364) ([be37873](https://github.com/peaceiris/actions-hugo/commit/be3787356a00883bf4555fe5bfc7d96399badaf1)), closes [#364](https://github.com/peaceiris/actions-hugo/issues/364)
|
||||
* bump peaceiris/actions-label-commenter from v1.3.7 to v1.5.0 (#406) ([baf4896](https://github.com/peaceiris/actions-hugo/commit/baf489601c45dddea57fec27266aebb925e8f59e)), closes [#406](https://github.com/peaceiris/actions-hugo/issues/406)
|
||||
* bump peaceiris/actions-label-commenter from v1.5.0 to v1.6.0 (#434) ([3120b3d](https://github.com/peaceiris/actions-hugo/commit/3120b3dd8cded1491ca95f260d3e9453e83a3569)), closes [#434](https://github.com/peaceiris/actions-hugo/issues/434)
|
||||
* bump peaceiris/actions-label-commenter from v1.6.0 to v1.6.1 (#437) ([22a5584](https://github.com/peaceiris/actions-hugo/commit/22a55848e80df28d2847fdbb1689faae37a08a29)), closes [#437](https://github.com/peaceiris/actions-hugo/issues/437)
|
||||
* remove open-pull-requests-limit ([53a8986](https://github.com/peaceiris/actions-hugo/commit/53a8986af5a407ed9b889581cd97b72795d44619))
|
||||
|
||||
### deps
|
||||
|
||||
* bump @actions/core from 1.2.4 to 1.2.5 (#422) ([5825c93](https://github.com/peaceiris/actions-hugo/commit/5825c9307b65034c724a21f02fb1697c12738846)), closes [#422](https://github.com/peaceiris/actions-hugo/issues/422)
|
||||
* bump @actions/core from 1.2.5 to 1.2.6 (#448) ([33a289a](https://github.com/peaceiris/actions-hugo/commit/33a289a0d5de244428f483056fcc356281b21bb5)), closes [#448](https://github.com/peaceiris/actions-hugo/issues/448)
|
||||
* bump @actions/tool-cache from 1.5.5 to 1.6.0 (#383) ([3f02ff7](https://github.com/peaceiris/actions-hugo/commit/3f02ff7a9e8c09b32b229a513855dfea3469b586)), closes [#383](https://github.com/peaceiris/actions-hugo/issues/383)
|
||||
* bump @types/jest from 26.0.0 to 26.0.3 (#369) ([f42b985](https://github.com/peaceiris/actions-hugo/commit/f42b9853d37d1c2b67960f92c4f1467f105d9050)), closes [#369](https://github.com/peaceiris/actions-hugo/issues/369)
|
||||
* bump @types/jest from 26.0.10 to 26.0.12 (#425) ([6b13193](https://github.com/peaceiris/actions-hugo/commit/6b131935e45ad0d1ec561c2fc3bb43dba781978c)), closes [#425](https://github.com/peaceiris/actions-hugo/issues/425)
|
||||
* bump @types/jest from 26.0.12 to 26.0.13 (#427) ([b59871c](https://github.com/peaceiris/actions-hugo/commit/b59871c37d97cbbb3ad6b14b5efb20134367a886)), closes [#427](https://github.com/peaceiris/actions-hugo/issues/427)
|
||||
* bump @types/jest from 26.0.13 to 26.0.14 (#442) ([3317f5e](https://github.com/peaceiris/actions-hugo/commit/3317f5e6cdcbc51c69a4c9eb9fceb445a78f08ad)), closes [#442](https://github.com/peaceiris/actions-hugo/issues/442)
|
||||
* bump @types/jest from 26.0.3 to 26.0.4 (#378) ([16d8ce1](https://github.com/peaceiris/actions-hugo/commit/16d8ce1cd5912320ea2cac7bae2040fcc49fdc71)), closes [#378](https://github.com/peaceiris/actions-hugo/issues/378)
|
||||
* bump @types/jest from 26.0.4 to 26.0.5 (#390) ([b7fbea4](https://github.com/peaceiris/actions-hugo/commit/b7fbea4c342a48c1ab8f134904b6bf08e1a8778c)), closes [#390](https://github.com/peaceiris/actions-hugo/issues/390)
|
||||
* bump @types/jest from 26.0.5 to 26.0.7 (#394) ([be3e1cc](https://github.com/peaceiris/actions-hugo/commit/be3e1ccca2b306b40d88010110f71697a24ab5ea)), closes [#394](https://github.com/peaceiris/actions-hugo/issues/394)
|
||||
* bump @types/jest from 26.0.7 to 26.0.8 (#405) ([7753141](https://github.com/peaceiris/actions-hugo/commit/77531419b598596623841e82209ed5248c48dd57)), closes [#405](https://github.com/peaceiris/actions-hugo/issues/405)
|
||||
* bump @types/jest from 26.0.8 to 26.0.9 (#407) ([77557cc](https://github.com/peaceiris/actions-hugo/commit/77557cc3914eee0b1f7032fb817b254d0f058349)), closes [#407](https://github.com/peaceiris/actions-hugo/issues/407)
|
||||
* bump @types/jest from 26.0.9 to 26.0.10 (#412) ([6ec44a7](https://github.com/peaceiris/actions-hugo/commit/6ec44a730389338c62ba4c4ef5e1852434143313)), closes [#412](https://github.com/peaceiris/actions-hugo/issues/412)
|
||||
* bump @types/node from 12.12.47 to 12.12.48 (#379) ([1835230](https://github.com/peaceiris/actions-hugo/commit/1835230a2b35e8911a4bb269dec0288e382a71b7)), closes [#379](https://github.com/peaceiris/actions-hugo/issues/379)
|
||||
* bump @types/node from 12.12.48 to 12.12.50 (#381) ([cf40bc8](https://github.com/peaceiris/actions-hugo/commit/cf40bc8ca5e14cd0ec57951a98733f086bbcfa16)), closes [#381](https://github.com/peaceiris/actions-hugo/issues/381)
|
||||
* bump @types/node from 12.12.50 to 12.12.51 (#391) ([64f9c36](https://github.com/peaceiris/actions-hugo/commit/64f9c36d5ec62f7959fe8b3043824439ace7cde4)), closes [#391](https://github.com/peaceiris/actions-hugo/issues/391)
|
||||
* bump @types/node from 12.12.51 to 12.12.52 (#395) ([beefbb4](https://github.com/peaceiris/actions-hugo/commit/beefbb44e1de5739a9b1dd7bbc10d1606f9866f6)), closes [#395](https://github.com/peaceiris/actions-hugo/issues/395)
|
||||
* bump @types/node from 12.12.52 to 12.12.53 (#396) ([67dcb24](https://github.com/peaceiris/actions-hugo/commit/67dcb244d0ca45c57445c2fb646552b1cf03c65c)), closes [#396](https://github.com/peaceiris/actions-hugo/issues/396)
|
||||
* bump @types/node from 12.12.53 to 12.12.54 (#408) ([bfac474](https://github.com/peaceiris/actions-hugo/commit/bfac4748b6753a66efa47642234fc23d92c74334)), closes [#408](https://github.com/peaceiris/actions-hugo/issues/408)
|
||||
* bump @types/node from 12.12.54 to 12.12.55 (#426) ([e7fbc0b](https://github.com/peaceiris/actions-hugo/commit/e7fbc0b5dad38548f6a1cab00814f07b63f21806)), closes [#426](https://github.com/peaceiris/actions-hugo/issues/426)
|
||||
* bump @types/node from 12.12.55 to 12.12.56 (#432) ([79ed21e](https://github.com/peaceiris/actions-hugo/commit/79ed21ee9b1e2b96609fad1b17645284c8a339d3)), closes [#432](https://github.com/peaceiris/actions-hugo/issues/432)
|
||||
* bump @types/node from 12.12.56 to 12.12.57 (#433) ([4b04428](https://github.com/peaceiris/actions-hugo/commit/4b04428f53d215bc618147869807115d6ed825df)), closes [#433](https://github.com/peaceiris/actions-hugo/issues/433)
|
||||
* bump @types/node from 12.12.57 to 12.12.58 (#436) ([f0e8386](https://github.com/peaceiris/actions-hugo/commit/f0e838658fd4fea293ab1875dd0c02f7d89599f1)), closes [#436](https://github.com/peaceiris/actions-hugo/issues/436)
|
||||
* bump @types/node from 12.12.58 to 12.12.59 (#441) ([873c0ab](https://github.com/peaceiris/actions-hugo/commit/873c0ab6caaa6d57841d9a749e0183f4ade7e035)), closes [#441](https://github.com/peaceiris/actions-hugo/issues/441)
|
||||
* bump @types/node from 12.12.59 to 12.12.61 (#443) ([5e135f6](https://github.com/peaceiris/actions-hugo/commit/5e135f617c2558ff55cca069e94b283e0399834d)), closes [#443](https://github.com/peaceiris/actions-hugo/issues/443)
|
||||
* bump @types/node from 12.12.61 to 12.12.62 (#445) ([267b3f1](https://github.com/peaceiris/actions-hugo/commit/267b3f1c66006dcdc3a7db3d4e3def0a08a1459c)), closes [#445](https://github.com/peaceiris/actions-hugo/issues/445)
|
||||
* bump @types/node from 12.12.62 to 12.12.63 (#451) ([cd215c4](https://github.com/peaceiris/actions-hugo/commit/cd215c4ce492dcca194a5b75f694eeef53dd09c2)), closes [#451](https://github.com/peaceiris/actions-hugo/issues/451)
|
||||
* bump @vercel/ncc from 0.23.0 to 0.24.0 (#424) ([5b3d1ee](https://github.com/peaceiris/actions-hugo/commit/5b3d1ee00716bbabf4b3209c6005152d4379a29f)), closes [#424](https://github.com/peaceiris/actions-hugo/issues/424)
|
||||
* bump @vercel/ncc from 0.24.0 to 0.24.1 (#438) ([802b595](https://github.com/peaceiris/actions-hugo/commit/802b5950937d77eb06be7ba586ed59425b72ed8d)), closes [#438](https://github.com/peaceiris/actions-hugo/issues/438)
|
||||
* bump eslint-plugin-jest from 23.13.2 to 23.16.0 (#366) ([9f4ef01](https://github.com/peaceiris/actions-hugo/commit/9f4ef016d64fc31a87ea56518d6cf1f92c8cb0a2)), closes [#366](https://github.com/peaceiris/actions-hugo/issues/366)
|
||||
* bump eslint-plugin-jest from 23.16.0 to 23.17.1 (#368) ([638096b](https://github.com/peaceiris/actions-hugo/commit/638096b27ff13e63f4f90e4d5bf05e814edcebcc)), closes [#368](https://github.com/peaceiris/actions-hugo/issues/368)
|
||||
* bump eslint-plugin-jest from 23.17.1 to 23.18.0 (#377) ([f1c7ecd](https://github.com/peaceiris/actions-hugo/commit/f1c7ecda6150ba2c6dbbce39119d6f5b0ad723bf)), closes [#377](https://github.com/peaceiris/actions-hugo/issues/377)
|
||||
* bump eslint-plugin-jest from 23.18.0 to 23.18.2 (#397) ([2acd7a4](https://github.com/peaceiris/actions-hugo/commit/2acd7a45c87d54f0d53e7929649160f728cc4f74)), closes [#397](https://github.com/peaceiris/actions-hugo/issues/397)
|
||||
* bump eslint-plugin-jest from 23.18.2 to 23.19.0 (#400) ([5a7d3a7](https://github.com/peaceiris/actions-hugo/commit/5a7d3a75068f8dddac3aaa407896f38a7109e347)), closes [#400](https://github.com/peaceiris/actions-hugo/issues/400)
|
||||
* bump eslint-plugin-jest from 23.19.0 to 23.20.0 (#401) ([32ec0a2](https://github.com/peaceiris/actions-hugo/commit/32ec0a285c6a0dd4f2df66f9851f319f1fbd8abe)), closes [#401](https://github.com/peaceiris/actions-hugo/issues/401)
|
||||
* bump git from 2.27.0 to 2.28.0 (#398) ([61b002f](https://github.com/peaceiris/actions-hugo/commit/61b002f4ffb3492723a32a2d9539df503c9776c1)), closes [#398](https://github.com/peaceiris/actions-hugo/issues/398)
|
||||
* bump husky from 4.2.5 to 4.3.0 (#431) ([4c60b23](https://github.com/peaceiris/actions-hugo/commit/4c60b233f21cff00faffa17a99bd07c924e19efd)), closes [#431](https://github.com/peaceiris/actions-hugo/issues/431)
|
||||
* bump jest-circus from 26.0.1 to 26.1.0 (#367) ([838268a](https://github.com/peaceiris/actions-hugo/commit/838268abaf30b5c3b2e0cd5ce852fd870498f45f)), closes [#367](https://github.com/peaceiris/actions-hugo/issues/367)
|
||||
* bump jest-circus from 26.1.0 to 26.2.1 (#402) ([d1ebf3f](https://github.com/peaceiris/actions-hugo/commit/d1ebf3fd0d7cf76c277b7c1d8c7839858002a9cc)), closes [#402](https://github.com/peaceiris/actions-hugo/issues/402)
|
||||
* bump jest-circus from 26.2.1 to 26.2.2 (#404) ([e45313c](https://github.com/peaceiris/actions-hugo/commit/e45313c6a1dc39551c2fdbb4bee2f4b8ccbe95a1)), closes [#404](https://github.com/peaceiris/actions-hugo/issues/404)
|
||||
* bump jest-circus from 26.2.2 to 26.3.0 (#409) ([6c93ce5](https://github.com/peaceiris/actions-hugo/commit/6c93ce5fefba5bc01d294f4d82d61f593fbf789f)), closes [#409](https://github.com/peaceiris/actions-hugo/issues/409)
|
||||
* bump jest-circus from 26.3.0 to 26.4.0 (#411) ([997c3c8](https://github.com/peaceiris/actions-hugo/commit/997c3c888aa18613298ce0e513eea735f20f79ed)), closes [#411](https://github.com/peaceiris/actions-hugo/issues/411)
|
||||
* bump jest-circus from 26.4.0 to 26.4.1 (#415) ([e0b4d02](https://github.com/peaceiris/actions-hugo/commit/e0b4d029a23577852cd59f4b1d23c1d1d699e266)), closes [#415](https://github.com/peaceiris/actions-hugo/issues/415)
|
||||
* bump jest-circus from 26.4.1 to 26.4.2 (#417) ([caf4dd6](https://github.com/peaceiris/actions-hugo/commit/caf4dd6aaebf0047f62f6a9957fc95db56c0fa03)), closes [#417](https://github.com/peaceiris/actions-hugo/issues/417)
|
||||
* bump jest-circus from 26.4.2 to 26.5.1 (#452) ([88b26ab](https://github.com/peaceiris/actions-hugo/commit/88b26abfee0c22c81cafe781cc7e3693114f9395)), closes [#452](https://github.com/peaceiris/actions-hugo/issues/452)
|
||||
* bump lint-staged from 10.2.11 to 10.2.13 (#421) ([b0f29e7](https://github.com/peaceiris/actions-hugo/commit/b0f29e7edec0ad7fe12d4b9434826e4a96477569)), closes [#421](https://github.com/peaceiris/actions-hugo/issues/421)
|
||||
* bump lint-staged from 10.2.13 to 10.3.0 (#428) ([4e17872](https://github.com/peaceiris/actions-hugo/commit/4e17872cd1999a77ff3faef0a282c3ded0b28b3c)), closes [#428](https://github.com/peaceiris/actions-hugo/issues/428)
|
||||
* bump lint-staged from 10.3.0 to 10.4.0 (#444) ([3c58869](https://github.com/peaceiris/actions-hugo/commit/3c588690f52351f1370705f9a5f1c63aed991de3)), closes [#444](https://github.com/peaceiris/actions-hugo/issues/444)
|
||||
* bump lodash from 4.17.15 to 4.17.19 (#385) ([71f80af](https://github.com/peaceiris/actions-hugo/commit/71f80aff9fddceefe3b6992d8c6956af13d5727e)), closes [#385](https://github.com/peaceiris/actions-hugo/issues/385)
|
||||
* bump nock from 12.0.3 to 13.0.0 (#370) ([e4507ca](https://github.com/peaceiris/actions-hugo/commit/e4507caf0b86e8bac1307a239121c70bd62939bd)), closes [#370](https://github.com/peaceiris/actions-hugo/issues/370)
|
||||
* bump nock from 13.0.0 to 13.0.1 (#372) ([45f920d](https://github.com/peaceiris/actions-hugo/commit/45f920d29b694bdae5abae2ca5e8e4a0c7ba485f)), closes [#372](https://github.com/peaceiris/actions-hugo/issues/372)
|
||||
* bump nock from 13.0.1 to 13.0.2 (#375) ([eb88818](https://github.com/peaceiris/actions-hugo/commit/eb88818df93189cd54c302fdc18a2c6e876ab08e)), closes [#375](https://github.com/peaceiris/actions-hugo/issues/375)
|
||||
* bump nock from 13.0.2 to 13.0.3 (#399) ([1f22e6c](https://github.com/peaceiris/actions-hugo/commit/1f22e6c5e634fdfb21daa12d295feac44d428630)), closes [#399](https://github.com/peaceiris/actions-hugo/issues/399)
|
||||
* bump nock from 13.0.3 to 13.0.4 (#410) ([a6baa39](https://github.com/peaceiris/actions-hugo/commit/a6baa39988b85528fd574be8e232a06f72c397b5)), closes [#410](https://github.com/peaceiris/actions-hugo/issues/410)
|
||||
* bump node from 12.18.1 to 12.18.2 (#376) ([96f56de](https://github.com/peaceiris/actions-hugo/commit/96f56dee02dd507288dcd0d32b1aabceda20a532)), closes [#376](https://github.com/peaceiris/actions-hugo/issues/376)
|
||||
* bump node from 12.18.2 to 12.18.3 ([ca4532b](https://github.com/peaceiris/actions-hugo/commit/ca4532b6bc8a7a24dd2f638a848293cfef749689))
|
||||
* bump node from 12.18.3 to 12.18.4 (#446) ([01cbeb8](https://github.com/peaceiris/actions-hugo/commit/01cbeb899ce86671ad0d046f1c1dbc9d716bf993)), closes [#446](https://github.com/peaceiris/actions-hugo/issues/446)
|
||||
* bump node-fetch from 2.6.0 to 2.6.1 (#430) ([bcbb69d](https://github.com/peaceiris/actions-hugo/commit/bcbb69dfa4370721c165c579cf4b3482ff90516d)), closes [#430](https://github.com/peaceiris/actions-hugo/issues/430)
|
||||
* bump prettier from 2.0.5 to 2.1.0 (#420) ([b94c20b](https://github.com/peaceiris/actions-hugo/commit/b94c20b65d1926fb5cb0534acfa17b7df493dd01)), closes [#420](https://github.com/peaceiris/actions-hugo/issues/420)
|
||||
* bump prettier from 2.1.0 to 2.1.1 (#423) ([5a94243](https://github.com/peaceiris/actions-hugo/commit/5a94243d0517bf420266d6ffb22242a01b78bf57)), closes [#423](https://github.com/peaceiris/actions-hugo/issues/423)
|
||||
* bump prettier from 2.1.1 to 2.1.2 (#440) ([fe1c07b](https://github.com/peaceiris/actions-hugo/commit/fe1c07bf2734c9b8a15afb63935b1017386a1a4d)), closes [#440](https://github.com/peaceiris/actions-hugo/issues/440)
|
||||
* bump standard-version from 8.0.0 to 8.0.1 (#380) ([c83f108](https://github.com/peaceiris/actions-hugo/commit/c83f10804ea39b937ad407c2d32fdbbf4fd4c33a)), closes [#380](https://github.com/peaceiris/actions-hugo/issues/380)
|
||||
* bump standard-version from 8.0.1 to 8.0.2 (#382) ([483f8d1](https://github.com/peaceiris/actions-hugo/commit/483f8d1e3415ac3bf8da95136807f5f1649a9b14)), closes [#382](https://github.com/peaceiris/actions-hugo/issues/382)
|
||||
* bump standard-version from 8.0.2 to 9.0.0 (#413) ([444111b](https://github.com/peaceiris/actions-hugo/commit/444111b78ca0f838547e0d52086bd7ec6b4b99ad)), closes [#413](https://github.com/peaceiris/actions-hugo/issues/413)
|
||||
* bump typescript from 3.9.5 to 3.9.6 (#374) ([863939f](https://github.com/peaceiris/actions-hugo/commit/863939f1a75eefbae6e227e72b90de2a2e96852c)), closes [#374](https://github.com/peaceiris/actions-hugo/issues/374)
|
||||
* bump typescript from 3.9.6 to 3.9.7 (#384) ([87ff7f6](https://github.com/peaceiris/actions-hugo/commit/87ff7f6586ac91744342582f9c3030f0c4b72248)), closes [#384](https://github.com/peaceiris/actions-hugo/issues/384)
|
||||
* change @zeit/ncc to @vercel/ncc (#416) ([aba4ae3](https://github.com/peaceiris/actions-hugo/commit/aba4ae31955192d3944543150f99cf2e9365a1aa)), closes [#416](https://github.com/peaceiris/actions-hugo/issues/416)
|
||||
|
||||
### docs
|
||||
|
||||
* Add Caching Hugo Modules ([18a809e](https://github.com/peaceiris/actions-hugo/commit/18a809e6c96de4cb534ad52f31dfe28ef32bd7d5))
|
||||
* Add Code Scanning workflow badge ([3462f4d](https://github.com/peaceiris/actions-hugo/commit/3462f4d33fccdc8d712508ddddcebaa8ef5384df))
|
||||
* add full docker image ([4245d14](https://github.com/peaceiris/actions-hugo/commit/4245d148471b602b24f602d8634fb289fe74ca90))
|
||||
* add note about branch to deploy (#419) ([71168fa](https://github.com/peaceiris/actions-hugo/commit/71168fab79f89371c87c6175ddd208ffada9cf0e)), closes [#419](https://github.com/peaceiris/actions-hugo/issues/419)
|
||||
* bump hugo from 0.71.1 to 0.74.1 ([18a17a7](https://github.com/peaceiris/actions-hugo/commit/18a17a77a865be445d1ee0fbe251655fa53f8509))
|
||||
* bump hugo from 0.74.1 to 0.74.2 ([89d2e2c](https://github.com/peaceiris/actions-hugo/commit/89d2e2c7e8c62e5c50d0deadcd5f163b80dae639))
|
||||
* bump Hugo from 0.74.2 to 0.75.1 (#439) ([e091c92](https://github.com/peaceiris/actions-hugo/commit/e091c924f25bf7adb8a8662ace3b28429b1ae5c8)), closes [#439](https://github.com/peaceiris/actions-hugo/issues/439)
|
||||
|
||||
|
||||
|
||||
## [2.4.12](https://github.com/peaceiris/actions-hugo/compare/v2.4.11...v2.4.12) (2020-06-21)
|
||||
|
||||
|
||||
|
||||
+3
-3
@@ -1,6 +1,6 @@
|
||||
ARG NODE_VERSION
|
||||
ARG NODE_VERSION=24.15.0
|
||||
|
||||
FROM node:${NODE_VERSION}-buster-slim
|
||||
FROM node:${NODE_VERSION}-bookworm-slim
|
||||
|
||||
SHELL ["/bin/bash", "-l", "-c"]
|
||||
|
||||
@@ -13,7 +13,7 @@ RUN apt-get update && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
WORKDIR /git
|
||||
ENV GIT_VERSION="2.27.0"
|
||||
ENV GIT_VERSION="2.28.0"
|
||||
RUN wget -q "https://github.com/git/git/archive/v${GIT_VERSION}.tar.gz" && \
|
||||
tar -zxf "./v${GIT_VERSION}.tar.gz" && \
|
||||
rm "./v${GIT_VERSION}.tar.gz" && \
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2020 Shohei Ueda (peaceiris)
|
||||
Copyright (c) 2019 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
|
||||
|
||||
@@ -1,30 +1,30 @@
|
||||
[](https://github.com/peaceiris/actions-hugo/blob/master/LICENSE)
|
||||
[](https://github.com/peaceiris/actions-hugo/releases/latest)
|
||||
[](https://github.com/peaceiris/actions-hugo/releases)
|
||||
[](https://github.com/peaceiris/actions-hugo/releases.atom)
|
||||

|
||||
|
||||
[](https://www.codefactor.io/repository/github/peaceiris/actions-hugo)
|
||||
[](https://codecov.io/gh/peaceiris/actions-hugo)
|
||||
[](https://codeclimate.com/github/peaceiris/actions-hugo/maintainability)
|
||||
## GitHub Actions for Hugo
|
||||
|
||||
<img width="400" alt="GitHub Actions for Hugo" src="./images/ogp.svg">
|
||||
|
||||
[](https://www.repostatus.org/#active)
|
||||
[](https://github.com/peaceiris/actions-hugo/blob/main/LICENSE)
|
||||
[](https://github.com/peaceiris/actions-hugo/releases/latest)
|
||||
[](https://github.com/peaceiris/actions-hugo/releases)
|
||||
[](https://github.com/peaceiris/actions-hugo/releases.atom)
|
||||

|
||||

|
||||
|
||||
[](https://www.codefactor.io/repository/github/peaceiris/actions-hugo)
|
||||
[](https://codecov.io/gh/peaceiris/actions-hugo)
|
||||
[](https://codeclimate.com/github/peaceiris/actions-hugo/maintainability)
|
||||
|
||||
## GitHub Actions for Hugo
|
||||
|
||||
- [gohugoio/hugo: The world’s fastest framework for building websites.](https://github.com/gohugoio/hugo)
|
||||
|
||||
This **Hugo Setup Action** can install **Hugo** to a virtual machine of **GitHub Actions**.
|
||||
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.
|
||||
|
||||
[Hugo]: https://github.com/gohugoio/hugo
|
||||
|
||||
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 in less than a few seconds.
|
||||
(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 |
|
||||
| OS (runs-on) | ubuntu-latest, ubuntu-20.04, ubuntu-22.04 | macos-latest | windows-2019 |
|
||||
|---|:---:|:---:|:---:|
|
||||
| Support | ✅️ | ✅️ | ✅️ |
|
||||
|
||||
@@ -39,16 +39,17 @@ Thanks to this change, we can complete this action in less than a few seconds.
|
||||
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
|
||||
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
|
||||
|
||||
|
||||
- [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)
|
||||
- [Tips](#tips)
|
||||
- [⭐️ Caching Hugo Modules](#%EF%B8%8F-caching-hugo-modules)
|
||||
- [⭐️ Read Hugo version from file](#%EF%B8%8F-read-hugo-version-from-file)
|
||||
- [⭐️ Workflow for autoprefixer and postcss-cli](#%EF%B8%8F-workflow-for-autoprefixer-and-postcss-cli)
|
||||
- [⭐️ Workflow for asciidoctor](#%EF%B8%8F-workflow-for-asciidoctor)
|
||||
- [⭐️ Non-ascii Filename](#%EF%B8%8F-non-ascii-filename)
|
||||
- [CHANGELOG](#changelog)
|
||||
- [License](#license)
|
||||
- [About Maintainer](#about-maintainer)
|
||||
@@ -70,26 +71,29 @@ For the first deployment, we have to do this operation: [First Deployment with `
|
||||
[](https://github.com/peaceiris/actions-gh-pages)
|
||||
|
||||
```yaml
|
||||
name: github pages
|
||||
name: GitHub Pages
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- main # Set a branch to deploy
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
runs-on: ubuntu-18.04
|
||||
runs-on: ubuntu-22.04
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: true # Fetch Hugo themes (true OR recursive)
|
||||
fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod
|
||||
|
||||
- name: Setup Hugo
|
||||
uses: peaceiris/actions-hugo@v2
|
||||
uses: peaceiris/actions-hugo@v3
|
||||
with:
|
||||
hugo-version: '0.71.1'
|
||||
hugo-version: '0.119.0'
|
||||
# extended: true
|
||||
|
||||
- name: Build
|
||||
@@ -97,6 +101,7 @@ jobs:
|
||||
|
||||
- name: Deploy
|
||||
uses: peaceiris/actions-gh-pages@v3
|
||||
if: github.ref == 'refs/heads/main'
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
publish_dir: ./public
|
||||
@@ -116,9 +121,9 @@ Set `extended: true` to use a Hugo extended version.
|
||||
|
||||
```yaml
|
||||
- name: Setup Hugo
|
||||
uses: peaceiris/actions-hugo@v2
|
||||
uses: peaceiris/actions-hugo@v3
|
||||
with:
|
||||
hugo-version: '0.71.1'
|
||||
hugo-version: '0.119.0'
|
||||
extended: true
|
||||
```
|
||||
|
||||
@@ -128,7 +133,7 @@ Set `hugo-version: 'latest'` to use the latest version of Hugo.
|
||||
|
||||
```yaml
|
||||
- name: Setup Hugo
|
||||
uses: peaceiris/actions-hugo@v2
|
||||
uses: peaceiris/actions-hugo@v3
|
||||
with:
|
||||
hugo-version: 'latest'
|
||||
```
|
||||
@@ -143,6 +148,42 @@ This action fetches the latest version of Hugo by [hugo | Homebrew Formulae](htt
|
||||
|
||||
## Tips
|
||||
|
||||
### ⭐️ Caching Hugo Modules
|
||||
|
||||
Insert a cache step before site-building as follows.
|
||||
|
||||
First, to maximize compatibility with all Hugo versions, let's define the variable `HUGO_CACHEDIR`:
|
||||
|
||||
```yaml
|
||||
# * ...
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
runs-on: ubuntu-22.04
|
||||
env:
|
||||
HUGO_CACHEDIR: /tmp/hugo_cache # <- Define the env variable here, so that Hugo's cache dir is now predictible in your workflow and doesn't depend on the Hugo's version you're using.
|
||||
|
||||
# * ...
|
||||
```
|
||||
|
||||
Now, let's add the cache action call just above the _Build_ step:
|
||||
|
||||
```yaml
|
||||
- uses: actions/cache@v4
|
||||
with:
|
||||
path: ${{ env.HUGO_CACHEDIR }} # <- Use the same env variable just right here
|
||||
key: ${{ runner.os }}-hugomod-${{ hashFiles('**/go.sum') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-hugomod-
|
||||
|
||||
- name: Build
|
||||
run: hugo --minify
|
||||
```
|
||||
|
||||
<div align="right">
|
||||
<a href="#table-of-contents">Back to TOC ☝️</a>
|
||||
</div>
|
||||
|
||||
### ⭐️ Read Hugo version from file
|
||||
|
||||
How to sync a Hugo version between a Docker Compose and a GitHub Actions workflow via `.env` file.
|
||||
@@ -150,7 +191,7 @@ How to sync a Hugo version between a Docker Compose and a GitHub Actions workflo
|
||||
Write a `HUGO_VERSION` to the `.env` file like the following and push it to a remote branch.
|
||||
|
||||
```sh
|
||||
HUGO_VERSION=0.71.1
|
||||
HUGO_VERSION=0.119.0
|
||||
```
|
||||
|
||||
Next, add a step to read a Hugo version from the `.env` file.
|
||||
@@ -160,10 +201,10 @@ Next, add a step to read a Hugo version from the `.env` file.
|
||||
id: hugo-version
|
||||
run: |
|
||||
. ./.env
|
||||
echo "::set-output name=HUGO_VERSION::${HUGO_VERSION}"
|
||||
echo "HUGO_VERSION=${HUGO_VERSION}" >> "${GITHUB_OUTPUT}"
|
||||
|
||||
- name: Setup Hugo
|
||||
uses: peaceiris/actions-hugo@v2
|
||||
uses: peaceiris/actions-hugo@v3
|
||||
with:
|
||||
hugo-version: '${{ steps.hugo-version.outputs.HUGO_VERSION }}'
|
||||
extended: true
|
||||
@@ -178,7 +219,8 @@ services:
|
||||
hugo:
|
||||
container_name: hugo
|
||||
image: "peaceiris/hugo:v${HUGO_VERSION}"
|
||||
# image: peaceiris/hugo:v${HUGO_VERSION}-mod # Hugo Modules
|
||||
# image: peaceiris/hugo:v${HUGO_VERSION}-mod # Hugo Modules
|
||||
# image: peaceiris/hugo:v${HUGO_VERSION}-full # Hugo Modules and Node.js
|
||||
ports:
|
||||
- 1313:1313
|
||||
volumes:
|
||||
@@ -193,11 +235,15 @@ 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>
|
||||
|
||||
### ⭐️ Workflow for autoprefixer and postcss-cli
|
||||
|
||||
Here is an example workflow for the [google/docsy] Hugo theme.
|
||||
This theme needs `autoprefixer` and `postcss-cli` to build a project.
|
||||
The following workflow is tested on [google/docsy-example].
|
||||
The following workflow is tested with [google/docsy-example].
|
||||
|
||||
[google/docsy]: https://github.com/google/docsy
|
||||
[google/docsy-example]: https://github.com/google/docsy-example
|
||||
@@ -205,81 +251,88 @@ The following workflow is tested on [google/docsy-example].
|
||||
A workflow for the Hugo Babel pipeline is also the same as follows.
|
||||
|
||||
```yaml
|
||||
name: github pages
|
||||
name: GitHub Pages
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- master # Set a branch to deploy
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
runs-on: ubuntu-18.04
|
||||
runs-on: ubuntu-22.04
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@4
|
||||
with:
|
||||
submodules: recursive # Fetch the Docsy theme
|
||||
fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod
|
||||
|
||||
- name: Setup Hugo
|
||||
uses: peaceiris/actions-hugo@v2
|
||||
uses: peaceiris/actions-hugo@v3
|
||||
with:
|
||||
hugo-version: '0.71.1'
|
||||
hugo-version: '0.119.0'
|
||||
extended: true
|
||||
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@v1
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: '12.x'
|
||||
|
||||
- name: Cache dependencies
|
||||
uses: actions/cache@v1
|
||||
with:
|
||||
path: ~/.npm
|
||||
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-node-
|
||||
node-version: '20'
|
||||
cache: 'npm'
|
||||
# The action defaults to search for the dependency file (package-lock.json,
|
||||
# npm-shrinkwrap.json or yarn.lock) in the repository root, and uses its
|
||||
# hash as a part of the cache key.
|
||||
# https://github.com/actions/setup-node/blob/main/docs/advanced-usage.md#caching-packages-data
|
||||
cache-dependency-path: '**/package-lock.json'
|
||||
|
||||
- run: npm ci
|
||||
- run: hugo --minify
|
||||
|
||||
- name: Deploy
|
||||
uses: peaceiris/actions-gh-pages@v3
|
||||
if: github.ref == 'refs/heads/master'
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
```
|
||||
|
||||
<div align="right">
|
||||
<a href="#table-of-contents">Back to TOC ☝️</a>
|
||||
</div>
|
||||
|
||||
### ⭐️ Workflow for asciidoctor
|
||||
|
||||
Here is an example workflow for a Hugo project using `asciidoctor`.
|
||||
|
||||
```yaml
|
||||
name: github pages
|
||||
name: GitHub Pages
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- main # Set a branch to deploy
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
runs-on: ubuntu-18.04
|
||||
runs-on: ubuntu-22.04
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: true # Fetch Hugo themes (true OR recursive)
|
||||
fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod
|
||||
|
||||
- name: Setup Hugo
|
||||
uses: peaceiris/actions-hugo@v2
|
||||
uses: peaceiris/actions-hugo@v3
|
||||
with:
|
||||
hugo-version: '0.71.1'
|
||||
hugo-version: '0.119.0'
|
||||
extended: true
|
||||
|
||||
- name: Setup Ruby
|
||||
uses: ruby/setup-ruby@v1
|
||||
with:
|
||||
ruby-version: 2.7
|
||||
ruby-version: 3.2
|
||||
|
||||
- run: gem install asciidoctor
|
||||
|
||||
@@ -290,6 +343,7 @@ jobs:
|
||||
|
||||
- name: Deploy
|
||||
uses: peaceiris/actions-gh-pages@v3
|
||||
if: github.ref == 'refs/heads/main'
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
```
|
||||
@@ -298,6 +352,41 @@ jobs:
|
||||
<a href="#table-of-contents">Back to TOC ☝️</a>
|
||||
</div>
|
||||
|
||||
### ⭐️ Non-ascii Filename
|
||||
|
||||
cf. [Gitinfo fails on unicode filename · Issue #3071 · gohugoio/hugo](https://github.com/gohugoio/hugo/issues/3071)
|
||||
|
||||
```yaml
|
||||
name: GitHub Pages
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
runs-on: ubuntu-22.04
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Disable quotePath
|
||||
run: git config core.quotePath false
|
||||
|
||||
- name: Setup Hugo
|
||||
uses: peaceiris/actions-hugo@v3
|
||||
with:
|
||||
hugo-version: '0.119.0'
|
||||
```
|
||||
|
||||
<div align="right">
|
||||
<a href="#table-of-contents">Back to TOC ☝️</a>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
## CHANGELOG
|
||||
@@ -310,7 +399,7 @@ jobs:
|
||||
|
||||
- [MIT License - peaceiris/actions-hugo]
|
||||
|
||||
[MIT License - peaceiris/actions-hugo]: https://github.com/peaceiris/actions-hugo/blob/master/LICENSE
|
||||
[MIT License - peaceiris/actions-hugo]: https://github.com/peaceiris/actions-hugo/blob/main/LICENSE
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1 +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}}}}
|
||||
{"name":"hugo","full_name":"hugo","tap":"homebrew/core","oldname":null,"aliases":[],"versioned_formulae":[],"desc":"Configurable static site generator","license":"Apache-2.0","homepage":"https://gohugo.io/","versions":{"stable":"0.83.1","head":"HEAD","bottle":true},"urls":{"stable":{"url":"https://github.com/gohugoio/hugo/archive/v0.83.1.tar.gz","tag":null,"revision":null}},"revision":0,"version_scheme":0,"bottle":{"stable":{"rebuild":0,"root_url":"https://ghcr.io/v2/homebrew/core","files":{"arm64_big_sur":{"cellar":":any_skip_relocation","url":"https://ghcr.io/v2/homebrew/core/hugo/blobs/sha256:f5997a1858e300787cd6e2e01ff8f87f0d3233f42af4becc040448ce06524d53","sha256":"f5997a1858e300787cd6e2e01ff8f87f0d3233f42af4becc040448ce06524d53"},"big_sur":{"cellar":":any_skip_relocation","url":"https://ghcr.io/v2/homebrew/core/hugo/blobs/sha256:32ad322954e9c2962849495c88c88e461d21a0a7d3bfa3aa4892ee34f569bf81","sha256":"32ad322954e9c2962849495c88c88e461d21a0a7d3bfa3aa4892ee34f569bf81"},"catalina":{"cellar":":any_skip_relocation","url":"https://ghcr.io/v2/homebrew/core/hugo/blobs/sha256:99078c665152420113fac08aaea7bdf2f8fe230696b724448bb9f2244cfdec55","sha256":"99078c665152420113fac08aaea7bdf2f8fe230696b724448bb9f2244cfdec55"},"mojave":{"cellar":":any_skip_relocation","url":"https://ghcr.io/v2/homebrew/core/hugo/blobs/sha256:a45ae895351a549639b40bdbb2a630e8a11ffb68d78a0aa7577faedce4c011d4","sha256":"a45ae895351a549639b40bdbb2a630e8a11ffb68d78a0aa7577faedce4c011d4"}}}},"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,"deprecated":false,"deprecation_date":null,"deprecation_reason":null,"disabled":false,"disable_date":null,"disable_reason":null,"analytics":{"install":{"30d":{"hugo":24137,"hugo --HEAD":16},"90d":{"hugo":61006,"hugo --HEAD":51},"365d":{"hugo":246915,"hugo --HEAD":273}},"install_on_request":{"30d":{"hugo":24100,"hugo --HEAD":16},"90d":{"hugo":60903,"hugo --HEAD":51},"365d":{"hugo":244317,"hugo --HEAD":266}},"build_error":{"30d":{"hugo":0}}},"generated_date":"2021-05-21"}
|
||||
|
||||
+795
-693
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,135 @@
|
||||
import getArch from '../src/get-arch';
|
||||
|
||||
describe('getArch', () => {
|
||||
const groups = [
|
||||
{
|
||||
condition: 'when hugo version < 0.102.0',
|
||||
conventions: {
|
||||
arch: {
|
||||
darwinUniversal: false,
|
||||
droppedWindowsArmSupport: false,
|
||||
standardizedNaming: false
|
||||
},
|
||||
os: {
|
||||
renamedMacOS: false,
|
||||
downcasedAll: false
|
||||
}
|
||||
},
|
||||
tests: [
|
||||
{arch: 'x64', os: 'linux', expected: '64bit'},
|
||||
{arch: 'x64', os: 'darwin', expected: '64bit'},
|
||||
{arch: 'x64', os: 'macOS', expected: '64bit'},
|
||||
{arch: 'x64', os: 'windows', expected: '64bit'},
|
||||
{arch: 'arm', os: 'linux', expected: 'ARM'},
|
||||
{arch: 'arm', os: 'darwin', expected: 'ARM'},
|
||||
{arch: 'arm', os: 'macOS', expected: 'ARM'},
|
||||
{arch: 'arm', os: 'windows', expected: 'ARM'},
|
||||
{arch: 'arm64', os: 'linux', expected: 'ARM64'},
|
||||
{arch: 'arm64', os: 'darwin', expected: 'ARM64'},
|
||||
{arch: 'arm64', os: 'macOS', expected: 'ARM64'},
|
||||
{arch: 'arm64', os: 'windows', expected: 'ARM64'}
|
||||
]
|
||||
},
|
||||
{
|
||||
condition: 'when hugo version === 0.102.z',
|
||||
conventions: {
|
||||
arch: {
|
||||
darwinUniversal: true,
|
||||
droppedWindowsArmSupport: true,
|
||||
standardizedNaming: false
|
||||
},
|
||||
os: {
|
||||
renamedMacOS: false,
|
||||
downcasedAll: false
|
||||
}
|
||||
},
|
||||
tests: [
|
||||
{arch: 'x64', os: 'linux', expected: '64bit'},
|
||||
{arch: 'x64', os: 'macOS', expected: 'universal'},
|
||||
{arch: 'x64', os: 'windows', expected: '64bit'},
|
||||
{arch: 'arm', os: 'linux', expected: 'ARM'},
|
||||
{arch: 'arm', os: 'macOS', expected: 'universal'},
|
||||
{arch: 'arm', os: 'windows', throws: true},
|
||||
{arch: 'arm64', os: 'linux', expected: 'ARM64'},
|
||||
{arch: 'arm64', os: 'macOS', expected: 'universal'},
|
||||
{arch: 'arm64', os: 'windows', expected: 'ARM64'}
|
||||
]
|
||||
},
|
||||
{
|
||||
condition: 'when hugo version >= 0.103.0',
|
||||
conventions: {
|
||||
arch: {
|
||||
darwinUniversal: true,
|
||||
droppedWindowsArmSupport: true,
|
||||
standardizedNaming: true
|
||||
},
|
||||
os: {
|
||||
renamedMacOS: true,
|
||||
downcasedAll: true
|
||||
}
|
||||
},
|
||||
tests: [
|
||||
{arch: 'x64', os: 'linux', expected: 'amd64'},
|
||||
{arch: 'x64', os: 'macOS', expected: 'universal'},
|
||||
{arch: 'x64', os: 'windows', expected: 'amd64'},
|
||||
{arch: 'arm', os: 'linux', expected: 'arm'},
|
||||
{arch: 'arm', os: 'macOS', expected: 'universal'},
|
||||
{arch: 'arm', os: 'windows', throws: true},
|
||||
{arch: 'arm64', os: 'linux', expected: 'arm64'},
|
||||
{arch: 'arm64', os: 'macOS', expected: 'universal'},
|
||||
{arch: 'arm64', os: 'windows', expected: 'arm64'}
|
||||
]
|
||||
},
|
||||
{
|
||||
condition: 'when the architecture is unsupported for the action',
|
||||
conventions: {
|
||||
arch: {
|
||||
darwinUniversal: false,
|
||||
droppedWindowsArmSupport: false,
|
||||
standardizedNaming: false
|
||||
},
|
||||
os: {
|
||||
renamedMacOS: false,
|
||||
downcasedAll: false
|
||||
}
|
||||
},
|
||||
tests: [{arch: 'mips', os: 'linux', throws: true}]
|
||||
}
|
||||
];
|
||||
|
||||
const passingTests = groups.flatMap(group =>
|
||||
group.tests
|
||||
.filter(example => !example.throws)
|
||||
.map(example => ({
|
||||
...example,
|
||||
condition: group.condition,
|
||||
conventions: group.conventions
|
||||
}))
|
||||
);
|
||||
|
||||
const throwingTests = groups.flatMap(group =>
|
||||
group.tests
|
||||
.filter(example => example.throws)
|
||||
.map(example => ({
|
||||
...example,
|
||||
condition: group.condition,
|
||||
conventions: group.conventions
|
||||
}))
|
||||
);
|
||||
|
||||
test.each(passingTests)(
|
||||
'$condition: $os on $arch returns $expected',
|
||||
({arch, os, conventions, expected}) => {
|
||||
expect(getArch(arch, os, conventions)).toBe(expected);
|
||||
}
|
||||
);
|
||||
|
||||
test.each(throwingTests)(
|
||||
'$condition: $os on $arch throws as not supported',
|
||||
({arch, os, conventions}) => {
|
||||
expect(() => {
|
||||
getArch(arch, os, conventions);
|
||||
}).toThrow(`${arch} is not supported`);
|
||||
}
|
||||
);
|
||||
});
|
||||
@@ -0,0 +1,61 @@
|
||||
import {getConventions} from '../src/get-conventions';
|
||||
|
||||
describe('getConventions()', () => {
|
||||
const groups = [
|
||||
{
|
||||
condition: 'when hugo version < 0.102.0',
|
||||
version: '0.101.0',
|
||||
expected: {
|
||||
arch: {
|
||||
darwinUniversal: false,
|
||||
droppedWindowsArmSupport: false,
|
||||
standardizedNaming: false
|
||||
},
|
||||
os: {
|
||||
renamedMacOS: false,
|
||||
downcasedAll: false
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
condition: 'when hugo version === 0.102.z',
|
||||
version: '0.102.0',
|
||||
expected: {
|
||||
arch: {
|
||||
darwinUniversal: true,
|
||||
droppedWindowsArmSupport: true,
|
||||
standardizedNaming: false
|
||||
},
|
||||
os: {
|
||||
renamedMacOS: false,
|
||||
downcasedAll: false
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
condition: 'when hugo version >= 0.103.0',
|
||||
version: '0.103.0',
|
||||
expected: {
|
||||
arch: {
|
||||
darwinUniversal: true,
|
||||
droppedWindowsArmSupport: true,
|
||||
standardizedNaming: true
|
||||
},
|
||||
os: {
|
||||
renamedMacOS: true,
|
||||
downcasedAll: true
|
||||
}
|
||||
}
|
||||
}
|
||||
].map(function (group) {
|
||||
return Object.assign(group, {
|
||||
toString: function () {
|
||||
return group.condition;
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
test.each(groups)('%s', ({expected, version}) => {
|
||||
expect(getConventions(version)).toEqual(expected);
|
||||
});
|
||||
});
|
||||
@@ -1,6 +1,6 @@
|
||||
import {getURL, getLatestVersion} from '../src/get-latest-version';
|
||||
import nock from 'nock';
|
||||
import {FetchError} from 'node-fetch';
|
||||
import {clearMockFetchResponses, mockFetchResponse} from './mocks/node-fetch';
|
||||
import {Tool} from '../src/constants';
|
||||
import jsonTestBrew from './data/brew.json';
|
||||
import jsonTestGithub from './data/github.json';
|
||||
@@ -10,7 +10,7 @@ beforeEach(() => {
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
nock.cleanAll();
|
||||
clearMockFetchResponses();
|
||||
});
|
||||
|
||||
describe('getURL()', () => {
|
||||
@@ -27,38 +27,26 @@ describe('getURL()', () => {
|
||||
|
||||
describe('getLatestVersion()', () => {
|
||||
test('return latest version via brew', async () => {
|
||||
nock('https://formulae.brew.sh')
|
||||
.get(`/api/formula/${Tool.Repo}.json`)
|
||||
.reply(200, jsonTestBrew);
|
||||
mockFetchResponse(`https://formulae.brew.sh/api/formula/${Tool.Repo}.json`, 200, jsonTestBrew);
|
||||
|
||||
const versionLatest: string = await getLatestVersion(
|
||||
Tool.Org,
|
||||
Tool.Repo,
|
||||
'brew'
|
||||
);
|
||||
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'
|
||||
mockFetchResponse(
|
||||
`https://api.github.com/repos/${Tool.Org}/${Tool.Repo}/releases/latest`,
|
||||
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);
|
||||
mockFetchResponse(`https://formulae.brew.sh/api/formula/${Tool.Repo}.json`, 404);
|
||||
|
||||
await expect(
|
||||
getLatestVersion(Tool.Org, Tool.Repo, 'brew')
|
||||
).rejects.toThrowError(FetchError);
|
||||
await expect(getLatestVersion(Tool.Org, Tool.Repo, 'brew')).rejects.toThrow(FetchError);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -1,15 +1,100 @@
|
||||
import getOS from '../src/get-os';
|
||||
|
||||
describe('getOS', () => {
|
||||
test('test', () => {
|
||||
expect(getOS('linux')).toBe('Linux');
|
||||
expect(getOS('darwin')).toBe('macOS');
|
||||
expect(getOS('win32')).toBe('Windows');
|
||||
const groups = [
|
||||
{
|
||||
condition: 'when hugo version < 0.102.0',
|
||||
conventions: {
|
||||
arch: {
|
||||
darwinUniversal: false,
|
||||
droppedWindowsArmSupport: false,
|
||||
standardizedNaming: false
|
||||
},
|
||||
os: {
|
||||
renamedMacOS: false,
|
||||
downcasedAll: false
|
||||
}
|
||||
},
|
||||
tests: [
|
||||
{os: 'linux', expected: 'Linux'},
|
||||
{os: 'darwin', expected: 'macOS'},
|
||||
{os: 'win32', expected: 'Windows'}
|
||||
]
|
||||
},
|
||||
{
|
||||
condition: 'when hugo version === 0.102.z',
|
||||
conventions: {
|
||||
arch: {
|
||||
darwinUniversal: true,
|
||||
droppedWindowsArmSupport: true,
|
||||
standardizedNaming: false
|
||||
},
|
||||
os: {
|
||||
renamedMacOS: false,
|
||||
downcasedAll: false
|
||||
}
|
||||
},
|
||||
tests: [
|
||||
{os: 'linux', expected: 'Linux'},
|
||||
{os: 'darwin', expected: 'macOS'},
|
||||
{os: 'win32', expected: 'Windows'}
|
||||
]
|
||||
},
|
||||
{
|
||||
condition: 'when hugo version >= 0.103.0',
|
||||
conventions: {
|
||||
arch: {
|
||||
darwinUniversal: true,
|
||||
droppedWindowsArmSupport: true,
|
||||
standardizedNaming: true
|
||||
},
|
||||
os: {
|
||||
renamedMacOS: true,
|
||||
downcasedAll: true
|
||||
}
|
||||
},
|
||||
tests: [
|
||||
{os: 'linux', expected: 'linux'},
|
||||
{os: 'darwin', expected: 'darwin'},
|
||||
{os: 'win32', expected: 'windows'}
|
||||
]
|
||||
}
|
||||
].map(function (group) {
|
||||
group.tests = group.tests.map(function (example) {
|
||||
return Object.assign(example, {
|
||||
toString: function () {
|
||||
return `${example.os} returns ${example.expected}`;
|
||||
}
|
||||
});
|
||||
});
|
||||
return Object.assign(group, {
|
||||
toString: function () {
|
||||
return group.condition;
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
test('test exception', () => {
|
||||
describe.each(groups)('%s', ({conventions, tests}) => {
|
||||
test.each(tests)('%s', ({os, expected}) => {
|
||||
expect(getOS(os, conventions)).toBe(expected);
|
||||
});
|
||||
});
|
||||
|
||||
test('exception', () => {
|
||||
const conventions = {
|
||||
arch: {
|
||||
darwinUniversal: false,
|
||||
droppedWindowsArmSupport: false,
|
||||
standardizedNaming: false
|
||||
},
|
||||
os: {
|
||||
renamedMacOS: false,
|
||||
downcasedAll: false
|
||||
}
|
||||
};
|
||||
|
||||
expect(() => {
|
||||
getOS('centos');
|
||||
}).toThrowError('centos is not supported');
|
||||
getOS('centos', conventions);
|
||||
}).toThrow('centos is not supported');
|
||||
});
|
||||
});
|
||||
|
||||
+157
-15
@@ -1,19 +1,161 @@
|
||||
import getURL from '../src/get-url';
|
||||
import getURL, {getDownloadVersion} from '../src/get-url';
|
||||
|
||||
describe('getURL()', () => {
|
||||
test('test', () => {
|
||||
const baseURL =
|
||||
'https://github.com/gohugoio/hugo/releases/download/v0.58.2';
|
||||
const urlLinux = `${baseURL}/hugo_0.58.2_Linux-64bit.tar.gz`;
|
||||
const urlLinuxExtended = `${baseURL}/hugo_extended_0.58.2_Linux-64bit.tar.gz`;
|
||||
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('get URLs to Linux assets', () => {
|
||||
const baseURL = 'https://github.com/gohugoio/hugo/releases/download/v0.58.2';
|
||||
expect(getURL('Linux', '64bit', 'false', '0.58.2')).toEqual([
|
||||
`${baseURL}/hugo_0.58.2_Linux-64bit.tar.gz`,
|
||||
`${baseURL}/hugo_0.58.2_Linux_64bit.tar.gz`,
|
||||
`${baseURL}/hugo_0.58.2_linux-amd64.tar.gz`,
|
||||
`${baseURL}/hugo_v0.58.2_Linux-64bit.tar.gz`,
|
||||
`${baseURL}/hugo_v0.58.2_Linux_64bit.tar.gz`,
|
||||
`${baseURL}/hugo_v0.58.2_linux-amd64.tar.gz`
|
||||
]);
|
||||
expect(getURL('Linux', 'ARM64', 'true', '0.58.2')).toEqual([
|
||||
`${baseURL}/hugo_extended_0.58.2_Linux-ARM64.tar.gz`,
|
||||
`${baseURL}/hugo_extended_0.58.2_Linux_ARM64.tar.gz`,
|
||||
`${baseURL}/hugo_extended_0.58.2_linux-arm64.tar.gz`,
|
||||
`${baseURL}/hugo_extended_v0.58.2_Linux-ARM64.tar.gz`,
|
||||
`${baseURL}/hugo_extended_v0.58.2_Linux_ARM64.tar.gz`,
|
||||
`${baseURL}/hugo_extended_v0.58.2_linux-arm64.tar.gz`
|
||||
]);
|
||||
});
|
||||
|
||||
test('get URLs to legacy Linux assets', () => {
|
||||
const baseURL = 'https://github.com/gohugoio/hugo/releases/download/v0.20.3';
|
||||
expect(getURL('Linux', '64bit', 'false', '0.20.3')).toEqual([
|
||||
`${baseURL}/hugo_0.20.3_Linux-64bit.tar.gz`,
|
||||
`${baseURL}/hugo_0.20.3_Linux_64bit.tar.gz`,
|
||||
`${baseURL}/hugo_0.20.3_linux-amd64.tar.gz`,
|
||||
`${baseURL}/hugo_v0.20.3_Linux-64bit.tar.gz`,
|
||||
`${baseURL}/hugo_v0.20.3_Linux_64bit.tar.gz`,
|
||||
`${baseURL}/hugo_v0.20.3_linux-amd64.tar.gz`
|
||||
]);
|
||||
});
|
||||
|
||||
test('get URLs to macOS assets', () => {
|
||||
const baseURL = 'https://github.com/gohugoio/hugo/releases/download/v0.161.1';
|
||||
expect(getURL('macOS', '64bit', 'true', '0.161.1')).toEqual([
|
||||
`${baseURL}/hugo_extended_0.161.1_macOS-64bit.tar.gz`,
|
||||
`${baseURL}/hugo_extended_0.161.1_macOS-64bit.zip`,
|
||||
`${baseURL}/hugo_extended_0.161.1_macOS-all.tar.gz`,
|
||||
`${baseURL}/hugo_extended_0.161.1_darwin-universal.tar.gz`,
|
||||
`${baseURL}/hugo_extended_0.161.1_darwin-universal.pkg`,
|
||||
`${baseURL}/hugo_extended_v0.161.1_macOS-64bit.tar.gz`,
|
||||
`${baseURL}/hugo_extended_v0.161.1_macOS-64bit.zip`,
|
||||
`${baseURL}/hugo_extended_v0.161.1_macOS-all.tar.gz`,
|
||||
`${baseURL}/hugo_extended_v0.161.1_darwin-universal.tar.gz`,
|
||||
`${baseURL}/hugo_extended_v0.161.1_darwin-universal.pkg`
|
||||
]);
|
||||
});
|
||||
|
||||
test('get URLs to macOS 0.102 universal assets', () => {
|
||||
const baseURL = 'https://github.com/gohugoio/hugo/releases/download/v0.102.0';
|
||||
expect(getURL('macOS', 'universal', 'false', '0.102.0')).toEqual([
|
||||
`${baseURL}/hugo_0.102.0_macOS-universal.tar.gz`,
|
||||
`${baseURL}/hugo_0.102.0_macOS-universal.zip`,
|
||||
`${baseURL}/hugo_0.102.0_macOS-all.tar.gz`,
|
||||
`${baseURL}/hugo_0.102.0_darwin-universal.tar.gz`,
|
||||
`${baseURL}/hugo_0.102.0_darwin-universal.pkg`,
|
||||
`${baseURL}/hugo_v0.102.0_macOS-universal.tar.gz`,
|
||||
`${baseURL}/hugo_v0.102.0_macOS-universal.zip`,
|
||||
`${baseURL}/hugo_v0.102.0_macOS-all.tar.gz`,
|
||||
`${baseURL}/hugo_v0.102.0_darwin-universal.tar.gz`,
|
||||
`${baseURL}/hugo_v0.102.0_darwin-universal.pkg`
|
||||
]);
|
||||
});
|
||||
|
||||
test('get URLs to darwin assets', () => {
|
||||
const baseURL = 'https://github.com/gohugoio/hugo/releases/download/v0.103.0';
|
||||
expect(getURL('darwin', 'universal', 'false', '0.103.0')).toEqual([
|
||||
`${baseURL}/hugo_0.103.0_darwin-universal.tar.gz`,
|
||||
`${baseURL}/hugo_0.103.0_darwin-universal.pkg`,
|
||||
`${baseURL}/hugo_v0.103.0_darwin-universal.tar.gz`,
|
||||
`${baseURL}/hugo_v0.103.0_darwin-universal.pkg`
|
||||
]);
|
||||
});
|
||||
|
||||
test('get URLs to legacy macOS assets', () => {
|
||||
const baseURL = 'https://github.com/gohugoio/hugo/releases/download/v0.20.2';
|
||||
expect(getURL('macOS', '64bit', 'false', '0.20.2')).toEqual([
|
||||
`${baseURL}/hugo_0.20.2_macOS-64bit.tar.gz`,
|
||||
`${baseURL}/hugo_0.20.2_macOS-64bit.zip`,
|
||||
`${baseURL}/hugo_0.20.2_macOS-all.tar.gz`,
|
||||
`${baseURL}/hugo_0.20.2_darwin-universal.tar.gz`,
|
||||
`${baseURL}/hugo_0.20.2_darwin-universal.pkg`,
|
||||
`${baseURL}/hugo_v0.20.2_macOS-64bit.tar.gz`,
|
||||
`${baseURL}/hugo_v0.20.2_macOS-64bit.zip`,
|
||||
`${baseURL}/hugo_v0.20.2_macOS-all.tar.gz`,
|
||||
`${baseURL}/hugo_v0.20.2_darwin-universal.tar.gz`,
|
||||
`${baseURL}/hugo_v0.20.2_darwin-universal.pkg`
|
||||
]);
|
||||
});
|
||||
|
||||
test('get URLs to Windows assets', () => {
|
||||
const baseURL = 'https://github.com/gohugoio/hugo/releases/download/v0.58.2';
|
||||
expect(getURL('Windows', '64bit', 'false', '0.58.2')).toEqual([
|
||||
`${baseURL}/hugo_0.58.2_Windows-64bit.zip`,
|
||||
`${baseURL}/hugo_0.58.2_windows-amd64.zip`,
|
||||
`${baseURL}/hugo_v0.58.2_Windows-64bit.zip`,
|
||||
`${baseURL}/hugo_v0.58.2_windows-amd64.zip`
|
||||
]);
|
||||
expect(getURL('Windows', 'ARM64', 'true', '0.58.2')).toEqual([
|
||||
`${baseURL}/hugo_extended_0.58.2_Windows-ARM64.zip`,
|
||||
`${baseURL}/hugo_extended_0.58.2_windows-arm64.zip`,
|
||||
`${baseURL}/hugo_extended_v0.58.2_Windows-ARM64.zip`,
|
||||
`${baseURL}/hugo_extended_v0.58.2_windows-arm64.zip`
|
||||
]);
|
||||
});
|
||||
|
||||
test('get URLs to downcased Windows assets', () => {
|
||||
const baseURL = 'https://github.com/gohugoio/hugo/releases/download/v0.103.0';
|
||||
expect(getURL('windows', 'amd64', 'false', '0.103.0')).toEqual([
|
||||
`${baseURL}/hugo_0.103.0_windows-amd64.zip`,
|
||||
`${baseURL}/hugo_0.103.0_Windows-amd64.zip`,
|
||||
`${baseURL}/hugo_v0.103.0_windows-amd64.zip`,
|
||||
`${baseURL}/hugo_v0.103.0_Windows-amd64.zip`
|
||||
]);
|
||||
});
|
||||
|
||||
test('get URLs to legacy Windows assets', () => {
|
||||
const baseURL = 'https://github.com/gohugoio/hugo/releases/download/v0.20.3';
|
||||
expect(getURL('Windows', '64bit', 'false', '0.20.3')).toEqual([
|
||||
`${baseURL}/hugo_0.20.3_Windows-64bit.zip`,
|
||||
`${baseURL}/hugo_0.20.3_windows-amd64.zip`,
|
||||
`${baseURL}/hugo_v0.20.3_Windows-64bit.zip`,
|
||||
`${baseURL}/hugo_v0.20.3_windows-amd64.zip`
|
||||
]);
|
||||
});
|
||||
|
||||
test('get URLs to downcased Linux assets', () => {
|
||||
const baseURL = 'https://github.com/gohugoio/hugo/releases/download/v0.103.0';
|
||||
expect(getURL('linux', 'arm', 'false', '0.103.0')).toEqual([
|
||||
`${baseURL}/hugo_0.103.0_linux-arm.tar.gz`,
|
||||
`${baseURL}/hugo_0.103.0_Linux-arm.tar.gz`,
|
||||
`${baseURL}/hugo_0.103.0_Linux_arm.tar.gz`,
|
||||
`${baseURL}/hugo_v0.103.0_linux-arm.tar.gz`,
|
||||
`${baseURL}/hugo_v0.103.0_Linux-arm.tar.gz`,
|
||||
`${baseURL}/hugo_v0.103.0_Linux_arm.tar.gz`
|
||||
]);
|
||||
});
|
||||
|
||||
test('get URLs to Hugo 0.139.5 archive alias', () => {
|
||||
const baseURL = 'https://github.com/gohugoio/hugo/releases/download/v0.139.4';
|
||||
expect(getDownloadVersion('0.139.5')).toBe('0.139.4');
|
||||
expect(getURL('linux', 'amd64', 'true', '0.139.5')).toEqual([
|
||||
`${baseURL}/hugo_extended_0.139.4_linux-amd64.tar.gz`,
|
||||
`${baseURL}/hugo_extended_0.139.4_Linux-amd64.tar.gz`,
|
||||
`${baseURL}/hugo_extended_0.139.4_Linux_amd64.tar.gz`,
|
||||
`${baseURL}/hugo_extended_v0.139.4_linux-amd64.tar.gz`,
|
||||
`${baseURL}/hugo_extended_v0.139.4_Linux-amd64.tar.gz`,
|
||||
`${baseURL}/hugo_extended_v0.139.4_Linux_amd64.tar.gz`
|
||||
]);
|
||||
});
|
||||
|
||||
test('get a fallback URL to an unknown OS asset', () => {
|
||||
const baseURL = 'https://github.com/gohugoio/hugo/releases/download/v0.58.2';
|
||||
expect(getURL('MyOS', '64bit', 'false', '0.58.2')).toEqual([
|
||||
`${baseURL}/hugo_0.58.2_MyOS-64bit.tar.gz`
|
||||
]);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -0,0 +1,136 @@
|
||||
import * as tc from '@actions/tool-cache';
|
||||
import * as io from '@actions/io';
|
||||
import * as exec from '@actions/exec';
|
||||
import path from 'path';
|
||||
import {downloadHugoAsset, extractHugoAsset, isWindowsAsset} from '../src/installer';
|
||||
|
||||
jest.mock('@actions/tool-cache', () => ({
|
||||
downloadTool: jest.fn(),
|
||||
extractTar: jest.fn(),
|
||||
extractZip: jest.fn()
|
||||
}));
|
||||
|
||||
jest.mock('@actions/io', () => ({
|
||||
mv: jest.fn()
|
||||
}));
|
||||
|
||||
jest.mock('@actions/exec', () => ({
|
||||
exec: jest.fn()
|
||||
}));
|
||||
|
||||
describe('downloadHugoAsset()', () => {
|
||||
const mockedTC = tc as jest.Mocked<typeof tc>;
|
||||
|
||||
beforeEach(() => {
|
||||
jest.clearAllMocks();
|
||||
});
|
||||
|
||||
test('retry 404 candidates and return the first downloaded asset', async () => {
|
||||
mockedTC.downloadTool
|
||||
.mockRejectedValueOnce(new Error('Unexpected HTTP response: 404'))
|
||||
.mockResolvedValueOnce('/tmp/hugo');
|
||||
|
||||
const result = await downloadHugoAsset([
|
||||
'https://example.com/missing.tar.gz',
|
||||
'https://example.com/hugo.tar.gz'
|
||||
]);
|
||||
|
||||
expect(result).toEqual({
|
||||
path: '/tmp/hugo',
|
||||
url: 'https://example.com/hugo.tar.gz'
|
||||
});
|
||||
expect(mockedTC.downloadTool).toHaveBeenCalledTimes(2);
|
||||
});
|
||||
|
||||
test('throw a clear error when all candidates return 404', async () => {
|
||||
mockedTC.downloadTool.mockRejectedValue(new Error('Unexpected HTTP response: 404'));
|
||||
|
||||
await expect(
|
||||
downloadHugoAsset([
|
||||
'https://example.com/missing-1.tar.gz',
|
||||
'https://example.com/missing-2.tar.gz'
|
||||
])
|
||||
).rejects.toThrow('Unable to find a compatible Hugo release asset');
|
||||
});
|
||||
|
||||
test('rethrow non-404 download failures without retrying', async () => {
|
||||
const error = new Error('socket hang up');
|
||||
mockedTC.downloadTool.mockRejectedValueOnce(error);
|
||||
|
||||
await expect(
|
||||
downloadHugoAsset(['https://example.com/hugo.tar.gz', 'https://example.com/fallback.tar.gz'])
|
||||
).rejects.toBe(error);
|
||||
expect(mockedTC.downloadTool).toHaveBeenCalledTimes(1);
|
||||
});
|
||||
});
|
||||
|
||||
describe('extractHugoAsset()', () => {
|
||||
const mockedTC = tc as jest.Mocked<typeof tc>;
|
||||
const mockedIO = io as jest.Mocked<typeof io>;
|
||||
const mockedExec = exec as jest.Mocked<typeof exec>;
|
||||
|
||||
beforeEach(() => {
|
||||
jest.clearAllMocks();
|
||||
});
|
||||
|
||||
test('extract a tar.gz asset', async () => {
|
||||
mockedTC.extractTar.mockResolvedValue('/tmp/extracted');
|
||||
|
||||
await extractHugoAsset('/tmp/tool', 'https://example.com/hugo.tar.gz', '/tmp/temp', '/tmp/bin');
|
||||
|
||||
expect(mockedTC.extractTar).toHaveBeenCalledWith('/tmp/tool', '/tmp/temp');
|
||||
expect(mockedIO.mv).toHaveBeenCalledWith(path.join('/tmp/extracted', 'hugo'), '/tmp/bin');
|
||||
});
|
||||
|
||||
test('extract a zip asset', async () => {
|
||||
mockedTC.extractZip.mockResolvedValue('/tmp/extracted');
|
||||
|
||||
await extractHugoAsset(
|
||||
'/tmp/tool',
|
||||
'https://example.com/hugo_0.58.2_Windows-64bit.zip',
|
||||
'/tmp/temp',
|
||||
'/tmp/bin'
|
||||
);
|
||||
|
||||
expect(mockedTC.extractZip).toHaveBeenCalledWith('/tmp/tool', '/tmp/temp');
|
||||
expect(mockedIO.mv).toHaveBeenCalledWith(path.join('/tmp/extracted', 'hugo.exe'), '/tmp/bin');
|
||||
});
|
||||
|
||||
test('extract a macOS zip asset', async () => {
|
||||
mockedTC.extractZip.mockResolvedValue('/tmp/extracted');
|
||||
|
||||
await extractHugoAsset(
|
||||
'/tmp/tool',
|
||||
'https://example.com/hugo_0.20.2_macOS-64bit.zip',
|
||||
'/tmp/temp',
|
||||
'/tmp/bin'
|
||||
);
|
||||
|
||||
expect(mockedTC.extractZip).toHaveBeenCalledWith('/tmp/tool', '/tmp/temp');
|
||||
expect(mockedIO.mv).toHaveBeenCalledWith(path.join('/tmp/extracted', 'hugo'), '/tmp/bin');
|
||||
});
|
||||
|
||||
test('extract a macOS pkg asset', async () => {
|
||||
mockedExec.exec.mockResolvedValue(0);
|
||||
|
||||
await extractHugoAsset('/tmp/tool', 'https://example.com/hugo.pkg', '/tmp/temp', '/tmp/bin');
|
||||
|
||||
expect(mockedExec.exec).toHaveBeenCalledWith('pkgutil', [
|
||||
'--expand-full',
|
||||
'/tmp/tool',
|
||||
path.join('/tmp/temp', 'pkg')
|
||||
]);
|
||||
expect(mockedIO.mv).toHaveBeenCalledWith(
|
||||
path.join('/tmp/temp', 'pkg', 'Payload', 'hugo'),
|
||||
'/tmp/bin'
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
describe('isWindowsAsset()', () => {
|
||||
test('detect Windows asset URLs', () => {
|
||||
expect(isWindowsAsset('https://example.com/hugo_0.58.2_Windows-64bit.zip')).toBe(true);
|
||||
expect(isWindowsAsset('https://example.com/hugo_0.119.0_windows-amd64.zip')).toBe(true);
|
||||
expect(isWindowsAsset('https://example.com/hugo_0.20.2_macOS-64bit.zip')).toBe(false);
|
||||
});
|
||||
});
|
||||
+12
-23
@@ -1,9 +1,9 @@
|
||||
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 {clearMockFetchResponses, mockFetchResponse} from './mocks/node-fetch';
|
||||
import jsonTestBrew from './data/brew.json';
|
||||
// import jsonTestGithub from './data/github.json';
|
||||
|
||||
@@ -19,7 +19,8 @@ describe('Integration testing run()', () => {
|
||||
await io.rmRF(workDir);
|
||||
|
||||
delete process.env['INPUT_HUGO-VERSION'];
|
||||
nock.cleanAll();
|
||||
delete process.env['INPUT_EXTENDED'];
|
||||
clearMockFetchResponses();
|
||||
});
|
||||
|
||||
test('succeed in installing a custom version', async () => {
|
||||
@@ -27,7 +28,7 @@ describe('Integration testing run()', () => {
|
||||
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}`);
|
||||
expect(result.output).toMatch(`hugo v${testVersion}`);
|
||||
});
|
||||
|
||||
test('succeed in installing a custom extended version', async () => {
|
||||
@@ -36,45 +37,35 @@ describe('Integration testing run()', () => {
|
||||
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(`hugo 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);
|
||||
mockFetchResponse(`https://formulae.brew.sh/api/formula/${Tool.Repo}.json`, 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(`hugo 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);
|
||||
mockFetchResponse(`https://formulae.brew.sh/api/formula/${Tool.Repo}.json`, 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(`hugo v${Tool.TestVersionLatest}`);
|
||||
expect(result.output).toMatch(`extended`);
|
||||
});
|
||||
|
||||
test('fail to install the latest version due to 404 of brew', async () => {
|
||||
process.env['INPUT_HUGO-VERSION'] = 'latest';
|
||||
nock('https://formulae.brew.sh')
|
||||
.get(`/api/formula/${Tool.Repo}.json`)
|
||||
.reply(404);
|
||||
mockFetchResponse(`https://formulae.brew.sh/api/formula/${Tool.Repo}.json`, 404);
|
||||
|
||||
await expect(main.run()).rejects.toThrowError(FetchError);
|
||||
await expect(main.run()).rejects.toThrow(FetchError);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -91,8 +82,6 @@ describe('showVersion()', () => {
|
||||
});
|
||||
|
||||
test('return not found', async () => {
|
||||
await expect(
|
||||
main.showVersion('gitgit', ['--version'])
|
||||
).rejects.toThrowError(Error);
|
||||
await expect(main.showVersion('gitgit', ['--version'])).rejects.toThrow('spawn gitgit ENOENT');
|
||||
});
|
||||
});
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
import path from 'path';
|
||||
|
||||
export function getInput(name: string): string {
|
||||
return process.env[`INPUT_${name.replace(/ /g, '_').toUpperCase()}`] || '';
|
||||
}
|
||||
|
||||
export function addPath(inputPath: string): void {
|
||||
process.env.PATH = `${inputPath}${path.delimiter}${process.env.PATH || ''}`;
|
||||
}
|
||||
|
||||
export function debug(message: string): void {
|
||||
void message;
|
||||
}
|
||||
|
||||
export function info(message: string): void {
|
||||
void message;
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
import {spawn} from 'child_process';
|
||||
|
||||
interface ExecOptions {
|
||||
listeners?: {
|
||||
stdout?: (data: Buffer) => void;
|
||||
stderr?: (data: Buffer) => void;
|
||||
};
|
||||
}
|
||||
|
||||
export async function exec(
|
||||
commandLine: string,
|
||||
args: string[] = [],
|
||||
options: ExecOptions = {}
|
||||
): Promise<number> {
|
||||
if (commandLine === 'hugo') {
|
||||
const version = process.env.TEST_HUGO_VERSION || '';
|
||||
const extended = process.env.TEST_HUGO_EXTENDED === 'true' ? ' extended' : '';
|
||||
options.listeners?.stdout?.(Buffer.from(`hugo v${version}${extended}\n`));
|
||||
return 0;
|
||||
}
|
||||
|
||||
return new Promise((resolve, reject) => {
|
||||
const child = spawn(commandLine, args);
|
||||
|
||||
child.stdout?.on('data', (data: Buffer) => {
|
||||
options.listeners?.stdout?.(data);
|
||||
});
|
||||
child.stderr?.on('data', (data: Buffer) => {
|
||||
options.listeners?.stderr?.(data);
|
||||
});
|
||||
child.on('error', reject);
|
||||
child.on('close', code => {
|
||||
resolve(code ?? 0);
|
||||
});
|
||||
});
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
export async function mkdirP(dir: string): Promise<void> {
|
||||
void dir;
|
||||
}
|
||||
|
||||
export async function rmRF(target: string): Promise<void> {
|
||||
void target;
|
||||
}
|
||||
|
||||
export async function mv(source: string, dest: string): Promise<void> {
|
||||
void source;
|
||||
void dest;
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
export async function downloadTool(url: string): Promise<string> {
|
||||
const version = /hugo(?:_extended)?_([^_]+)_/.exec(url)?.[1] || '';
|
||||
process.env.TEST_HUGO_VERSION = version;
|
||||
process.env.TEST_HUGO_EXTENDED = url.includes('hugo_extended_') ? 'true' : 'false';
|
||||
return '/tmp/hugo-archive';
|
||||
}
|
||||
|
||||
export async function extractTar(assetPath: string, tempDir: string): Promise<string> {
|
||||
void assetPath;
|
||||
void tempDir;
|
||||
return '/tmp/extracted';
|
||||
}
|
||||
|
||||
export async function extractZip(assetPath: string, tempDir: string): Promise<string> {
|
||||
void assetPath;
|
||||
void tempDir;
|
||||
return '/tmp/extracted';
|
||||
}
|
||||
@@ -0,0 +1,80 @@
|
||||
import http from 'http';
|
||||
import https from 'https';
|
||||
|
||||
export class FetchError extends Error {
|
||||
name = 'FetchError' as const;
|
||||
|
||||
constructor(
|
||||
message: string,
|
||||
public type: string,
|
||||
systemError?: Record<string, unknown>
|
||||
) {
|
||||
super(message);
|
||||
if (systemError) {
|
||||
Object.assign(this, systemError);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
interface ResponseLike {
|
||||
ok: boolean;
|
||||
status: number;
|
||||
json: () => Promise<unknown>;
|
||||
}
|
||||
|
||||
interface MockResponse {
|
||||
body?: unknown;
|
||||
status: number;
|
||||
}
|
||||
|
||||
const mockResponses = new Map<string, MockResponse>();
|
||||
|
||||
export function mockFetchResponse(url: string, status: number, body?: unknown): void {
|
||||
mockResponses.set(url, {
|
||||
body,
|
||||
status
|
||||
});
|
||||
}
|
||||
|
||||
export function clearMockFetchResponses(): void {
|
||||
mockResponses.clear();
|
||||
}
|
||||
|
||||
export default async function fetch(url: string | URL): Promise<ResponseLike> {
|
||||
const target = url.toString();
|
||||
const mockResponse = mockResponses.get(target);
|
||||
if (mockResponse) {
|
||||
return {
|
||||
ok: mockResponse.status >= 200 && mockResponse.status < 300,
|
||||
status: mockResponse.status,
|
||||
json: async () => mockResponse.body as unknown
|
||||
};
|
||||
}
|
||||
|
||||
const client = target.startsWith('https:') ? https : http;
|
||||
|
||||
return new Promise((resolve, reject) => {
|
||||
const request = client.get(target, response => {
|
||||
const chunks: Buffer[] = [];
|
||||
|
||||
response.on('data', (chunk: Buffer | string) => {
|
||||
chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk));
|
||||
});
|
||||
|
||||
response.on('end', () => {
|
||||
const status = response.statusCode ?? 0;
|
||||
const body = Buffer.concat(chunks).toString();
|
||||
|
||||
resolve({
|
||||
ok: status >= 200 && status < 300,
|
||||
status,
|
||||
json: async () => JSON.parse(body) as unknown
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
request.on('error', error => {
|
||||
reject(new FetchError(error.message, 'system'));
|
||||
});
|
||||
});
|
||||
}
|
||||
+1
-1
@@ -11,7 +11,7 @@ inputs:
|
||||
required: false
|
||||
default: 'false'
|
||||
runs:
|
||||
using: 'node12'
|
||||
using: 'node24'
|
||||
main: 'lib/index.js'
|
||||
branding:
|
||||
icon: 'package'
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
const tseslint = require('@typescript-eslint/eslint-plugin');
|
||||
const jest = require('eslint-plugin-jest');
|
||||
|
||||
const globals = {
|
||||
Atomics: 'readonly',
|
||||
Buffer: 'readonly',
|
||||
SharedArrayBuffer: 'readonly',
|
||||
__dirname: 'readonly',
|
||||
clearTimeout: 'readonly',
|
||||
console: 'readonly',
|
||||
exports: 'writable',
|
||||
module: 'readonly',
|
||||
process: 'readonly',
|
||||
require: 'readonly',
|
||||
setTimeout: 'readonly'
|
||||
};
|
||||
|
||||
module.exports = [
|
||||
{
|
||||
ignores: ['lib/**', 'coverage/**', 'node_modules/**']
|
||||
},
|
||||
...tseslint.configs['flat/recommended'],
|
||||
{
|
||||
files: ['src/**/*.ts', '__tests__/**/*.ts'],
|
||||
languageOptions: {
|
||||
ecmaVersion: 2019,
|
||||
sourceType: 'module',
|
||||
globals
|
||||
}
|
||||
},
|
||||
{
|
||||
files: ['__tests__/**/*.ts'],
|
||||
...jest.configs['flat/recommended'],
|
||||
settings: {
|
||||
jest: {
|
||||
version: 30
|
||||
}
|
||||
}
|
||||
}
|
||||
];
|
||||
+16
-2
@@ -4,8 +4,22 @@ module.exports = {
|
||||
testEnvironment: 'node',
|
||||
testMatch: ['**/*.test.ts'],
|
||||
testRunner: 'jest-circus/runner',
|
||||
moduleNameMapper: {
|
||||
'^@actions/core$': '<rootDir>/__tests__/mocks/actions-core.ts',
|
||||
'^@actions/exec$': '<rootDir>/__tests__/mocks/actions-exec.ts',
|
||||
'^@actions/io$': '<rootDir>/__tests__/mocks/actions-io.ts',
|
||||
'^@actions/tool-cache$': '<rootDir>/__tests__/mocks/actions-tool-cache.ts',
|
||||
'^node-fetch$': '<rootDir>/__tests__/mocks/node-fetch.ts'
|
||||
},
|
||||
transform: {
|
||||
'^.+\\.ts$': 'ts-jest'
|
||||
'^.+\\.ts$': [
|
||||
'ts-jest',
|
||||
{
|
||||
tsconfig: {
|
||||
types: ['jest', 'node']
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
verbose: true
|
||||
}
|
||||
}
|
||||
|
||||
+41123
-5611
File diff suppressed because one or more lines are too long
Generated
+13262
-8813
File diff suppressed because it is too large
Load Diff
+29
-37
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"name": "actions-hugo",
|
||||
"version": "2.4.12",
|
||||
"version": "3.2.1",
|
||||
"description": "GitHub Actions for Hugo",
|
||||
"main": "lib/index.js",
|
||||
"engines": {
|
||||
"node": ">=12.14.1",
|
||||
"npm": ">=6.13.7"
|
||||
"node": ">=24.15.0",
|
||||
"npm": ">=11.12.1"
|
||||
},
|
||||
"scripts": {
|
||||
"all": "npm run format:check && npm run lint && npm test",
|
||||
@@ -14,25 +14,18 @@
|
||||
"test": "jest --coverage --verbose",
|
||||
"build": "ncc build ./src/index.ts -o lib",
|
||||
"tsc": "tsc",
|
||||
"format": "prettier --write **/*.ts",
|
||||
"format:check": "prettier --check **/*.ts",
|
||||
"format": "prettier --write '**/*.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-merge": "npm run update-deps; git remote prune origin"
|
||||
}
|
||||
"postinstall": "npx husky install"
|
||||
},
|
||||
"lint-staged": {
|
||||
"src/**/*.ts": [
|
||||
"{src,__tests__}/**/*.ts": [
|
||||
"prettier --check",
|
||||
"eslint"
|
||||
],
|
||||
"README.md": [
|
||||
"npx doctoc@1.4.0 --github"
|
||||
"npx doctoc@2.1.0 --github"
|
||||
]
|
||||
},
|
||||
"repository": {
|
||||
@@ -54,29 +47,28 @@
|
||||
},
|
||||
"homepage": "https://github.com/peaceiris/actions-hugo#readme",
|
||||
"dependencies": {
|
||||
"@actions/core": "^1.2.4",
|
||||
"@actions/exec": "^1.0.4",
|
||||
"@actions/io": "^1.0.2",
|
||||
"@actions/tool-cache": "^1.5.5",
|
||||
"node-fetch": "^2.6.0"
|
||||
"@actions/core": "3.0.1",
|
||||
"@actions/exec": "3.0.0",
|
||||
"@actions/io": "3.0.2",
|
||||
"@actions/tool-cache": "4.0.0",
|
||||
"node-fetch": "3.3.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/jest": "^26.0.0",
|
||||
"@types/node": "~12",
|
||||
"@types/node-fetch": "^2.5.7",
|
||||
"@typescript-eslint/eslint-plugin": "^2.34.0",
|
||||
"@typescript-eslint/parser": "^2.34.0",
|
||||
"@zeit/ncc": "^0.22.3",
|
||||
"eslint": "^6.8.0",
|
||||
"eslint-plugin-jest": "^23.13.2",
|
||||
"husky": "^4.2.5",
|
||||
"jest": "^25.5.4",
|
||||
"jest-circus": "^26.0.1",
|
||||
"lint-staged": "^10.2.11",
|
||||
"nock": "^12.0.3",
|
||||
"prettier": "2.0.5",
|
||||
"standard-version": "^8.0.0",
|
||||
"ts-jest": "^25.5.1",
|
||||
"typescript": "^3.9.5"
|
||||
"@types/jest": "30.0.0",
|
||||
"@types/node": "25.6.2",
|
||||
"@typescript-eslint/eslint-plugin": "8.59.2",
|
||||
"@typescript-eslint/parser": "8.59.2",
|
||||
"@vercel/ncc": "0.38.4",
|
||||
"eslint": "10.3.0",
|
||||
"eslint-plugin-jest": "29.15.2",
|
||||
"husky": "9.1.7",
|
||||
"jest": "30.4.2",
|
||||
"jest-circus": "30.4.2",
|
||||
"lint-staged": "17.0.4",
|
||||
"nock": "14.0.15",
|
||||
"prettier": "3.8.3",
|
||||
"standard-version": "9.5.0",
|
||||
"ts-jest": "29.4.9",
|
||||
"typescript": "6.0.3"
|
||||
}
|
||||
}
|
||||
|
||||
+6
-4
@@ -3,8 +3,10 @@
|
||||
# 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
|
||||
DEFAULT_BRANCH="main"
|
||||
|
||||
if [ "$(git branch --show-current)" != "${DEFAULT_BRANCH}" ]; then
|
||||
echo "$0: Current branch is not ${DEFAULT_BRANCH}" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@@ -26,7 +28,7 @@ if [ "${res}" = "n" ]; then
|
||||
fi
|
||||
|
||||
git fetch origin
|
||||
git pull origin master
|
||||
git pull origin "${DEFAULT_BRANCH}"
|
||||
git tag -d v2 || true
|
||||
git pull origin --tags
|
||||
|
||||
@@ -44,5 +46,5 @@ 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 "${DEFAULT_BRANCH}"
|
||||
git push origin "${TAG_NAME}"
|
||||
|
||||
+9
-9
@@ -1,12 +1,12 @@
|
||||
export enum Tool {
|
||||
Name = 'Hugo',
|
||||
Org = 'gohugoio',
|
||||
Repo = 'hugo',
|
||||
CmdName = 'hugo',
|
||||
CmdOptVersion = 'version',
|
||||
TestVersionLatest = '0.62.2',
|
||||
TestVersionSpec = '0.61.0'
|
||||
}
|
||||
export const Tool = {
|
||||
Name: 'Hugo',
|
||||
Org: 'gohugoio',
|
||||
Repo: 'hugo',
|
||||
CmdName: 'hugo',
|
||||
CmdOptVersion: 'version',
|
||||
TestVersionLatest: '0.83.1',
|
||||
TestVersionSpec: '0.82.1'
|
||||
} as const;
|
||||
|
||||
export enum Action {
|
||||
WorkDirName = 'actions_hugo',
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
import {conventions} from './get-conventions';
|
||||
|
||||
export default function getArch(arch: string, os: string, conventions: conventions): string {
|
||||
if (conventions.arch.darwinUniversal && (os === 'darwin' || os === 'macOS')) {
|
||||
return 'universal';
|
||||
}
|
||||
|
||||
switch (arch) {
|
||||
case 'x64':
|
||||
return conventions.arch.standardizedNaming ? 'amd64' : '64bit';
|
||||
case 'arm':
|
||||
if (conventions.arch.droppedWindowsArmSupport && (os === 'Windows' || os === 'windows')) {
|
||||
throw new Error(`${arch} is not supported`);
|
||||
}
|
||||
|
||||
return conventions.arch.standardizedNaming ? 'arm' : 'ARM';
|
||||
case 'arm64':
|
||||
return conventions.arch.standardizedNaming ? 'arm64' : 'ARM64';
|
||||
default:
|
||||
throw new Error(`${arch} is not supported`);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
export interface conventions {
|
||||
arch: {
|
||||
darwinUniversal: boolean;
|
||||
droppedWindowsArmSupport: boolean;
|
||||
standardizedNaming: boolean;
|
||||
};
|
||||
os: {
|
||||
renamedMacOS: boolean;
|
||||
downcasedAll: boolean;
|
||||
};
|
||||
}
|
||||
|
||||
export function getConventions(version: string): conventions {
|
||||
const segments = version.split('.').map(s => parseInt(s));
|
||||
const stableOrNewer = segments[0] > 0;
|
||||
const newerThan103 = stableOrNewer || segments[1] >= 103;
|
||||
const newerThan102 = stableOrNewer || segments[1] >= 102;
|
||||
return {
|
||||
arch: {
|
||||
darwinUniversal: newerThan102,
|
||||
droppedWindowsArmSupport: newerThan102,
|
||||
standardizedNaming: newerThan103
|
||||
},
|
||||
os: {
|
||||
renamedMacOS: newerThan103,
|
||||
downcasedAll: newerThan103
|
||||
}
|
||||
};
|
||||
}
|
||||
@@ -1,4 +1,14 @@
|
||||
import fetch from 'node-fetch';
|
||||
import fetch, {FetchError} from 'node-fetch';
|
||||
|
||||
interface BrewFormulaResponse {
|
||||
versions: {
|
||||
stable: string;
|
||||
};
|
||||
}
|
||||
|
||||
interface GitHubReleaseResponse {
|
||||
tag_name: string;
|
||||
}
|
||||
|
||||
export function getURL(org: string, repo: string, api: string): string {
|
||||
let url = '';
|
||||
@@ -12,19 +22,19 @@ export function getURL(org: string, repo: string, api: string): string {
|
||||
return url;
|
||||
}
|
||||
|
||||
export async function getLatestVersion(
|
||||
org: string,
|
||||
repo: string,
|
||||
api: string
|
||||
): Promise<string> {
|
||||
export async function getLatestVersion(org: string, repo: string, api: string): Promise<string> {
|
||||
const url = getURL(org, repo, api);
|
||||
const response = await fetch(url);
|
||||
if (!response.ok) {
|
||||
throw new FetchError(`request to ${url} failed with status ${response.status}`, 'system');
|
||||
}
|
||||
|
||||
const json = await response.json();
|
||||
let latestVersion = '';
|
||||
if (api === 'brew') {
|
||||
latestVersion = json.versions.stable;
|
||||
latestVersion = (json as BrewFormulaResponse).versions.stable;
|
||||
} else if (api === 'github') {
|
||||
latestVersion = json.tag_name;
|
||||
latestVersion = (json as GitHubReleaseResponse).tag_name;
|
||||
}
|
||||
return latestVersion;
|
||||
}
|
||||
|
||||
+12
-9
@@ -1,11 +1,14 @@
|
||||
export default function getOS(platform: string): string {
|
||||
if (platform === 'linux') {
|
||||
return 'Linux';
|
||||
} else if (platform === 'darwin') {
|
||||
return 'macOS';
|
||||
} else if (platform === 'win32') {
|
||||
return 'Windows';
|
||||
} else {
|
||||
throw new Error(`${platform} is not supported`);
|
||||
import {conventions} from './get-conventions';
|
||||
|
||||
export default function getOS(platform: string, conventions: conventions): string {
|
||||
switch (platform) {
|
||||
case 'linux':
|
||||
return conventions.os.downcasedAll ? 'linux' : 'Linux';
|
||||
case 'darwin':
|
||||
return conventions.os.renamedMacOS ? 'darwin' : 'macOS';
|
||||
case 'win32':
|
||||
return conventions.os.downcasedAll ? 'windows' : 'Windows';
|
||||
default:
|
||||
throw new Error(`${platform} is not supported`);
|
||||
}
|
||||
}
|
||||
|
||||
+75
-9
@@ -1,8 +1,11 @@
|
||||
export default function getURL(
|
||||
os: string,
|
||||
arch: string,
|
||||
extended: string,
|
||||
version: string
|
||||
): string {
|
||||
): string[] {
|
||||
const downloadVersion = getDownloadVersion(version);
|
||||
|
||||
const extendedStr = (extended: string): string => {
|
||||
if (extended === 'true') {
|
||||
return 'extended_';
|
||||
@@ -13,17 +16,80 @@ export default function getURL(
|
||||
}
|
||||
};
|
||||
|
||||
const ext = (os: string): string => {
|
||||
if (os === 'Windows') {
|
||||
return 'zip';
|
||||
} else {
|
||||
return 'tar.gz';
|
||||
const lowerArch = (arch: string): string => {
|
||||
switch (arch) {
|
||||
case '64bit':
|
||||
return 'amd64';
|
||||
case 'ARM':
|
||||
return 'arm';
|
||||
case 'ARM64':
|
||||
return 'arm64';
|
||||
default:
|
||||
return arch.toLowerCase();
|
||||
}
|
||||
};
|
||||
|
||||
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)}`;
|
||||
const assetBase = `hugo_${extendedStr(extended)}${downloadVersion}_`;
|
||||
const legacyVersionedAssetBase = `hugo_${extendedStr(extended)}v${downloadVersion}_`;
|
||||
const assetBases = [assetBase, legacyVersionedAssetBase];
|
||||
const assetURLs = (assetNames: string[]): string[] => {
|
||||
return Array.from(new Set(assetNames)).map(assetName => {
|
||||
return `${baseURL}/v${downloadVersion}/${assetName}`;
|
||||
});
|
||||
};
|
||||
|
||||
return url;
|
||||
if (os === 'macOS') {
|
||||
return assetURLs(
|
||||
assetBases.flatMap(assetBase => [
|
||||
`${assetBase}macOS-${arch}.tar.gz`,
|
||||
`${assetBase}macOS-${arch}.zip`,
|
||||
`${assetBase}macOS-all.tar.gz`,
|
||||
`${assetBase}darwin-universal.tar.gz`,
|
||||
`${assetBase}darwin-universal.pkg`
|
||||
])
|
||||
);
|
||||
}
|
||||
|
||||
if (os === 'darwin') {
|
||||
return assetURLs(
|
||||
assetBases.flatMap(assetBase => [
|
||||
`${assetBase}darwin-${arch}.tar.gz`,
|
||||
`${assetBase}darwin-${arch}.pkg`
|
||||
])
|
||||
);
|
||||
}
|
||||
|
||||
if (os === 'Windows' || os === 'windows') {
|
||||
const assetPatterns =
|
||||
os === 'windows'
|
||||
? [`windows-${lowerArch(arch)}.zip`, `Windows-${arch}.zip`]
|
||||
: [`Windows-${arch}.zip`, `windows-${lowerArch(arch)}.zip`];
|
||||
|
||||
return assetURLs(
|
||||
assetBases.flatMap(assetBase => assetPatterns.map(asset => `${assetBase}${asset}`))
|
||||
);
|
||||
}
|
||||
|
||||
if (os === 'Linux' || os === 'linux') {
|
||||
const assetPatterns =
|
||||
os === 'linux'
|
||||
? [`linux-${lowerArch(arch)}.tar.gz`, `Linux-${arch}.tar.gz`, `Linux_${arch}.tar.gz`]
|
||||
: [`Linux-${arch}.tar.gz`, `Linux_${arch}.tar.gz`, `linux-${lowerArch(arch)}.tar.gz`];
|
||||
|
||||
return assetURLs(
|
||||
assetBases.flatMap(assetBase => assetPatterns.map(asset => `${assetBase}${asset}`))
|
||||
);
|
||||
}
|
||||
|
||||
return assetURLs([`${assetBase}${os}-${arch}.tar.gz`]);
|
||||
}
|
||||
|
||||
export function getDownloadVersion(version: string): string {
|
||||
if (version === '0.139.5') {
|
||||
// v0.139.5 has no release archives; Hugo publishes the same archives under v0.139.4.
|
||||
return '0.139.4';
|
||||
}
|
||||
|
||||
return version;
|
||||
}
|
||||
|
||||
+2
-1
@@ -5,6 +5,7 @@ import * as main from './main';
|
||||
try {
|
||||
await main.run();
|
||||
} catch (e) {
|
||||
core.setFailed(`Action failed with error ${e.message}`);
|
||||
const message = e instanceof Error ? e.message : String(e);
|
||||
core.setFailed(`Action failed with error ${message}`);
|
||||
}
|
||||
})();
|
||||
|
||||
+84
-20
@@ -1,11 +1,19 @@
|
||||
import * as core from '@actions/core';
|
||||
import * as tc from '@actions/tool-cache';
|
||||
import * as io from '@actions/io';
|
||||
import * as exec from '@actions/exec';
|
||||
import {getConventions} from './get-conventions';
|
||||
import getOS from './get-os';
|
||||
import getURL from './get-url';
|
||||
import getArch from './get-arch';
|
||||
import getURL, {getDownloadVersion} from './get-url';
|
||||
import * as path from 'path';
|
||||
import {Tool, Action} from './constants';
|
||||
|
||||
export interface DownloadedAsset {
|
||||
path: string;
|
||||
url: string;
|
||||
}
|
||||
|
||||
export function getHomeDir(): string {
|
||||
let homedir = '';
|
||||
|
||||
@@ -42,34 +50,90 @@ export async function createBinDir(workDir: string): Promise<string> {
|
||||
return binDir;
|
||||
}
|
||||
|
||||
export function isRetryableDownloadError(error: unknown): boolean {
|
||||
const message = error instanceof Error ? error.message : `${error}`;
|
||||
return (
|
||||
message.includes('Unexpected HTTP response: 404') ||
|
||||
message.includes('Code(404)') ||
|
||||
(message.includes('404') && message.includes('Not Found'))
|
||||
);
|
||||
}
|
||||
|
||||
export function isWindowsAsset(assetURL: string): boolean {
|
||||
return /(?:Windows[-_]|windows[-_])/.test(assetURL);
|
||||
}
|
||||
|
||||
export async function downloadHugoAsset(toolURLs: string[]): Promise<DownloadedAsset> {
|
||||
for (const toolURL of toolURLs) {
|
||||
core.debug(`toolURL: ${toolURL}`);
|
||||
|
||||
try {
|
||||
return {
|
||||
path: await tc.downloadTool(toolURL),
|
||||
url: toolURL
|
||||
};
|
||||
} catch (error) {
|
||||
if (!isRetryableDownloadError(error)) {
|
||||
throw error;
|
||||
}
|
||||
|
||||
core.debug(`Hugo asset not found at ${toolURL}`);
|
||||
}
|
||||
}
|
||||
|
||||
throw new Error(
|
||||
`Unable to find a compatible Hugo release asset for this runner. Tried:\n${toolURLs.join('\n')}`
|
||||
);
|
||||
}
|
||||
|
||||
export async function extractHugoAsset(
|
||||
assetPath: string,
|
||||
assetURL: string,
|
||||
tempDir: string,
|
||||
binDir: string
|
||||
): Promise<void> {
|
||||
let toolBin = '';
|
||||
|
||||
if (assetURL.endsWith('.zip')) {
|
||||
const toolExtractedFolder: string = await tc.extractZip(assetPath, tempDir);
|
||||
const toolCmd = isWindowsAsset(assetURL) ? `${Tool.CmdName}.exe` : Tool.CmdName;
|
||||
toolBin = path.join(toolExtractedFolder, toolCmd);
|
||||
} else if (assetURL.endsWith('.pkg')) {
|
||||
const pkgExtractedFolder = path.join(tempDir, 'pkg');
|
||||
await exec.exec('pkgutil', ['--expand-full', assetPath, pkgExtractedFolder]);
|
||||
toolBin = path.join(pkgExtractedFolder, 'Payload', Tool.CmdName);
|
||||
} else {
|
||||
const toolExtractedFolder: string = await tc.extractTar(assetPath, tempDir);
|
||||
toolBin = path.join(toolExtractedFolder, Tool.CmdName);
|
||||
}
|
||||
|
||||
await io.mv(toolBin, 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);
|
||||
const conventions = getConventions(version);
|
||||
|
||||
const osName: string = getOS(process.platform, conventions);
|
||||
core.debug(`Operating System: ${osName}`);
|
||||
|
||||
const toolURL: string = getURL(osName, extended, version);
|
||||
core.debug(`toolURL: ${toolURL}`);
|
||||
const archName: string = getArch(process.arch, osName, conventions);
|
||||
core.debug(`Processor Architecture: ${archName}`);
|
||||
|
||||
const toolURLs: string[] = getURL(osName, archName, extended, version);
|
||||
const downloadVersion = getDownloadVersion(version);
|
||||
if (downloadVersion !== version) {
|
||||
core.info(
|
||||
`Hugo ${version} release does not publish archives; downloading v${downloadVersion} archives instead.`
|
||||
);
|
||||
}
|
||||
|
||||
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);
|
||||
const toolAsset: DownloadedAsset = await downloadHugoAsset(toolURLs);
|
||||
await extractHugoAsset(toolAsset.path, toolAsset.url, tempDir, binDir);
|
||||
}
|
||||
|
||||
+1
-4
@@ -9,10 +9,7 @@ export interface ActionResult {
|
||||
output: string;
|
||||
}
|
||||
|
||||
export async function showVersion(
|
||||
cmd: string,
|
||||
args: string[]
|
||||
): Promise<ActionResult> {
|
||||
export async function showVersion(cmd: string, args: string[]): Promise<ActionResult> {
|
||||
const result: ActionResult = {
|
||||
exitcode: 0,
|
||||
output: ''
|
||||
|
||||
+12
-60
@@ -1,65 +1,17 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
/* Basic Options */
|
||||
// "incremental": true, /* Enable incremental compilation */
|
||||
"target": "es6", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019' or 'ESNEXT'. */
|
||||
"module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */
|
||||
// "allowJs": true, /* Allow javascript files to be compiled. */
|
||||
// "checkJs": true, /* Report errors in .js files. */
|
||||
// "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */
|
||||
// "declaration": true, /* Generates corresponding '.d.ts' file. */
|
||||
// "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */
|
||||
"sourceMap": true, /* Generates corresponding '.map' file. */
|
||||
// "outFile": "./", /* Concatenate and emit output to single file. */
|
||||
"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. */
|
||||
// "composite": true, /* Enable project compilation */
|
||||
// "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */
|
||||
"removeComments": true, /* Do not emit comments to output. */
|
||||
// "noEmit": true, /* Do not emit outputs. */
|
||||
// "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'. */
|
||||
// "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */
|
||||
|
||||
/* Strict Type-Checking Options */
|
||||
"strict": true, /* Enable all strict type-checking options. */
|
||||
"noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */
|
||||
// "strictNullChecks": true, /* Enable strict null checks. */
|
||||
// "strictFunctionTypes": true, /* Enable strict checking of function types. */
|
||||
// "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */
|
||||
// "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */
|
||||
// "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */
|
||||
// "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */
|
||||
|
||||
/* Additional Checks */
|
||||
// "noUnusedLocals": true, /* Report errors on unused locals. */
|
||||
// "noUnusedParameters": true, /* Report errors on unused parameters. */
|
||||
// "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */
|
||||
// "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */
|
||||
|
||||
/* Module Resolution Options */
|
||||
// "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */
|
||||
// "baseUrl": "./", /* Base directory to resolve non-absolute module names. */
|
||||
// "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */
|
||||
// "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */
|
||||
// "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'. */
|
||||
// "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */
|
||||
// "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */
|
||||
|
||||
/* Source Map Options */
|
||||
// "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */
|
||||
// "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */
|
||||
// "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */
|
||||
// "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */
|
||||
|
||||
/* Experimental Options */
|
||||
// "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */
|
||||
// "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */
|
||||
|
||||
"lib": ["ES2019"],
|
||||
"module": "ESNext",
|
||||
"moduleResolution": "bundler",
|
||||
"target": "ES2019",
|
||||
"sourceMap": true,
|
||||
"outDir": "./lib",
|
||||
"rootDir": "./src",
|
||||
"removeComments": true,
|
||||
"strict": true,
|
||||
"noImplicitAny": true,
|
||||
"esModuleInterop": true,
|
||||
"resolveJsonModule": true
|
||||
},
|
||||
"exclude": ["node_modules", "**/*.test.ts"]
|
||||
"exclude": ["node_modules", "__tests__"]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user