Files
mattermost/.github/actions/webapp-setup/action.yml
T
sabrilandMattermost Build dab04576a1 MM-66972 Upgrade to node 24 and main dependencies with babel, webpack and jest (#34760)
* chore: upgrade to node 24 and dependencies mainly with babel, webpack and jest

* fix components tests, make trial modal passed on all node 20-24

* fix cache for platform packages

* updated test

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2026-01-14 13:14:01 +08:00

43 lines
1.6 KiB
YAML

name: "Web app setup"
description: "Set up NPM and dependencies"
runs:
using: "composite"
steps:
- name: ci/setup-node
uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
with:
node-version-file: ".nvmrc"
- name: ci/cache-node-modules
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
id: cache-node-modules
with:
path: |
webapp/node_modules
webapp/channels/node_modules
webapp/platform/client/node_modules
webapp/platform/components/node_modules
webapp/platform/types/node_modules
key: node-modules-${{ runner.os }}-${{ hashFiles('webapp/package-lock.json') }}
- name: ci/cache-platform-builds
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
id: cache-platform-builds
with:
path: |
webapp/platform/types/lib
webapp/platform/client/lib
webapp/platform/components/dist
key: platform-builds-${{ runner.os }}-${{ hashFiles('webapp/platform/types/src/**', 'webapp/platform/client/src/**', 'webapp/platform/components/src/**') }}
- name: ci/get-node-modules
if: steps.cache-node-modules.outputs.cache-hit != 'true'
shell: bash
working-directory: webapp
run: |
make node_modules
- name: ci/build-platform-packages
if: steps.cache-platform-builds.outputs.cache-hit != 'true'
shell: bash
working-directory: webapp
run: |
npm run build --workspace=platform/types --workspace=platform/client --workspace=platform/components