diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index f5bfa0a..b87e790 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -8,17 +8,17 @@ on: jobs: CodeQL-Build: - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Initialize CodeQL - uses: github/codeql-action/init@v2 + uses: github/codeql-action/init@v3 with: languages: javascript - name: Autobuild - uses: github/codeql-action/autobuild@v2 + uses: github/codeql-action/autobuild@v3 - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v2 + uses: github/codeql-action/analyze@v3 diff --git a/.github/workflows/dependency-review.yml b/.github/workflows/dependency-review.yml index bbf8088..f3d793b 100644 --- a/.github/workflows/dependency-review.yml +++ b/.github/workflows/dependency-review.yml @@ -10,7 +10,7 @@ permissions: jobs: dependency-review: - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: actions/dependency-review-action@v3 + - uses: actions/dependency-review-action@v4 diff --git a/.github/workflows/dev-image.yml b/.github/workflows/dev-image.yml index c7b10cf..a86c236 100644 --- a/.github/workflows/dev-image.yml +++ b/.github/workflows/dev-image.yml @@ -23,7 +23,7 @@ on: jobs: dev-image-test: - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - run: make build diff --git a/.github/workflows/label-commenter.yml b/.github/workflows/label-commenter.yml index a99466e..e75387d 100644 --- a/.github/workflows/label-commenter.yml +++ b/.github/workflows/label-commenter.yml @@ -12,7 +12,7 @@ on: jobs: comment: - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: diff --git a/.github/workflows/purge-readme-image-cache.yml b/.github/workflows/purge-readme-image-cache.yml index a0b3df7..c9c5803 100644 --- a/.github/workflows/purge-readme-image-cache.yml +++ b/.github/workflows/purge-readme-image-cache.yml @@ -6,7 +6,7 @@ on: jobs: purge: - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest steps: - run: > diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 690049e..0798b92 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -7,7 +7,7 @@ on: jobs: release: - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/test-action.yml b/.github/workflows/test-action.yml index da5cf74..552d847 100644 --- a/.github/workflows/test-action.yml +++ b/.github/workflows/test-action.yml @@ -17,7 +17,7 @@ jobs: - 'windows-latest' hugo-version: - 'latest' - - '0.61.0' + - '0.103.0' extended: - true - false @@ -25,13 +25,13 @@ jobs: - uses: actions/checkout@v4 - name: Setup Hugo - uses: peaceiris/actions-hugo@v2.6.0 + uses: peaceiris/actions-hugo@v2 with: hugo-version: ${{ matrix.hugo-version }} extended: ${{ matrix.extended }} - name: Run hugo version - run: echo "::set-output name=hugo_version::$(hugo version)" + run: echo "hugo_version=$(hugo version)" >> $GITHUB_OUTPUT id: hugo_version - name: '${{ steps.hugo_version.outputs.hugo_version }}' diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index b3f6e3c..86e1653 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -17,7 +17,6 @@ jobs: fail-fast: false matrix: os: - - 'ubuntu-22.04' - 'ubuntu-20.04' - 'ubuntu-latest' - 'macos-latest' @@ -25,7 +24,8 @@ jobs: steps: - uses: actions/checkout@v4 - - uses: actions/setup-node@v4 + - name: Setup Node + uses: actions/setup-node@v4 with: node-version-file: '.nvmrc' cache: 'npm' @@ -33,23 +33,23 @@ jobs: - run: npm ci - name: Run prettier - if: startsWith(matrix.os, 'ubuntu-22.04') + if: startsWith(matrix.os, 'ubuntu-latest') run: npm run format:check - name: Run eslint - if: startsWith(matrix.os, 'ubuntu-22.04') + if: startsWith(matrix.os, 'ubuntu-latest') run: npm run lint - name: Run ncc - if: startsWith(matrix.os, 'ubuntu-22.04') + if: startsWith(matrix.os, 'ubuntu-latest') run: npm run build - run: npm test - name: Upload test coverage as artifact - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: coverage-${{ matrix.os }} path: coverage - - uses: codecov/codecov-action@v3 + - uses: codecov/codecov-action@v4 diff --git a/.github/workflows/update-major-tag.yml b/.github/workflows/update-major-tag.yml index 8a9f250..d6f7123 100644 --- a/.github/workflows/update-major-tag.yml +++ b/.github/workflows/update-major-tag.yml @@ -6,7 +6,7 @@ on: jobs: update: - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 diff --git a/README.md b/README.md index 856dfeb..83bfcbd 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ 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-latest, ubuntu-20.04, ubuntu-22.04 | macos-latest | windows-2019 | +| OS (runs-on) | ubuntu-latest, ubuntu-20.04 | macos-latest | windows-latest | |---|:---:|:---:|:---:| | Support | ✅️ | ✅️ | ✅️ | @@ -81,7 +81,7 @@ on: jobs: deploy: - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest concurrency: group: ${{ github.workflow }}-${{ github.ref }} steps: @@ -154,7 +154,7 @@ 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. ```yaml -- uses: actions/cache@v3 +- 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 @@ -247,7 +247,7 @@ on: jobs: deploy: - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest concurrency: group: ${{ github.workflow }}-${{ github.ref }} steps: @@ -261,7 +261,8 @@ jobs: hugo-version: '0.119.0' extended: true - - uses: actions/setup-node@v4 + - name: Setup Node + uses: actions/setup-node@v4 with: node-version: '20' cache: 'npm' @@ -300,7 +301,7 @@ on: jobs: deploy: - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest concurrency: group: ${{ github.workflow }}-${{ github.ref }} steps: @@ -352,7 +353,7 @@ on: jobs: deploy: - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest concurrency: group: ${{ github.workflow }}-${{ github.ref }} steps: diff --git a/__tests__/get-arch.test.ts b/__tests__/get-arch.test.ts index 54dbb86..4cb85e9 100644 --- a/__tests__/get-arch.test.ts +++ b/__tests__/get-arch.test.ts @@ -2,9 +2,9 @@ import getArch from '../src/get-arch'; describe('getArch', () => { test('processor architecture', () => { - expect(getArch('x64')).toBe('64bit'); - expect(getArch('arm')).toBe('ARM'); - expect(getArch('arm64')).toBe('ARM64'); + expect(getArch('x64')).toBe('amd64'); + expect(getArch('arm')).toBe('arm'); + expect(getArch('arm64')).toBe('arm64'); }); test('exception', () => { diff --git a/__tests__/get-os.test.ts b/__tests__/get-os.test.ts index fbb204a..2c5c39b 100644 --- a/__tests__/get-os.test.ts +++ b/__tests__/get-os.test.ts @@ -2,9 +2,9 @@ import getOS from '../src/get-os'; describe('getOS', () => { test('os type', () => { - expect(getOS('linux')).toBe('Linux'); - expect(getOS('darwin')).toBe('macOS'); - expect(getOS('win32')).toBe('Windows'); + expect(getOS('linux')).toBe('linux'); + expect(getOS('darwin')).toBe('darwin'); + expect(getOS('win32')).toBe('windows'); }); test('exception', () => { diff --git a/__tests__/get-url.test.ts b/__tests__/get-url.test.ts index 89c22b4..8e19e94 100644 --- a/__tests__/get-url.test.ts +++ b/__tests__/get-url.test.ts @@ -2,19 +2,19 @@ import getURL from '../src/get-url'; describe('getURL()', () => { test('get a URL to an asset for each platform', () => { - 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 urlMacOSExtended = `${baseURL}/hugo_extended_0.58.2_macOS-64bit.tar.gz`; - const urlWindows = `${baseURL}/hugo_0.58.2_Windows-64bit.zip`; - expect(getURL('Linux', '64bit', 'false', '0.58.2')).toBe(urlLinux); - expect(getURL('Linux', '64bit', 'true', '0.58.2')).not.toBe(urlLinux); - expect(getURL('MyOS', '64bit', 'false', '0.58.2')).not.toBe(urlLinux); - expect(getURL('Linux', '64bit', 'false', '0.58.1')).not.toBe(urlLinux); - expect(getURL('Linux', '64bit', 'true', '0.58.2')).toBe(urlLinuxExtended); - expect(getURL('macOS', '64bit', 'false', '0.58.2')).toBe(urlMacOS); - expect(getURL('macOS', '64bit', 'true', '0.58.2')).toBe(urlMacOSExtended); - expect(getURL('Windows', '64bit', 'false', '0.58.2')).toBe(urlWindows); + const baseURL = 'https://github.com/gohugoio/hugo/releases/download/v0.122.0'; + const urlLinux = `${baseURL}/hugo_0.122.0_linux-amd64.tar.gz`; + const urlLinuxExtended = `${baseURL}/hugo_extended_0.122.0_linux-amd64.tar.gz`; + const urlMacOS = `${baseURL}/hugo_0.122.0_darwin-universal.tar.gz`; + const urlMacOSExtended = `${baseURL}/hugo_extended_0.122.0_darwin-universal.tar.gz`; + const urlWindows = `${baseURL}/hugo_0.122.0_windows-amd64.zip`; + expect(getURL('linux', 'amd64', 'false', '0.122.0')).toBe(urlLinux); + expect(getURL('linux', 'amd64', 'true', '0.122.0')).not.toBe(urlLinux); + expect(getURL('MyOS', 'amd64', 'false', '0.122.0')).not.toBe(urlLinux); + expect(getURL('linux', 'amd64', 'false', '0.121.0')).not.toBe(urlLinux); + expect(getURL('linux', 'amd64', 'true', '0.122.0')).toBe(urlLinuxExtended); + expect(getURL('darwin', 'universal', 'false', '0.122.0')).toBe(urlMacOS); + expect(getURL('darwin', 'universal', 'true', '0.122.0')).toBe(urlMacOSExtended); + expect(getURL('windows', 'amd64', 'false', '0.122.0')).toBe(urlWindows); }); }); diff --git a/package-lock.json b/package-lock.json index 6647a60..a76352b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16590,7 +16590,6 @@ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", "dev": true, - "requires": { "agent-base": "6", "debug": "4" } diff --git a/src/get-arch.ts b/src/get-arch.ts index 04e56af..4292bd2 100644 --- a/src/get-arch.ts +++ b/src/get-arch.ts @@ -1,11 +1,13 @@ export default function getArch(arch: string): string { switch (arch) { case 'x64': - return '64bit'; + return 'amd64'; case 'arm': - return 'ARM'; + return 'arm'; case 'arm64': - return 'ARM64'; + return 'arm64'; + case 'universal': + return 'universal'; default: throw new Error(`${arch} is not supported`); } diff --git a/src/get-os.ts b/src/get-os.ts index 8360089..ed8f55e 100644 --- a/src/get-os.ts +++ b/src/get-os.ts @@ -1,11 +1,11 @@ export default function getOS(platform: string): string { switch (platform) { case 'linux': - return 'Linux'; + return 'linux'; case 'darwin': - return 'macOS'; + return 'darwin'; case 'win32': - return 'Windows'; + return 'windows'; default: throw new Error(`${platform} is not supported`); }