Update GitHub actions/setup-node and add optionalDependencies handling (https://github.com/woocommerce/woocommerce-blocks/pull/6032)
* Update actions/setup-node to v2 and to use ,nvmrc file * Fix order of actions for Bundle Size workflow * Use actions/setup-node cache instead of actions/cache + ensure we always install with npm ci * restore linting setup job to cache npm * Don't install ndb in CI Move ndb package to optionalDependencies and update the CI workflows to not install optional dependencies * Update actions/setup-node to v3 * Update actions/checkout to v3 * Update download and upload-artifact actions to v3 * Update actions/stale to v5
This commit is contained in:
parent
937bab7688
commit
e1ae6b4552
|
@ -16,7 +16,7 @@ jobs:
|
|||
name: Add Milestone
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
- name: Latest milestone
|
||||
uses: woocommerce/automations@v1
|
||||
with:
|
||||
|
|
|
@ -7,10 +7,12 @@ jobs:
|
|||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/setup-node@v2-beta
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 1
|
||||
- uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
- uses: preactjs/compressed-size-action@v2
|
||||
with:
|
||||
repo-token: '${{ secrets.GITHUB_TOKEN }}'
|
||||
|
|
|
@ -7,30 +7,20 @@ jobs:
|
|||
build-trunk:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
ref: trunk
|
||||
- name: Cache node modules
|
||||
uses: actions/cache@v2
|
||||
env:
|
||||
cache-name: cache-node-modules
|
||||
- name: Setup node version and npm cache
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
# npm cache files are stored in `~/.npm` on Linux/macOS
|
||||
path: ~/.npm
|
||||
key: ${{ runner.OS }}-build-${{ secrets.CACHE_VERSION }}-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
|
||||
restore-keys: |
|
||||
${{ runner.OS }}-build-${{ secrets.CACHE_VERSION }}-${{ env.cache-name }}-
|
||||
${{ runner.OS }}-build-${{ secrets.CACHE_VERSION }}-
|
||||
- name: Use Node.js 16.13.2
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: 16.13.2
|
||||
node-version-file: '.nvmrc'
|
||||
cache: 'npm'
|
||||
- name: npm install and build
|
||||
run: |
|
||||
npm ci
|
||||
npm ci --no-optional
|
||||
npm run build:check-assets
|
||||
- name: Upload Artifact
|
||||
uses: actions/upload-artifact@v2
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: assets-list
|
||||
path: ./build/assets.json
|
||||
|
@ -39,28 +29,18 @@ jobs:
|
|||
needs: [build-trunk]
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Cache node modules
|
||||
uses: actions/cache@v2
|
||||
env:
|
||||
cache-name: cache-node-modules
|
||||
- uses: actions/checkout@v3
|
||||
- name: Setup node version and npm cache
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
# npm cache files are stored in `~/.npm` on Linux/macOS
|
||||
path: ~/.npm
|
||||
key: ${{ runner.OS }}-build-${{ secrets.CACHE_VERSION }}-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
|
||||
restore-keys: |
|
||||
${{ runner.OS }}-build-${{ secrets.CACHE_VERSION }}-${{ env.cache-name }}-
|
||||
${{ runner.OS }}-build-${{ secrets.CACHE_VERSION }}-
|
||||
- name: Use Node.js 16.13.2
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: 16.13.2
|
||||
node-version-file: '.nvmrc'
|
||||
cache: 'npm'
|
||||
- name: npm install
|
||||
run: |
|
||||
npm ci
|
||||
npm ci --no-optional
|
||||
npm run build:check-assets
|
||||
- name: Download assets (trunk)
|
||||
uses: actions/download-artifact@v2
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: assets-list
|
||||
path: assets-list
|
||||
|
|
|
@ -9,7 +9,7 @@ jobs:
|
|||
stale:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/stale@v3
|
||||
- uses: actions/stale@v5
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
days-before-stale: 60
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
#
|
||||
# You may wish to alter this file to override the set of languages analyzed,
|
||||
# or to provide custom queries or build logic.
|
||||
name: "CodeQL"
|
||||
name: 'CodeQL'
|
||||
|
||||
on:
|
||||
push:
|
||||
|
@ -30,7 +30,7 @@ jobs:
|
|||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
# We must fetch at least the immediate parents so that if this is
|
||||
# a pull request then we can checkout the head.
|
||||
|
|
|
@ -6,22 +6,20 @@ on:
|
|||
branches: [trunk]
|
||||
|
||||
jobs:
|
||||
# cache node and modules
|
||||
Setup:
|
||||
name: Setup for Jobs
|
||||
name: Setup
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Cache node modules
|
||||
uses: actions/cache@v2
|
||||
- uses: actions/checkout@v3
|
||||
- name: Setup node version and npm cache
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
path: node_modules
|
||||
key: ${{ runner.OS }}-build-${{ secrets.CACHE_VERSION }}-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
|
||||
restore-keys: |
|
||||
${{ runner.OS }}-build-${{ secrets.CACHE_VERSION }}-${{ env.cache-name }}-
|
||||
${{ runner.OS }}-build-${{ secrets.CACHE_VERSION }}-
|
||||
- name: Install Node Dependencies
|
||||
run: npm install
|
||||
node-version-file: '.nvmrc'
|
||||
cache: 'npm'
|
||||
- name: Install Node dependencies
|
||||
run: npm ci --no-optional
|
||||
|
||||
JSLintingCheck:
|
||||
name: Lint JavaScript
|
||||
|
@ -29,27 +27,24 @@ jobs:
|
|||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Cache node modules
|
||||
uses: actions/cache@v2
|
||||
- uses: actions/checkout@v3
|
||||
- name: Setup node version and npm cache
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
path: node_modules
|
||||
key: ${{ runner.OS }}-build-${{ secrets.CACHE_VERSION }}-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
|
||||
restore-keys: |
|
||||
${{ runner.OS }}-build-${{ secrets.CACHE_VERSION }}-${{ env.cache-name }}-
|
||||
${{ runner.OS }}-build-${{ secrets.CACHE_VERSION }}-
|
||||
- name: Install Node Dependencies
|
||||
run: npm install
|
||||
- name: Save Code Linting Report JSON
|
||||
node-version-file: '.nvmrc'
|
||||
cache: 'npm'
|
||||
- name: Install Node dependencies
|
||||
run: npm ci --no-optional
|
||||
- name: Save code linting report JSON
|
||||
run: npm run lint:js:report
|
||||
# Continue to the next step even if this fails
|
||||
continue-on-error: true
|
||||
- name: Upload ESLint report
|
||||
uses: actions/upload-artifact@v2
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: eslint_report.json
|
||||
path: eslint_report.json
|
||||
- name: Annotate Code Linting Results
|
||||
- name: Annotate code linting results
|
||||
uses: ataylorme/eslint-annotate-action@1.2.0
|
||||
with:
|
||||
repo-token: '${{ secrets.GITHUB_TOKEN }}'
|
||||
|
@ -61,16 +56,13 @@ jobs:
|
|||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Cache node modules
|
||||
uses: actions/cache@v2
|
||||
- uses: actions/checkout@v3
|
||||
- name: Setup node version and npm cache
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
path: node_modules
|
||||
key: ${{ runner.OS }}-build-${{ secrets.CACHE_VERSION }}-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
|
||||
restore-keys: |
|
||||
${{ runner.OS }}-build-${{ secrets.CACHE_VERSION }}-${{ env.cache-name }}-
|
||||
${{ runner.OS }}-build-${{ secrets.CACHE_VERSION }}-
|
||||
- name: Install Node Dependencies
|
||||
run: npm install
|
||||
node-version-file: '.nvmrc'
|
||||
cache: 'npm'
|
||||
- name: Install Node dependencies
|
||||
run: npm ci --no-optional
|
||||
- name: Lint CSS
|
||||
run: npm run lint:css
|
||||
|
|
|
@ -26,7 +26,7 @@ jobs:
|
|||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Get Composer cache directory
|
||||
id: composer-cache
|
||||
|
|
|
@ -10,28 +10,15 @@ jobs:
|
|||
name: JavaScript E2E Tests (WP latest with Gutenberg plugin)
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Cache node modules
|
||||
uses: actions/cache@v2
|
||||
env:
|
||||
cache-name: cache-node-modules
|
||||
- uses: actions/checkout@v3
|
||||
- name: Setup node version and npm cache
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
# npm cache files are stored in `~/.npm` on Linux/macOS
|
||||
path: ~/.npm
|
||||
key: ${{ runner.OS }}-build-${{ secrets.CACHE_VERSION }}-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
|
||||
restore-keys: |
|
||||
${{ runner.OS }}-build-${{ secrets.CACHE_VERSION }}-${{ env.cache-name }}-
|
||||
${{ runner.OS }}-build-${{ secrets.CACHE_VERSION }}-
|
||||
|
||||
- name: Use Node.js 16.13.2
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: 16.13.2
|
||||
|
||||
node-version-file: '.nvmrc'
|
||||
cache: 'npm'
|
||||
- name: Npm install and build
|
||||
run: |
|
||||
npm ci
|
||||
npm ci --no-optional
|
||||
FORCE_REDUCED_MOTION=true npm run build:e2e-test
|
||||
|
||||
- name: blocks.ini setup
|
||||
|
@ -72,7 +59,7 @@ jobs:
|
|||
|
||||
- name: Upload artifacts on failure
|
||||
if: ${{ failure() }}
|
||||
uses: actions/upload-artifact@v2
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: e2e-with-gutenberg-test-report
|
||||
path: reports/e2e
|
||||
|
@ -81,28 +68,15 @@ jobs:
|
|||
name: JavaScript E2E Tests (latest)
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Cache node modules
|
||||
uses: actions/cache@v2
|
||||
env:
|
||||
cache-name: cache-node-modules
|
||||
- uses: actions/checkout@v3
|
||||
- name: Setup node version and npm cache
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
# npm cache files are stored in `~/.npm` on Linux/macOS
|
||||
path: ~/.npm
|
||||
key: ${{ runner.OS }}-build-${{ secrets.CACHE_VERSION }}-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
|
||||
restore-keys: |
|
||||
${{ runner.OS }}-build-${{ secrets.CACHE_VERSION }}-${{ env.cache-name }}-
|
||||
${{ runner.OS }}-build-${{ secrets.CACHE_VERSION }}-
|
||||
|
||||
- name: Use Node.js 16.13.2
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: 16.13.2
|
||||
|
||||
node-version-file: '.nvmrc'
|
||||
cache: 'npm'
|
||||
- name: Npm install and build
|
||||
run: |
|
||||
npm ci
|
||||
npm ci --no-optional
|
||||
FORCE_REDUCED_MOTION=true npm run build:e2e-test
|
||||
|
||||
- name: blocks.ini setup
|
||||
|
@ -140,7 +114,7 @@ jobs:
|
|||
|
||||
- name: Upload artifacts on failure
|
||||
if: ${{ failure() }}
|
||||
uses: actions/upload-artifact@v2
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: e2e-test-report
|
||||
path: reports/e2e
|
||||
|
|
|
@ -9,7 +9,7 @@ jobs:
|
|||
project-management-automation:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
ref: trunk
|
||||
- uses: woocommerce/automations@v1
|
||||
|
|
|
@ -16,7 +16,7 @@ jobs:
|
|||
status: starting
|
||||
if: ${{ always() }}
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
- name: Create changeset for pull request
|
||||
run: |
|
||||
git config user.name github-actions
|
||||
|
|
|
@ -10,28 +10,15 @@ jobs:
|
|||
runs-on: ubuntu-latest
|
||||
name: Setup
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Cache node modules
|
||||
uses: actions/cache@v2
|
||||
env:
|
||||
cache-name: cache-node-modules
|
||||
- uses: actions/checkout@v3
|
||||
- name: Setup node version and npm cache
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
# npm cache files are stored in `~/.npm` on Linux/macOS
|
||||
path: ~/.npm
|
||||
key: ${{ runner.OS }}-build-${{ secrets.CACHE_VERSION }}-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
|
||||
restore-keys: |
|
||||
${{ runner.OS }}-build-${{ secrets.CACHE_VERSION }}-${{ env.cache-name }}-
|
||||
${{ runner.OS }}-build-${{ secrets.CACHE_VERSION }}-
|
||||
|
||||
- name: Use Node.js 16.13.2
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: 16.13.2
|
||||
|
||||
node-version-file: '.nvmrc'
|
||||
cache: 'npm'
|
||||
- name: Npm install and build
|
||||
run: |
|
||||
npm ci
|
||||
npm ci --no-optional
|
||||
FORCE_REDUCED_MOTION=true npm run build:e2e-test
|
||||
|
||||
- name: Get Composer Cache Directory
|
||||
|
@ -58,29 +45,19 @@ jobs:
|
|||
|
||||
PHPUnitTests:
|
||||
name: PHP Unit Tests
|
||||
needs: Setup
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Cache node modules
|
||||
uses: actions/cache@v2
|
||||
env:
|
||||
cache-name: cache-node-modules
|
||||
- uses: actions/checkout@v3
|
||||
- name: Setup node version and npm cache
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
# npm cache files are stored in `~/.npm` on Linux/macOS
|
||||
path: ~/.npm
|
||||
key: ${{ runner.OS }}-build-${{ secrets.CACHE_VERSION }}-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
|
||||
restore-keys: |
|
||||
${{ runner.OS }}-build-${{ secrets.CACHE_VERSION }}-${{ env.cache-name }}-
|
||||
${{ runner.OS }}-build-${{ secrets.CACHE_VERSION }}-
|
||||
- name: Use Node.js 16.13.2
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: 16.13.2
|
||||
|
||||
node-version-file: '.nvmrc'
|
||||
cache: 'npm'
|
||||
- name: Npm install #build is not needed
|
||||
run: |
|
||||
npm ci
|
||||
npm ci --no-optional
|
||||
- name: blocks.ini setup
|
||||
run: |
|
||||
echo 'woocommerce_blocks_phase = 3' > blocks.ini
|
||||
|
@ -100,32 +77,18 @@ jobs:
|
|||
JSUnitTests:
|
||||
name: JS Unit Tests
|
||||
needs: Setup
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Cache node modules
|
||||
uses: actions/cache@v2
|
||||
env:
|
||||
cache-name: cache-node-modules
|
||||
- uses: actions/checkout@v3
|
||||
- name: Setup node version and npm cache
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
# npm cache files are stored in `~/.npm` on Linux/macOS
|
||||
path: ~/.npm
|
||||
key: ${{ runner.OS }}-build-${{ secrets.CACHE_VERSION }}-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
|
||||
restore-keys: |
|
||||
${{ runner.OS }}-build-${{ secrets.CACHE_VERSION }}-${{ env.cache-name }}-
|
||||
${{ runner.OS }}-build-${{ secrets.CACHE_VERSION }}-
|
||||
|
||||
- name: Use Node.js 16.13.2
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: 16.13.2
|
||||
|
||||
node-version-file: '.nvmrc'
|
||||
cache: 'npm'
|
||||
- name: Npm install and build
|
||||
run: |
|
||||
npm ci
|
||||
npm ci --no-optional
|
||||
FORCE_REDUCED_MOTION=true npm run build:e2e-test
|
||||
|
||||
- name: blocks.ini setup
|
||||
|
|
|
@ -14,7 +14,7 @@ jobs:
|
|||
status: starting
|
||||
if: ${{ always() }}
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
- name: WordPress Plugin Deploy
|
||||
id: deploy
|
||||
uses: 10up/action-wordpress-plugin-deploy@stable
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -181,7 +181,6 @@
|
|||
"markdown-it": "12.3.2",
|
||||
"merge-config": "2.0.0",
|
||||
"mini-css-extract-plugin": "1.3.6",
|
||||
"ndb": "1.1.5",
|
||||
"patch-package": "6.4.7",
|
||||
"postcss": "8.2.13",
|
||||
"postcss-loader": "4.2.0",
|
||||
|
@ -234,6 +233,9 @@
|
|||
"react": "^17.0.0",
|
||||
"react-dom": "^17.0.0"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"ndb": "1.1.5"
|
||||
},
|
||||
"husky": {
|
||||
"hooks": {
|
||||
"pre-commit": "lint-staged"
|
||||
|
|
Loading…
Reference in New Issue