Commit Graph

47 Commits

Author SHA1 Message Date
Shohei Ueda 187a5efe81 feat: support renamed Hugo release assets (#687)
## Summary
- Support multiple Hugo release asset names for Linux, macOS, and
Windows so renamed upstream assets no longer fail with a plain 404.
- Preserve compatibility with legacy Hugo assets that used filename
forms such as `hugo_v0.20.3_*`, macOS `.zip` archives, and
`Linux_ARM`-style names.
- Add retry handling for missing candidate assets and macOS `.pkg`
extraction via `pkgutil --expand-full`, with focused URL and installer
tests plus the rebuilt `lib/index.js` bundle.

## References
- Fixes https://github.com/peaceiris/actions-hugo/issues/652
- `hugo-version: latest` still resolves through Homebrew; this change
does not fall back to an older Hugo version when the resolved release
has no compatible asset.
- Review note: `lib/index.js` is generated by `npm run build` and
contains bundled dependency code.

## Test plan
- [x] `RUNNER_TEMP=/tmp npm run all`
- [x] `npm run build`


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Tests**
* Broadened test coverage for asset URL generation, download retry
behavior, and extraction across OSes and architectures.

* **Bug Fixes**
* More resilient installer with multiple candidate download URLs and
retry handling for transient failures.
* Improved extraction logic to correctly handle platform- and
format-specific archives.

[![Review Change
Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/peaceiris/actions-hugo/pull/687)
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Codex <noreply@openai.com>
2026-05-10 22:40:55 +09:00
peaceiris 20e81489be chore(release): Remove build assets [skip ci] 2026-05-10 18:43:22 +09:00
peaceiris 62903c46a1 chore(release): Add build assets 2026-05-10 18:43:19 +09:00
peaceiris 1b06a03d21 chore(release): Remove build assets [skip ci] 2024-04-02 12:17:51 +09:00
peaceiris e482f7ce0f chore(release): Add build assets 2024-04-02 12:17:49 +09:00
peaceiris 4910870eaa chore(release): Remove build assets [skip ci] 2022-10-24 00:28:24 +09:00
peaceiris 2eb0f86851 chore(release): Add build assets 2022-10-24 00:28:16 +09:00
peaceiris 41a402c64b chore(release): Remove build assets [skip ci] 2021-05-27 13:04:55 +09:00
peaceiris d282fd0d5e chore(release): Add build assets 2021-05-27 13:04:53 +09:00
peaceiris b1548a6acb chore(release): Remove build assets [skip ci] 2020-10-07 01:12:19 +09:00
peaceiris 8286aeefb8 chore(release): Add build assets 2020-10-07 01:12:17 +09:00
peaceiris 20fdc5a174 chore(release): Remove build assets [skip ci] 2020-06-21 13:19:00 +09:00
peaceiris 0ea1e4ebec chore(release): Add build assets 2020-06-21 13:18:58 +09:00
peaceiris a0dcca096a chore(release): Remove build assets [skip ci] 2020-04-29 13:44:09 +09:00
peaceiris 88d9993a14 chore(release): Add build assets 2020-04-29 13:44:06 +09:00
peaceiris 4a710eea83 chore(release): Remove build assets [skip ci] 2020-04-15 11:16:20 +09:00
peaceiris 124585fe17 chore(release): Add build assets 2020-04-15 11:16:18 +09:00
peaceiris 45d50caa20 chore(release): Remove build assets [skip ci] 2020-04-04 00:42:35 +09:00
peaceiris c8a33c5660 chore(release): Add build assets 2020-04-04 00:42:33 +09:00
peaceiris 57eddfaa48 chore(release): Remove build assets [skip ci] 2020-03-27 19:13:17 +09:00
peaceiris b30237c8ce chore(release): Add build assets 2020-03-27 19:13:15 +09:00
peaceiris 9cdeeef2f3 chore(release): Remove build assets [skip ci] 2020-03-14 06:34:43 +09:00
peaceiris 514a588dc1 chore(release): Add build assets 2020-03-14 06:34:41 +09:00
peaceiris 6eb91d4870 chore(release): Remove build assets [skip ci] 2020-02-26 20:15:43 +09:00
peaceiris bbb82a999a chore(release): Add build assets 2020-02-26 20:15:41 +09:00
peaceiris 0dd325e0bc chore(release): Remove build assets [skip ci] 2020-02-04 11:47:09 +09:00
peaceiris 1710cea6fb chore(release): Add build assets 2020-02-04 11:47:08 +09:00
peaceiris 8eef9fcb44 chore(release): Remove build assets [skip ci] 2020-01-28 11:33:14 +09:00
peaceiris 20ff13abbd chore(release): Add build assets 2020-01-28 11:33:13 +09:00
peaceiris 236f382aa6 chore(release): Remove build assets [skip ci] 2020-01-24 13:37:15 +09:00
peaceiris b28afd97fa chore(release): Add build assets 2020-01-24 13:37:14 +09:00
peaceiris c58f4ce12d chore(release): Remove build assets [skip ci] 2020-01-24 06:32:10 +09:00
peaceiris 8f7332cde6 chore(release): Add build assets 2020-01-24 06:32:09 +09:00
peaceiris 490ff3b995 chore(release): Remove build assets [skip ci] 2020-01-18 12:36:55 +09:00
peaceiris bb87612dba chore(release): Add build assets 2020-01-18 12:36:54 +09:00
peaceiris 5817344f90 chore(release): Remove build assets [skip ci] 2020-01-18 01:59:40 +09:00
peaceiris 1b689687f3 chore(release): Add build assets 2020-01-18 01:59:39 +09:00
Shohei Ueda 7dc067063b chore: Disable branch execution (#125) 2020-01-18 00:44:07 +09:00
Shohei Ueda 10f36c7c91 feat: update deps (#103) 2019-12-14 17:59:17 +09:00
Shohei Ueda 739a95f1e7 gha: Enhance workflows (#102)
* gha: Add Pull Request to stale target
* gha: Add ncc check step (Close #98 )
* src: Rename showVersion()
* test: Add not to be cases
* Remove old comment
* gha: Add update major tag workflow (Close #97 )
2019-12-08 15:45:59 +09:00
Shohei Ueda ef869fb22f Path join (#92) 2019-11-22 11:14:44 +09:00
Shohei Ueda 3ab6d78f1e deps: Compile deps into single file with ncc (#88)
* deps: Compile deps into single file with ncc
* ci: update husky setting

Close #67
2019-11-17 20:39:17 +09:00
Shohei Ueda a6d33f08ac config: enhance tsconfig.json (#44)
* config: enhance tsconfig.json (Set sourceMap and removeComments to true)
* gha: Add pull_request trigger, close #43
* config: Add waring emoji
2019-09-23 10:58:19 +09:00
Shohei Ueda d7d48e3009 Refactor: enhance Hugo version dumping (#39) 2019-09-22 10:24:28 +09:00
peaceiris 824187d952 fix: npm run tsc 2019-09-22 08:42:53 +09:00
Shohei Ueda dc8541739a Feat: Support macOS and Windows, migrate JavaScript to TypeScript (#32)
- Support macOS and Windows (Close #24 )
- Refactoring
  - Error handling
  - TypeScript
- Prettier (Close #29 )
- GHA: Add upload-artifact step for test coverage
- deps: Install husky
2019-09-21 10:41:21 +09:00
Shohei Ueda 4d54b90c0e Refactor: directory structure (#31)
* config: update version
* refactor: move source codes to lib directory, Close #30
* refactor: move test code
2019-09-18 07:32:17 +09:00