Commit Graph
775 Commits
Author SHA1 Message Date
b1937e141c fix: Hugo package naming fix (#688)
## Summary

Rebases the Hugo package naming fix from #609 on top of the current
`main` branch, including the installer flow added in #687.

- Derive Hugo release asset OS and architecture naming conventions from
the requested Hugo version.
- Apply those conventions when selecting OS and architecture segments,
including the 0.102.x macOS universal boundary, 0.103+ downcased OS
names, Windows zip assets, and Linux ARM assets.
- Add table-driven tests for pre-0.102, 0.102.x, and 0.103+ naming
behavior, plus URL coverage for the corrected release asset names.

## Changes

- Add `getConventions` to centralize version-based release asset naming
decisions.
- Update `getOS` and `getArch` to use convention flags for macOS,
lower-case OS names, standardized architecture names, and the Windows
ARM support boundary.
- Update `getURL` to generate candidate URLs for downcased Windows and
Linux assets, and for darwin universal archives.
- Wire convention detection into `installer` before generating candidate
Hugo release asset URLs.
- Expand unit coverage for OS, architecture, convention, and URL
behavior.

## Checklist

- [x] I have read the latest README and followed the instructions.
- [x] I have added or updated tests for behavior changes.
- [x] README.md and action.yml updates are not needed because inputs and
action metadata are unchanged.
- [x] I have run the relevant verification commands.

## References

- Rebased follow-up for
https://github.com/peaceiris/actions-hugo/pull/609
- References https://github.com/peaceiris/actions-hugo/issues/605 and
https://github.com/peaceiris/actions-hugo/issues/608
- Based on `main` after
https://github.com/peaceiris/actions-hugo/pull/687

## Verification

- [x] `RUNNER_TEMP=/private/tmp npm run all`
- [ ] `npm run build` was not run because this branch does not update
bundled output and current `main` removed `lib/index.js`.


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

* **New Features**
* Version-aware conventions control OS and architecture naming,
including macOS universal asset support and expanded darwin/macOS
patterns.

* **Refactor**
* Conventions centralized and applied across installer and URL
generation; OS/arch inputs accept varied casing and naming variants.

* **Tests**
* Expanded, data-driven parameterized tests for conventions, OS/arch
mappings, URL variants, and error cases.
* Replaced network stubs with deterministic fetch-mock helpers for test
isolation.

[![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/688)
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Michael T Lombardi <michael.t.lombardi@gmail.com>
Co-authored-by: codefactor-io <support@codefactor.io>
Co-authored-by: Codex <noreply@openai.com>
2026-05-11 00:23:26 +09:00
Shohei UedaandCodex 189731ef00 build: update npm dependencies (#689)
## Summary

Update all direct npm dependencies and devDependencies to the current
npm latest versions and pin them exactly instead of using caret or tilde
ranges.

## Changes

- Pin all direct runtime and development package versions in
`package.json` and refresh `package-lock.json`.
- Migrate ESLint from `.eslintrc.json` to flat config for ESLint 10.
- Update Jest and TypeScript configuration and test mocks to support the
latest ESM-only packages.
- Add response status handling and typed JSON access for the latest
`node-fetch` types.

## Checklist

- [x] I have read the latest README and followed the instructions.
- [x] I have added or updated tests for behavior changes.
- [x] I have updated README.md and action.yml when inputs or runtime
behavior changed.
- [x] I have run the relevant verification commands.

## Verification

- [x] `npm --userconfig=/private/tmp/empty-npmrc outdated --json
--include=dev` returned `{}`
- [x] `npm run all`
- [x] `npm run build`


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

* **Tests**
* Added comprehensive test mocks for Actions APIs and fetch, improved
integration tests, and updated assertions for more precise error
validation.
  * Configured Jest to map external modules to local test mocks.

* **Chores**
* Migrated ESLint to the flat config format and replaced prior ESLint
config.
* Updated project dependencies and modernized TypeScript compiler
settings.

* **Refactor**
* Adjusted exported tool constants and made error handling more explicit
in version-fetching logic.

[![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/689)
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Codex <noreply@openai.com>
2026-05-10 23:30:59 +09:00
peaceirisandCodex e3c35ac635 docs: document build artifact constraint
Co-Authored-By: Codex <noreply@openai.com>
2026-05-10 22:45:44 +09:00
peaceiris 8a69ba55a5 chore: delete lib/index.js 2026-05-10 22:42:05 +09:00
Shohei UedaandCodex 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
peaceirisandCodex d488e4d987 docs: add pull request template
Co-Authored-By: Codex <noreply@openai.com>
2026-05-10 21:44:58 +09:00
peaceiris 20e81489be chore(release): Remove build assets [skip ci] 2026-05-10 18:43:22 +09:00
peaceiris 32c7754570 chore(release): 3.1.0 v3.1.0 2026-05-10 18:43:21 +09:00
peaceiris 62903c46a1 chore(release): Add build assets 2026-05-10 18:43:19 +09:00
Shohei Ueda 64e0f66acb ci: harden workflows and update Node.js (#686) 2026-05-10 18:21:41 +09:00
peaceiris fd1a667089 chore: add .codex/ 2026-05-10 01:23:17 +09:00
peaceirisandCodex ba5146cb8a docs: add contributor guidelines
Co-Authored-By: Codex <codex@openai.com>
2026-05-10 00:35:35 +09:00
Paul Keen 83259d800c feat: upgrade action runtime from Node 20 to 24 (#684) 2026-05-02 23:18:58 +09:00
dependabot[bot] 3a287949d3 ci: bump codecov/codecov-action from 4 to 5 (#660)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-15 11:27:10 +09:00
dependabot[bot] 3b443076f0 ci: bump peaceiris/actions-hugo from 2.6.0 to 3.0.0 (#653)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-05 12:39:54 +09:00
dependabot[bot] 764796d276 ci: bump actions/upload-artifact from 3 to 4 (#654)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-05 12:39:40 +09:00
dependabot[bot] e177dc33cb ci: bump codecov/codecov-action from 3 to 4 (#655)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-05 12:39:29 +09:00
dependabot[bot] 711df4ed64 ci: bump actions/dependency-review-action from 3 to 4 (#656)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-05 12:39:13 +09:00
dependabot[bot] 9d57878417 ci: bump github/codeql-action from 2 to 3 (#657)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-05 11:57:05 +09:00
Zer0xxxx 288264f9c9 docs: add env.HUGO_CACHEDIR (#650) 2024-06-19 17:09:50 +09:00
Shohei Ueda 7db63f5e7f docs: bump actions/cache to v4 2024-04-17 13:52:48 +09:00
Linda_pp 00e5abe1c8 fix(doc): Update @v2 to @v3 in README.md (#649) 2024-04-07 03:09:58 +09:00
peaceiris 1b06a03d21 chore(release): Remove build assets [skip ci] 2024-04-02 12:17:51 +09:00
peaceiris 75d2e84710 chore(release): 3.0.0 v3.0.0 2024-04-02 12:17:50 +09:00
peaceiris e482f7ce0f chore(release): Add build assets 2024-04-02 12:17:49 +09:00
peaceiris d85452eadf chore: revert version 2024-04-02 12:16:58 +09:00
peaceiris 01bd2b16cc build: node 20.11.1 2024-04-02 09:33:47 +09:00
peaceiris 966dfad385 chore: npm audit fix 2024-02-06 23:49:51 +09:00
Rui Chen c57490a8b0 feat: bump to use node20 runtime (#641) 2024-02-06 23:47:20 +09:00
Andreas Deininger aadc3a98df ci: bump checkout to v4 (#639) 2023-10-05 09:17:20 +09:00
Andreas Deininger c0084b0763 docs: update cache usage (#636) 2023-09-12 00:08:23 +09:00
Henry Mai 31c46541ce docs: remove braces (#634)
https://docs.github.com/en/actions/using-jobs/using-conditions-to-control-job-execution#overview
2023-06-10 19:53:43 +09:00
Shohei Ueda 3d92e2fd55 docs: replace set-output with GITHUB_OUTPUT
close https://github.com/peaceiris/actions-hugo/issues/633
2023-05-05 23:18:27 +09:00
Andreas Deininger 7c4b9f1f99 docs: bump ruby version to 3.2 (#629) 2023-02-22 16:07:48 +09:00
Andreas Deininger 7652d53369 docs: bump versions (#628) 2023-02-21 23:46:45 +09:00
dependabot[bot] 3fa8fd6cee ci: bump actions/setup-node from 3.5.1 to 3.6.0 (#625)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-06 18:59:08 +09:00
dependabot[bot] 844f8735f6 ci: bump actions/dependency-review-action from 2 to 3 (#622)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-14 12:02:46 +09:00
dependabot[bot] b1822b6abe ci: bump peaceiris/actions-hugo from 2.5.0 to 2.6.0 (#621)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-24 11:25:57 +09:00
peaceiris 4910870eaa chore(release): Remove build assets [skip ci] 2022-10-24 00:28:24 +09:00
peaceiris 16361eb4ac chore(release): 2.6.0 v2 v2.6.0 2022-10-24 00:28:23 +09:00
peaceiris 2eb0f86851 chore(release): Add build assets 2022-10-24 00:28:16 +09:00
Shohei Ueda 9a77c647c2 feat: bump node12 to node16 (#617)
Close https://github.com/peaceiris/actions-hugo/issues/611

- deps: bump node12 to node16
- deps: bump @actions/core from 1.6.0 to 1.10.0
2022-10-24 00:26:51 +09:00
Shohei Ueda 8da14cc542 chore: fix year (#613) 2022-10-16 01:19:10 +09:00
dependabot[bot] c0150f24bb ci: bump actions/setup-node from 3.5.0 to 3.5.1 (#612)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-14 11:13:39 +09:00
dependabot[bot] a2eba60698 ci: bump actions/setup-node from 3.4.1 to 3.5.0 (#606)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-28 11:06:30 +09:00
dependabot[bot] 831547a4b2 ci: bump actions/dependency-review-action from 1 to 2 (#593)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-30 00:12:50 +09:00
Sardorbek Imomaliev bd5a5edf1b ci: drop ubuntu-18.04, add ubuntu-22.04 and ubuntu-latest (#603)
add support for ubuntu 22.04, drop ubuntu-18.04

- [starting with 8 of August 2022 support for ubuntu 18.04 is deprecated](https://github.blog/changelog/2022-08-09-github-actions-the-ubuntu-18-04-actions-runner-image-is-being-deprecated-and-will-be-removed-by-12-1-22/)
- [ubuntu 22.04 is generally available](https://github.blog/changelog/2022-08-09-github-actions-ubuntu-22-04-is-now-generally-available-on-github-hosted-runners/)
2022-08-30 00:06:54 +09:00
Sardorbek Imomaliev 46553eae11 docs: use setup-node cache-dependency-path (#602) 2022-08-27 20:15:37 +09:00
dependabot[bot] 11bede66e7 ci: bump actions/setup-node from 3.1.1 to 3.4.1 (#598)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-15 11:36:30 +09:00
dependabot[bot] 808d10a6aa ci: bump github/codeql-action from 1 to 2 (#581)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-26 14:03:21 +09:00