mattermost/.github/actions/webapp-setup/action.yml

39 lines
1.5 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
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