chore(deps): update node.js to v18.20.5 #3646
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This workflow will do a clean installation of node dependencies, build the source code and run tests across different versions of node | |
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions | |
name: Build | |
env: | |
CODECOV_VERSION: 'v0.1.15' | |
NODE_VERSION: '16.16.0' | |
on: | |
push: | |
branches: | |
- master | |
- develop | |
pull_request: | |
branches: | |
- master | |
- develop | |
jobs: | |
PreJob: | |
runs-on: ubuntu-latest | |
outputs: | |
SHOULD_SKIP: ${{ steps.skip-check.outputs.should_skip }} | |
steps: | |
- id: skip-check | |
uses: fkirc/skip-duplicate-actions@f75f66ce1886f00957d99748a42c724f4330bdcf # v5.3.1 | |
with: | |
concurrent_skipping: 'same_content_newer' | |
Lint: | |
needs: PreJob | |
if: ${{ needs.PreJob.outputs.SHOULD_SKIP != 'true' }} | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3 | |
- name: Use Node.js ${{ env.NODE_VERSION }} | |
uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3 | |
with: | |
node-version: ${{ env.NODE_VERSION }} | |
cache: npm | |
- name: Cache node_modules | |
id: cache-node-modules | |
uses: actions/cache@704facf57e6136b1bc63b828d79edcd491f0ee84 # v3 | |
env: | |
cache-name: cache-node-modules | |
with: | |
path: | | |
node_modules | |
documentation/node_modules | |
key: ${{ runner.os }}-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} | |
restore-keys: | | |
${{ runner.os }}-${{ env.cache-name }}- | |
- name: Install dependencies | |
if: steps.cache-node-modules.outputs.cache-hit != 'true' | |
run: | | |
npm ci | |
cd documentation | |
npm ci | |
- name: Lint ts | |
run: npm run lint:ts:ci | |
- name: Lint other | |
run: npm run lint:other:ci | |
CoverageCodeClimate: | |
needs: PreJob | |
if: ${{ needs.PreJob.outputs.SHOULD_SKIP != 'true' }} | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3 | |
- name: Use Node.js ${{ env.NODE_VERSION }} | |
uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3 | |
with: | |
node-version: ${{ env.NODE_VERSION }} | |
cache: npm | |
- name: Cache node_modules | |
id: cache-node-modules | |
uses: actions/cache@704facf57e6136b1bc63b828d79edcd491f0ee84 # v3 | |
env: | |
cache-name: cache-node-modules | |
with: | |
path: | | |
node_modules | |
documentation/node_modules | |
key: ${{ runner.os }}-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} | |
restore-keys: | | |
${{ runner.os }}-${{ env.cache-name }}- | |
- name: Install dependencies | |
if: steps.cache-node-modules.outputs.cache-hit != 'true' | |
run: | | |
npm ci | |
cd documentation | |
npm ci | |
- name: Cache Jest | |
id: cache-jest | |
uses: actions/cache@704facf57e6136b1bc63b828d79edcd491f0ee84 # v3 | |
env: | |
cache-name: cache-jest-cc | |
with: | |
path: .cache-jest | |
key: ${{ runner.os }}-${{ env.cache-name }}-${{ hashFiles('**/jest.config.ts') }} | |
restore-keys: | | |
${{ runner.os }}-${{ env.cache-name }}- | |
- name: Coverage | |
uses: paambaati/codeclimate-action@b649ad206d2e83dafb9ed130deba698aa1b41d78 # v3.2.0 | |
with: | |
coverageCommand: npm run test:ci:coverage | |
debug: true | |
env: | |
CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }} | |
IssuesIntegrationCoverageCodecov: | |
needs: PreJob | |
if: ${{ needs.PreJob.outputs.SHOULD_SKIP != 'true' }} | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3 | |
- name: Use Node.js ${{ env.NODE_VERSION }} | |
uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3 | |
with: | |
node-version: ${{ env.NODE_VERSION }} | |
cache: npm | |
- name: Cache node_modules | |
id: cache-node-modules | |
uses: actions/cache@704facf57e6136b1bc63b828d79edcd491f0ee84 # v3 | |
env: | |
cache-name: cache-node-modules | |
with: | |
path: | | |
node_modules | |
documentation/node_modules | |
key: ${{ runner.os }}-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} | |
restore-keys: | | |
${{ runner.os }}-${{ env.cache-name }}- | |
- name: Install dependencies | |
if: steps.cache-node-modules.outputs.cache-hit != 'true' | |
run: | | |
npm ci | |
cd documentation | |
npm ci | |
- name: Cache Jest | |
id: cache-jest | |
uses: actions/cache@704facf57e6136b1bc63b828d79edcd491f0ee84 # v3 | |
env: | |
cache-name: cache-jest-integration-issues | |
with: | |
path: .cache-jest | |
key: ${{ runner.os }}-${{ env.cache-name }}-${{ hashFiles('**/jest.config.ts') }} | |
restore-keys: | | |
${{ runner.os }}-${{ env.cache-name }}- | |
- name: Test | |
run: npm run test:ci:coverage:integration:issues | |
- name: Coverage | |
uses: codecov/codecov-action@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d # v3 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
version: ${{ env.CODECOV_VERSION }} | |
fail_ci_if_error: true | |
flags: integration-issues | |
name: Stale | |
PullRequestsIntegrationCoverageCodecov: | |
needs: PreJob | |
if: ${{ needs.PreJob.outputs.SHOULD_SKIP != 'true' }} | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3 | |
- name: Use Node.js ${{ env.NODE_VERSION }} | |
uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3 | |
with: | |
node-version: ${{ env.NODE_VERSION }} | |
cache: npm | |
- name: Cache node_modules | |
id: cache-node-modules | |
uses: actions/cache@704facf57e6136b1bc63b828d79edcd491f0ee84 # v3 | |
env: | |
cache-name: cache-node-modules | |
with: | |
path: | | |
node_modules | |
documentation/node_modules | |
key: ${{ runner.os }}-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} | |
restore-keys: | | |
${{ runner.os }}-${{ env.cache-name }}- | |
- name: Install dependencies | |
if: steps.cache-node-modules.outputs.cache-hit != 'true' | |
run: | | |
npm ci | |
cd documentation | |
npm ci | |
- name: Cache Jest | |
id: cache-jest | |
uses: actions/cache@704facf57e6136b1bc63b828d79edcd491f0ee84 # v3 | |
env: | |
cache-name: cache-jest-integration-pull-requests | |
with: | |
path: .cache-jest | |
key: ${{ runner.os }}-${{ env.cache-name }}-${{ hashFiles('**/jest.config.ts') }} | |
restore-keys: | | |
${{ runner.os }}-${{ env.cache-name }}- | |
- name: Test | |
run: npm run test:ci:coverage:integration:pull-requests | |
- name: Coverage | |
uses: codecov/codecov-action@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d # v3 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
version: ${{ env.CODECOV_VERSION }} | |
fail_ci_if_error: true | |
flags: integration-pull-requests | |
name: Stale | |
UnitCoverageCodecov: | |
needs: PreJob | |
if: ${{ needs.PreJob.outputs.SHOULD_SKIP != 'true' }} | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3 | |
- name: Use Node.js ${{ env.NODE_VERSION }} | |
uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3 | |
with: | |
node-version: ${{ env.NODE_VERSION }} | |
cache: npm | |
- name: Cache node_modules | |
id: cache-node-modules | |
uses: actions/cache@704facf57e6136b1bc63b828d79edcd491f0ee84 # v3 | |
env: | |
cache-name: cache-node-modules | |
with: | |
path: | | |
node_modules | |
documentation/node_modules | |
key: ${{ runner.os }}-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} | |
restore-keys: | | |
${{ runner.os }}-${{ env.cache-name }}- | |
- name: Install dependencies | |
if: steps.cache-node-modules.outputs.cache-hit != 'true' | |
run: | | |
npm ci | |
cd documentation | |
npm ci | |
- name: Cache Jest | |
id: cache-jest | |
uses: actions/cache@704facf57e6136b1bc63b828d79edcd491f0ee84 # v3 | |
env: | |
cache-name: cache-jest-unit | |
with: | |
path: .cache-jest | |
key: ${{ runner.os }}-${{ env.cache-name }}-${{ hashFiles('**/jest.config.ts') }} | |
restore-keys: | | |
${{ runner.os }}-${{ env.cache-name }}- | |
- name: Test | |
run: npm run test:ci:coverage:unit | |
- name: Coverage | |
uses: codecov/codecov-action@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d # v3 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
version: ${{ env.CODECOV_VERSION }} | |
fail_ci_if_error: true | |
flags: unit | |
name: Stale | |
Build: | |
needs: PreJob | |
if: ${{ needs.PreJob.outputs.SHOULD_SKIP != 'true' }} | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3 | |
- name: Use Node.js ${{ env.NODE_VERSION }} | |
uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3 | |
with: | |
node-version: ${{ env.NODE_VERSION }} | |
cache: npm | |
- name: Cache node_modules | |
id: cache-node-modules | |
uses: actions/cache@704facf57e6136b1bc63b828d79edcd491f0ee84 # v3 | |
env: | |
cache-name: cache-node-modules | |
with: | |
path: | | |
node_modules | |
documentation/node_modules | |
key: ${{ runner.os }}-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} | |
restore-keys: | | |
${{ runner.os }}-${{ env.cache-name }}- | |
- name: Install dependencies | |
if: steps.cache-node-modules.outputs.cache-hit != 'true' | |
run: | | |
npm ci | |
cd documentation | |
npm ci | |
- name: Build | |
run: npm run build:dirty | |
env: | |
CI: true | |
- name: Differences | |
id: verify-changed-files | |
run: | | |
if [ "$(git diff --ignore-space-at-eol dist/ | wc -l)" -gt "0" ]; then | |
git diff | |
echo "dist has changed. Run the npm script build locally to build the distribution and then push the changes." | |
exit 1 | |
fi | |
Website: | |
needs: PreJob | |
if: ${{ needs.PreJob.outputs.SHOULD_SKIP != 'true' }} | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3 | |
- name: Use Node.js ${{ env.NODE_VERSION }} | |
uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3 | |
with: | |
node-version: ${{ env.NODE_VERSION }} | |
cache: npm | |
- name: Cache node_modules | |
id: cache-node-modules | |
uses: actions/cache@704facf57e6136b1bc63b828d79edcd491f0ee84 # v3 | |
env: | |
cache-name: cache-node-modules | |
with: | |
path: | | |
node_modules | |
documentation/node_modules | |
key: ${{ runner.os }}-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} | |
restore-keys: | | |
${{ runner.os }}-${{ env.cache-name }}- | |
- name: Install dependencies | |
if: steps.cache-node-modules.outputs.cache-hit != 'true' | |
run: | | |
npm ci | |
cd documentation | |
npm ci | |
- name: Build website | |
run: | | |
cd documentation | |
npm run build | |
- name: Check for missing build files | |
id: verify-website-build-changed-files | |
run: | | |
cd documentation | |
if [ "$(git diff --ignore-space-at-eol docs/ | wc -l)" -gt "0" ]; then | |
git diff | |
echo "docs has changed. Run the npm script build locally to generate the missing build files; and then push the changes." | |
exit 1 | |
fi | |
- name: Generate missing English translations | |
run: | | |
cd documentation | |
npm run write-translations | |
- name: Check for missing English translations | |
id: verify-website-english-changed-files | |
run: | | |
cd documentation | |
if [ "$(git diff --ignore-space-at-eol i18n/en/ | wc -l)" -gt "0" ]; then | |
git diff | |
echo "en i18n has changed. Run the npm script write-translations locally to generate the missing English translations." | |
exit 1 | |
fi | |
- name: Generate missing French translations | |
run: | | |
cd documentation | |
npm run write-translations:french | |
- name: Check for missing French translations | |
id: verify-website-french-changed-files | |
run: | | |
cd documentation | |
if [ "$(git diff --ignore-space-at-eol i18n/fr/ | wc -l)" -gt "0" ]; then | |
git diff | |
echo "fr i18n has changed. Run the npm script write-translations:french locally to generate the missing French translations, translate or ask for help and then push the changes." | |
exit 1 | |
fi | |
- name: Generate missing heading IDs | |
run: | | |
cd documentation | |
npm run write-heading-ids | |
- name: Check for missing heading IDs | |
id: verify-documentation-changed-files | |
run: | | |
if [ "$(git diff --ignore-space-at-eol documentation/ | wc -l)" -gt "0" ]; then | |
git diff | |
echo "documentation has changed. Run the npm script write-heading-ids locally to generate the missing heading IDs, and then push the changes." | |
exit 1 | |
fi |