From 3364d25fe50444862043d28e3553e0d7a7c5f2e5 Mon Sep 17 00:00:00 2001 From: Eason Su Date: Thu, 25 Apr 2024 14:16:23 +0800 Subject: [PATCH 1/2] Upgrade the `get-plugin-releases` action in the `github-actions` package to use Node.js v20. --- .../actions/get-plugin-releases/README.md | 10 +++++----- .../actions/get-plugin-releases/action.yml | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/github-actions/actions/get-plugin-releases/README.md b/packages/github-actions/actions/get-plugin-releases/README.md index 4ecffc19..6e61d7d7 100644 --- a/packages/github-actions/actions/get-plugin-releases/README.md +++ b/packages/github-actions/actions/get-plugin-releases/README.md @@ -23,25 +23,25 @@ jobs: steps: - name: Get Release versions from WooCommerce id: wc-versions - uses: woocommerce/grow/get-plugin-releases@actions-v1 + uses: woocommerce/grow/get-plugin-releases@actions-v2 with: slug: woocommerce - name: Get Release versions from WordPress id: wp-versions - uses: woocommerce/grow/get-plugin-releases@actions-v1 + uses: woocommerce/grow/get-plugin-releases@actions-v2 with: slug: wordpress - name: Get Release versions from GLA id: gla-versions - uses: woocommerce/grow/get-plugin-releases@actions-v1 + uses: woocommerce/grow/get-plugin-releases@actions-v2 with: slug: google-listings-and-ads - name: Get L-3 Release versions from WC including RC id: wc-versions-l3-rc - uses: woocommerce/grow/get-plugin-releases@actions-v1 + uses: woocommerce/grow/get-plugin-releases@actions-v2 with: slug: woocommerce releases: 4 @@ -49,7 +49,7 @@ jobs: - name: Get L-2 Release versions from WC including patches id: wc-versions-patches - uses: woocommerce/grow/get-plugin-releases@actions-v1 + uses: woocommerce/grow/get-plugin-releases@actions-v2 with: slug: woocommerce includePatches: true diff --git a/packages/github-actions/actions/get-plugin-releases/action.yml b/packages/github-actions/actions/get-plugin-releases/action.yml index 804a969e..c8f6ccce 100644 --- a/packages/github-actions/actions/get-plugin-releases/action.yml +++ b/packages/github-actions/actions/get-plugin-releases/action.yml @@ -20,5 +20,5 @@ outputs: description: The versions array in the format ["7.4","7.5","7.6"] runs: - using: node16 + using: node20 main: get-plugin-releases.mjs From 223f04a6d0b2b278111e536b3caa23fa64f52b73 Mon Sep 17 00:00:00 2001 From: Eason Su Date: Thu, 25 Apr 2024 14:21:27 +0800 Subject: [PATCH 2/2] Make the `get-plugin-releases` action in the `github-actions` package easier to develop and test. --- .../src/get-plugin-releases.js | 33 +++++++++++-------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/packages/github-actions/actions/get-plugin-releases/src/get-plugin-releases.js b/packages/github-actions/actions/get-plugin-releases/src/get-plugin-releases.js index 25a2e656..e9b374c5 100644 --- a/packages/github-actions/actions/get-plugin-releases/src/get-plugin-releases.js +++ b/packages/github-actions/actions/get-plugin-releases/src/get-plugin-releases.js @@ -6,15 +6,14 @@ import core from '@actions/core'; /** * Internal dependencies */ -import handleActionErrors from '../../../utils/handle-action-errors'; +import handleActionErrors from '../../../utils/handle-action-errors.js'; -async function getPluginReleases() { - const slug = getInput( 'slug' ); - const apiEndpoint = getAPIEndpoint( slug ); +async function getPluginReleases( inputs ) { + const apiEndpoint = getAPIEndpoint( inputs.slug ); return fetch( apiEndpoint ) .then( ( res ) => res.json() ) - .then( parsePluginVersions ); + .then( ( data ) => parsePluginVersions( data, inputs ) ); } function getAPIEndpoint( slug ) { @@ -43,12 +42,8 @@ function setOutput( key, value ) { core.setOutput( key, value ); } -function parsePluginVersions( releases = {} ) { - const slug = getInput( 'slug' ); - const numberOfReleases = parseInt( getInput( 'releases' ), 10 ); - const includeRC = getInput( 'includeRC' ); - const includePatches = getInput( 'includePatches' ); - +function parsePluginVersions( releases = {}, inputs ) { + const { slug, numberOfReleases, includeRC, includePatches } = inputs; const output = []; if ( slug !== 'wordpress' ) { @@ -135,6 +130,16 @@ function semverCompare( a, b ) { ); } -getPluginReleases() - .then( () => core.info( 'Finish getting the release versions.' ) ) - .catch( handleActionErrors ); +// Directly perform this action if it's running in GitHub Actions. +if ( process.env.GITHUB_ACTIONS ) { + const inputs = { + slug: getInput( 'slug' ), + numberOfReleases: parseInt( getInput( 'releases' ), 10 ), + includeRC: getInput( 'includeRC' ), + includePatches: getInput( 'includePatches' ), + }; + + getPluginReleases( inputs ) + .then( () => core.info( 'Finish getting the release versions.' ) ) + .catch( handleActionErrors ); +}