Compare commits

...

4 Commits

Author SHA1 Message Date
Shohei Ueda
f32618c774
Merge 28797ce1ee into 288264f9c9 2024-06-19 18:58:17 +09:00
Zer0xxxx
288264f9c9
docs: add env.HUGO_CACHEDIR (#650) 2024-06-19 17:09:50 +09:00
Shohei Ueda
28797ce1ee
test: fix 2020-07-17 15:56:07 +09:00
Shohei Ueda
cef7a7b43d
feat: throw error for invalid extended input 2020-07-17 15:49:02 +09:00
4 changed files with 24 additions and 8 deletions

View File

@ -151,13 +151,27 @@ This action fetches the latest version of Hugo by [hugo | Homebrew Formulae](htt
### ⭐️ Caching Hugo Modules
Insert a cache step before site-building as follows.
Note that with latest hugo version, the [cache dir location](https://gohugo.io/getting-started/configuration/#configure-cachedir) on a Linux-based operating system is `${HOME}/.cache`. On macOS, `${HOME}/Library/Caches` has the location.
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: /home/runner/.cache/hugo_cache # <-- with hugo version v0.116.0 and above
# path: /tmp/hugo_cache # <-- with hugo version < v0.116.0
path: ${{ env.HUGO_CACHEDIR }} # <- Use the same env variable just right here
key: ${{ runner.os }}-hugomod-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-hugomod-

View File

@ -25,6 +25,7 @@ describe('Integration testing run()', () => {
test('succeed in installing a custom version', async () => {
const testVersion = Tool.TestVersionSpec;
process.env['INPUT_HUGO-VERSION'] = testVersion;
process.env['INPUT_EXTENDED'] = 'false';
const result: main.ActionResult = await main.run();
expect(result.exitcode).toBe(0);
expect(result.output).toMatch(`hugo v${testVersion}`);
@ -43,6 +44,7 @@ describe('Integration testing run()', () => {
test('succeed in installing the latest version', async () => {
const testVersion = 'latest';
process.env['INPUT_HUGO-VERSION'] = testVersion;
process.env['INPUT_EXTENDED'] = 'false';
nock('https://formulae.brew.sh').get(`/api/formula/${Tool.Repo}.json`).reply(200, jsonTestBrew);
const result: main.ActionResult = await main.run();
expect(result.exitcode).toBe(0);
@ -62,8 +64,8 @@ describe('Integration testing run()', () => {
test('fail to install the latest version due to 404 of brew', async () => {
process.env['INPUT_HUGO-VERSION'] = 'latest';
process.env['INPUT_EXTENDED'] = 'false';
nock('https://formulae.brew.sh').get(`/api/formula/${Tool.Repo}.json`).reply(404);
await expect(main.run()).rejects.toThrowError(FetchError);
});
});

2
package-lock.json generated
View File

@ -6,7 +6,7 @@
"packages": {
"": {
"name": "actions-hugo",
"version": "2.6.0",
"version": "3.0.0",
"hasInstallScript": true,
"license": "MIT",
"dependencies": {

View File

@ -7,10 +7,10 @@ export default function getURL(
const extendedStr = (extended: string): string => {
if (extended === 'true') {
return 'extended_';
} else {
} else if (extended === 'false') {
return '';
// } else {
// throw new Error(`Invalid input (extended): ${extended}`);
} else {
throw new Error(`Invalid input (extended): ${extended}`);
}
};