diff --git a/.github/workflows/stage.yml b/.github/workflows/stage.yml index 2f4e066061..a8b0e95cba 100644 --- a/.github/workflows/stage.yml +++ b/.github/workflows/stage.yml @@ -85,9 +85,11 @@ jobs: cp ../awx-logos/awx/ui/client/assets/* awx/ui/public/static/media/ - name: Setup node and npm for new UI build - uses: actions/setup-node@v2 + uses: actions/setup-node@v4 with: node-version: '18' + cache: 'npm' + cache-dependency-path: awx/awx/ui/**/package-lock.json - name: Prebuild new UI for awx image (to speed up build process) working-directory: awx diff --git a/awx/ui/Makefile b/awx/ui/Makefile index 16c1fae902..53b498d20b 100644 --- a/awx/ui/Makefile +++ b/awx/ui/Makefile @@ -87,7 +87,14 @@ ui/src/webpack: $(UI_DIR)/src/node_modules/webpack ## True target for ui/src/webpack. $(UI_DIR)/src/node_modules/webpack: @echo "=== Installing webpack ===" - @cd $(UI_DIR)/src && n 18 && npm install webpack + @cd $(UI_DIR)/src && \ + maj=$$(node -p "process.versions.node.split('.')[0]"); \ + if [ "$$maj" != "18" ]; then \ + echo "Error: Need Node 18.x; found $$(node -v)" >&2; \ + exit 1; \ + fi; \ + npm install webpack + .PHONY: clean/ui ## Clean ui