Skip to content

Commit 9ad32e7

Browse files
Alan Plum @ArangoDBMarkus PfeiffermpoeterpalashkariaKVS85
authored
[FE-249] Remove frontend build artifacts (arangodb#18832)
* Remove frontend artefacts * git ignore artefacts * Require Node/yarn * Build frontend by default * Enable dependency tracking for frontend build * No need for extra parameters * Install yarn in build container * Fix and simplify FindNodejs.cmake * Make it possible to not build the frontend again This also means that if one uses -DUSE_FRONTEND=Off, neither yarn nor nodejs are required to build the frontend. ArangoDB will still work, just the web frontend will not. * Try building frontend separately * Actually build frontend * Build frontend as part of CI build, because why not * De-vendor moment.js Pinned version for now. Upgrade is out of scope for this PR but the vendored version breaks the bundler in CI. * Remove build files * Remove moment.js from dependencies * More cleanups * Remove build files, again * Fix moment imports * Untrack dependencies in CMake * Add @team-frontend to CODEOWNERS * Revert arangoCollectionModel.js * Revert modalCollectionInfo.ejs * Revert AddCollectionModal.tsx * Revert QueryExecuteResult.tsx * Revert ImportQueryModal.tsx * Use newer docker image * fix: useEffect deps * Remove stragglers * Adjust to devel * Fix typo * Avoid clutch with system-wide OpenSSL * Update CircleCI build image tag * Add nodejs@8.13.0 and yarn@1.22.19 to Windows build image * Update CircleCI build image for Windows * Fix typo --------- Co-authored-by: Markus Pfeiffer <markus.pfeiffer@arangodb.com> Co-authored-by: mpoeter <manuel@arangodb.com> Co-authored-by: Palash Karia <2976363+palashkaria@users.noreply.github.com> Co-authored-by: Vadim Kondratev <vadim@arangodb.com>
1 parent 9984dfe commit 9ad32e7

File tree

19 files changed

+173
-38
lines changed

19 files changed

+173
-38
lines changed

.circleci/base_config.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ parameters:
99
default: ""
1010
build-docker-image:
1111
type: string
12-
default: "arangodb/ubuntubuildarangodb-devel:1"
12+
default: "arangodb/ubuntubuildarangodb-devel:2"
1313
build-windows-image:
1414
type: string
15-
default: "arangodb/build-windows-x64:10.0.17763.4737-VS-17.3.3-OpenSSL-3.1.4-399cc6a6e26"
15+
default: "arangodb/build-windows-x64:10.0.17763.4737-VS-17.3.3-OpenSSL-3.1.4-4c65c2ae530"
1616
# Unused here, but it will be forwarded from config and will cause errors if not defined
1717
replication-two:
1818
type: boolean
@@ -29,7 +29,7 @@ parameters:
2929
# these are basically global constants
3030
build-targets:
3131
type: string
32-
default: "arangod arangoimport arangoexport arangodump arangorestore arangobench"
32+
default: "arangod arangoimport arangoexport arangodump arangorestore arangobench frontend"
3333
test-build-targets:
3434
type: string
3535
default: "arangodbtests fuertetest"
@@ -222,7 +222,7 @@ jobs:
222222
- run:
223223
name: Configure
224224
command: |
225-
cmake --preset << parameters.preset >> -DCMAKE_C_COMPILER=<< pipeline.parameters.c-compiler >> -DCMAKE_CXX_COMPILER=<< pipeline.parameters.cxx-compiler >> -DCMAKE_EXE_LINKER_FLAGS="-fuse-ld=lld" -DCMAKE_LIBRARY_PATH=$OPENSSL_ROOT_DIR/lib -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache
225+
cmake --preset << parameters.preset >> -DCMAKE_C_COMPILER=<< pipeline.parameters.c-compiler >> -DCMAKE_CXX_COMPILER=<< pipeline.parameters.cxx-compiler >> -DCMAKE_EXE_LINKER_FLAGS="-fuse-ld=lld" -DCMAKE_LIBRARY_PATH=$OPENSSL_ROOT_DIR/lib -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache -DOPENSSL_ROOT_DIR=/opt
226226
- run:
227227
name: Build
228228
command: |

.github/CODEOWNERS

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,5 +52,8 @@
5252
/lib/Logger/ @arangodb/team-orco
5353
/lib/Utilities/ @arangodb/team-orco
5454

55+
# `team-frontend` ownership
56+
/js/apps/system/_admin/aardvark/APP/ @arangodb/team-frontend
57+
5558
# ownership by individuals
5659
/lib/Inspection/ @mpoeter

.gitignore

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -97,14 +97,9 @@ test.cpp.txt
9797
.sass-cache/
9898

9999
js/apps/*
100-
!js/apps/system
101-
!js/apps/system/*
100+
!js/apps/system/
102101
js/apps/system/_admin/aardvark/APP/react/node_modules/
103-
js/apps/system/_admin/aardvark/APP/react/node_modules/*
104-
!js/apps/system/_admin/aardvark/APP/react/build
105-
!js/apps/system/_admin/aardvark/APP/react/build/**
106-
!js/apps/system/_admin/aardvark/APP/react/build/static
107-
!js/apps/system/_admin/aardvark/APP/react/build/static/**
102+
js/apps/system/_admin/aardvark/APP/react/build/
108103
js/node/**/node_modules/.bin/
109104
js/node/node_modules/**/*.md
110105
!js/node/node_modules/**/LICENSE.md

CMakeLists.txt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,9 @@ set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})
4444

4545
option(SKIP_PACKAGING "" OFF)
4646

47+
# enable frontend build
48+
option(USE_FRONTEND "build the browser-based frontend (requires yarn and nodejs)" ON)
49+
4750
# be verbose about flags used
4851
option(VERBOSE "be verbose about flags used" OFF)
4952

@@ -1292,7 +1295,9 @@ endif()
12921295

12931296
add_subdirectory(Documentation)
12941297
include(ArangoDBInstall)
1295-
include(frontend/aardvark)
1298+
if(USE_FRONTEND)
1299+
include(frontend/aardvark)
1300+
endif()
12961301
if (NOT(SKIP_PACKAGING))
12971302
include(packages/packages)
12981303
endif()

CONTRIBUTING.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -252,6 +252,9 @@ build directory:
252252

253253
cmake --build . --target frontend
254254

255+
Note that as of 3.12 the frontend target is part of the default target. To avoid building the frontend and
256+
skip the CMake checks for yarn and node you can disable this using `-DUSE_FRONTEND=Off`.
257+
255258
For Oskar you may use the following:
256259

257260
shellInAlpineContainer
@@ -266,7 +269,7 @@ The frontend can also be built using these commands:
266269

267270
cd <SourceRoot>/js/apps/system/_admin/aardvark/APP/react
268271
yarn install
269-
yarn run build
272+
yarn build
270273

271274
For development purposes, go to `js/apps/system/_admin/aardvark/APP/react` and
272275
run:

cmake/FindNodejs.cmake

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
# The MIT License (MIT)
2+
# Copyright © 2014-2019 Intel Corporation and others
3+
#
4+
# Permission is hereby granted, free of charge, to any person obtaining
5+
# a copy of this software and associated documentation files (the
6+
# "Software"), to deal in the Software without restriction, including
7+
# without limitation the rights to use, copy, modify, merge, publish,
8+
# distribute, sublicense, and/or sell copies of the Software, and to
9+
# permit persons to whom the Software is furnished to do so, subject to
10+
# the following conditions:
11+
#
12+
# The above copyright notice and this permission notice shall be
13+
# included in all copies or substantial portions of the Software.
14+
#
15+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16+
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17+
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18+
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19+
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20+
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21+
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22+
23+
# Macro to add directory to NODEJS_INCLUDE_DIRS if it exists and is not /usr/include
24+
macro(add_include_dir dir)
25+
if (IS_DIRECTORY ${dir} AND NOT ${dir} STREQUAL "/usr/include")
26+
set(NODEJS_INCLUDE_DIRS ${NODEJS_INCLUDE_DIRS} ${dir})
27+
endif()
28+
endmacro()
29+
30+
find_program (NODEJS_EXECUTABLE NAMES node nodejs
31+
HINTS
32+
$ENV{NODE_DIR}
33+
PATH_SUFFIXES bin
34+
DOC "Node.js interpreter")
35+
36+
include (FindPackageHandleStandardArgs)
37+
38+
if (NODEJS_EXECUTABLE)
39+
execute_process(COMMAND ${NODEJS_EXECUTABLE} --version
40+
OUTPUT_VARIABLE _VERSION
41+
RESULT_VARIABLE _NODE_VERSION_RESULT)
42+
execute_process(COMMAND ${NODEJS_EXECUTABLE} -e "console.log(process.versions.v8)"
43+
OUTPUT_VARIABLE _V8_VERSION
44+
RESULT_VARIABLE _V8_RESULT)
45+
if (NOT _NODE_VERSION_RESULT AND NOT _V8_RESULT)
46+
string (REPLACE "v" "" NODE_VERSION_STRING "${_VERSION}")
47+
string (REPLACE "." ";" _VERSION_LIST "${NODE_VERSION_STRING}")
48+
list (GET _VERSION_LIST 0 NODE_VERSION_MAJOR)
49+
list (GET _VERSION_LIST 1 NODE_VERSION_MINOR)
50+
list (GET _VERSION_LIST 2 NODE_VERSION_PATCH)
51+
set (V8_VERSION_STRING ${_V8_VERSION})
52+
string (REPLACE "." ";" _V8_VERSION_LIST "${_V8_VERSION}")
53+
string (REPLACE "." "" V8_DEFINE_STRING "${_V8_VERSION}")
54+
string (STRIP ${V8_DEFINE_STRING} V8_DEFINE_STRING)
55+
list (GET _V8_VERSION_LIST 0 V8_VERSION_MAJOR)
56+
list (GET _V8_VERSION_LIST 1 V8_VERSION_MINOR)
57+
list (GET _V8_VERSION_LIST 2 V8_VERSION_PATCH)
58+
# we end up with a nasty newline so strip everything that isn't a number
59+
string (REGEX MATCH "^[0-9]*" V8_VERSION_PATCH ${V8_VERSION_PATCH})
60+
else ()
61+
set (NODE_VERSION_STRING "0.10.30")
62+
set (NODE_VERSION_MAJOR "0")
63+
set (NODE_VERSION_MINOR "10")
64+
set (NODE_VERSION_PATCH "30")
65+
set (V8_VERSION_MAJOR "3")
66+
set (V8_VERSION_MINOR "28")
67+
set (V8_VERSION_PATCH "72")
68+
set (V8_VERSION_STRING "3.28.72")
69+
message (STATUS "defaulted to node 0.10.30")
70+
endif ()
71+
string (REGEX REPLACE "\n" "" NODE_VERSION_STRING ${NODE_VERSION_STRING})
72+
string (REGEX REPLACE "\n" "" V8_VERSION_STRING ${V8_VERSION_STRING})
73+
74+
mark_as_advanced (NODEJS_EXECUTABLE)
75+
76+
find_package_handle_standard_args (Nodejs
77+
REQUIRED_VARS NODEJS_EXECUTABLE VERSION_VAR NODE_VERSION_STRING)
78+
endif ()

cmake/FindYarn.cmake

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# MIT License
2+
#
3+
# Copyright (c) 2018 vector-of-bool
4+
#
5+
# Permission is hereby granted, free of charge, to any person obtaining a copy
6+
# of this software and associated documentation files (the "Software"), to deal
7+
# in the Software without restriction, including without limitation the rights
8+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
# copies of the Software, and to permit persons to whom the Software is
10+
# furnished to do so, subject to the following conditions:
11+
#
12+
# The above copyright notice and this permission notice shall be included in all
13+
# copies or substantial portions of the Software.
14+
#
15+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
# SOFTWARE.
22+
23+
set(_prev "${YARN_EXECUTABLE}")
24+
find_program(YARN_EXECUTABLE yarn DOC "Path to Yarn, the better NPM")
25+
26+
if(YARN_EXECUTABLE)
27+
if(NOT _prev)
28+
message(STATUS "Found Yarn executable: ${YARN_EXECUTABLE}")
29+
endif()
30+
set(Yarn_FOUND TRUE CACHE INTERNAL "")
31+
else()
32+
set(Yarn_FOUND FALSE CACHE INTERNAL "")
33+
if(Yarn_FIND_REQUIRED)
34+
message(FATAL_ERROR "Failed to find a Yarn executable")
35+
endif()
36+
endif()

cmake/frontend/aardvark.cmake

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,24 @@
1-
21
################################################################################
32
## web interface build
43
################################################################################
5-
add_custom_target(frontend
4+
5+
find_package(Nodejs 16 REQUIRED)
6+
find_package(Yarn REQUIRED)
7+
8+
set(FRONTEND_DESTINATION ${PROJECT_SOURCE_DIR}/js/apps/system/_admin/aardvark/APP/react/build)
9+
10+
add_custom_target(frontend ALL
11+
DEPENDS ${FRONTEND_DESTINATION}
12+
)
13+
add_custom_command(# frontend
614
COMMENT "create frontend build"
15+
OUTPUT ${PROJECT_SOURCE_DIR}/js/apps/system/_admin/aardvark/APP/react/build
716
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/js/apps/system/_admin/aardvark/APP/react
817
COMMAND yarn install
9-
COMMAND yarn run build
10-
)
18+
COMMAND yarn build
19+
)
1120

1221
add_custom_target(frontend_clean
13-
COMMAND ${CMAKE_COMMAND} -E remove_directory ${PROJECT_SOURCE_DIR}/js/apps/system/_admin/aardvark/APP/react/node_modules
14-
COMMENT "Removing frontend node modules"
22+
COMMAND ${CMAKE_COMMAND} -E remove_directory ${FRONTEND_DESTINATION}
23+
COMMENT "Removing frontend artefacts"
1524
)
16-

js/apps/system/_admin/aardvark/APP/frontend/js/lib/moment.min.js

Lines changed: 0 additions & 7 deletions
This file was deleted.

js/apps/system/_admin/aardvark/APP/react/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@
4747
"marked": "^0.7.0",
4848
"memory-fs": "^0.5.0",
4949
"minimatch": "^3.1.2",
50+
"moment": "2.18.1",
5051
"noty": "^3.2.0-beta",
5152
"nvd3": "^1.8.6",
5253
"papaparse": "^5.4.1",

js/apps/system/_admin/aardvark/APP/react/src/App.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ window.d3 = d3;
149149
window.prettyBytes = require('../../frontend/js/lib/pretty-bytes.js');
150150
window.Dygraph = require('../../frontend/js/lib/dygraph-combined.min.js');
151151
require('../../frontend/js/config/dygraphConfig.js');
152-
window.moment = require('../../frontend/js/lib/moment.min.js');
152+
window.moment = require('moment');
153153

154154
// sigma
155155
window.sigma = Sigma;

js/apps/system/_admin/aardvark/APP/react/src/views/query/editor/SavedQueryView.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import { CellContext, createColumnHelper } from "@tanstack/react-table";
1313
import React, { useMemo } from "react";
1414
import { InfoCircle } from "styled-icons/boxicons-solid";
1515
import { PlayArrow } from "styled-icons/material";
16-
import momentMin from "../../../../../frontend/js/lib/moment.min";
16+
import momentMin from "moment";
1717
import aqlTemplates from "../../../../public/assets/aqltemplates.json";
1818
import { ControlledJSONEditor } from "../../../components/jsonEditor/ControlledJSONEditor";
1919
import { FiltersList } from "../../../components/table/FiltersList";

js/apps/system/_admin/aardvark/APP/react/src/views/query/runningQueries/RunningQueries.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { Button, IconButton, ModalFooter, ModalHeader } from "@chakra-ui/react";
33
import { CellContext } from "@tanstack/react-table";
44
import { QueryInfo } from "arangojs/database";
55
import React, { useEffect } from "react";
6-
import moment from "../../../../../frontend/js/lib/moment.min";
6+
import moment from "moment";
77
import { Modal } from "../../../components/modal";
88
import { ReactTable } from "../../../components/table/ReactTable";
99
import { useSortableReactTable } from "../../../components/table/useSortableReactTable";

js/apps/system/_admin/aardvark/APP/react/src/views/query/slowQueries/SlowQueryHistory.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { Box, Button, Flex, ModalFooter, ModalHeader } from "@chakra-ui/react";
22
import { QueryInfo } from "arangojs/database";
33
import React from "react";
4-
import moment from "../../../../../frontend/js/lib/moment.min";
4+
import moment from "moment";
55
import { Modal } from "../../../components/modal";
66
import { ReactTable } from "../../../components/table/ReactTable";
77
import { useSortableReactTable } from "../../../components/table/useSortableReactTable";

js/apps/system/_admin/aardvark/APP/react/yarn.lock

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8488,6 +8488,11 @@ mobius1-selectr@^2.4.13:
84888488
resolved "https://registry.yarnpkg.com/mobius1-selectr/-/mobius1-selectr-2.4.13.tgz#0019dfd9f984840d6e40f70683ab3ec78ce3b5df"
84898489
integrity sha512-Mk9qDrvU44UUL0EBhbAA1phfQZ7aMZPjwtL7wkpiBzGh8dETGqfsh50mWoX9EkjDlkONlErWXArHCKfoxVg0Bw==
84908490

8491+
moment@2.18.1:
8492+
version "2.18.1"
8493+
resolved "https://registry.yarnpkg.com/moment/-/moment-2.18.1.tgz#c36193dd3ce1c2eed2adb7c802dbbc77a81b1c0f"
8494+
integrity sha512-QGcnVKRSEhbWy2i0pqFhjWMCczL/YU5ICMB3maUavFcyUqBszRnzsswvOaGOqSfWZ/R+dMnb9gGBuRT4LMTdVQ==
8495+
84918496
ms@2.0.0:
84928497
version "2.0.0"
84938498
resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"

scripts/docker/build/linux/Dockerfile.arm64

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,10 @@ RUN apt-get update --fix-missing && \
4848

4949
ENV DEBIAN_FRONTEND=noninteractive
5050

51-
RUN apt-get update --fix-missing && apt-get install -y build-essential gcc-${COMPILER_VERSION} g++-${COMPILER_VERSION} cmake make bison flex python3 ccache git libjemalloc-dev vim exuberant-ctags gdb fish psmisc sudo debhelper debconf jq wget libdb-dev curl gnupg2 gcovr prometheus bc tcpdump liburing-dev cppcheck clang-${CLANG_VERSION} lldb-${CLANG_VERSION} lld-${CLANG_VERSION} libc++-${CLANG_VERSION}-dev libc++abi-${CLANG_VERSION}-dev libclang-common-${CLANG_VERSION}-dev libclang-rt-${CLANG_VERSION}-dev && apt-get clean
51+
RUN apt-get update --fix-missing && apt-get install -y build-essential gcc-${COMPILER_VERSION} g++-${COMPILER_VERSION} cmake make bison flex python3 ccache git libjemalloc-dev vim exuberant-ctags gdb fish psmisc sudo debhelper debconf jq wget libdb-dev curl gnupg2 gcovr prometheus bc tcpdump liburing-dev cppcheck clang-${CLANG_VERSION} lldb-${CLANG_VERSION} lld-${CLANG_VERSION} libc++-${CLANG_VERSION}-dev libc++abi-${CLANG_VERSION}-dev libclang-common-${CLANG_VERSION}-dev libclang-rt-${CLANG_VERSION}-dev nodejs npm && apt-get clean
52+
53+
# yarn for UI build:
54+
RUN npm install -g yarn
5255

5356
# sccache for cloud compiler cache:
5457

scripts/docker/build/linux/Dockerfile.x86-64

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,10 @@ RUN apt-get update --fix-missing && \
4848

4949
ENV DEBIAN_FRONTEND=noninteractive
5050

51-
RUN apt-get update --fix-missing && apt-get install -y build-essential gcc-${COMPILER_VERSION} g++-${COMPILER_VERSION} cmake make bison flex python3 ccache git libjemalloc-dev vim exuberant-ctags gdb fish psmisc sudo debhelper debconf jq wget libdb-dev curl gnupg2 gcovr prometheus bc tcpdump liburing-dev cppcheck clang-${CLANG_VERSION} lldb-${CLANG_VERSION} lld-${CLANG_VERSION} libc++-${CLANG_VERSION}-dev libc++abi-${CLANG_VERSION}-dev libclang-common-${CLANG_VERSION}-dev libclang-rt-${CLANG_VERSION}-dev && apt-get clean
51+
RUN apt-get update --fix-missing && apt-get install -y build-essential gcc-${COMPILER_VERSION} g++-${COMPILER_VERSION} cmake make bison flex python3 ccache git libjemalloc-dev vim exuberant-ctags gdb fish psmisc sudo debhelper debconf jq wget libdb-dev curl gnupg2 gcovr prometheus bc tcpdump liburing-dev cppcheck clang-${CLANG_VERSION} lldb-${CLANG_VERSION} lld-${CLANG_VERSION} libc++-${CLANG_VERSION}-dev libc++abi-${CLANG_VERSION}-dev libclang-common-${CLANG_VERSION}-dev libclang-rt-${CLANG_VERSION}-dev nodejs npm && apt-get clean
52+
53+
# yarn for UI build:
54+
RUN npm install -g yarn
5255

5356
# sccache for cloud compiler cache:
5457

scripts/docker/build/linux/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ TAG = $(shell ./latest-tag.sh)
44
all: amd64 arm64v8 manifest
55

66
tag:
7-
@if [ -z "$$TAG" ]; then \
7+
@if [ -z "$TAG" ]; then \
88
echo "A new TAG was not provided explicitly or wasn't able to be guessed"\
99
"from arangodb/ubuntubuildarangodb-devel!"; exit 1; \
1010
fi

scripts/docker/build/windows/arangodb-build-win.Dockerfile

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,14 @@ RUN `
3636
&& %windir%\Microsoft.NET\Framework64\v4.0.30319\ngen uninstall "Microsoft.Tpm.Commands, Version=10.0.0.0, Culture=Neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=amd64" `
3737
&& %windir%\Microsoft.NET\Framework64\v4.0.30319\ngen update `
3838
# clean out the package cache to reduce image size
39-
&& @powershell Remove-Item 'C:/ProgramData/Package Cache/*' -Recurse -Force; `
40-
Set-ExecutionPolicy Bypass -Scope Process -Force; `
39+
&& @powershell Remove-Item 'C:/ProgramData/Package Cache/*' -Recurse -Force
40+
41+
RUN @powershell Set-ExecutionPolicy Bypass -Scope Process -Force; `
4142
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]'Tls,Tls11,Tls12'; `
4243
iex ((New-Object System.Net.WebClient).DownloadString("$env:CHOCO_URL")); `
43-
choco install git winflexbison strawberryperl nasm python3 ccache -y
44-
44+
choco install git winflexbison strawberryperl nasm python3 ccache yarn -y; `
45+
choco install nodejs --version 18.13.0 -y
46+
4547
RUN @powershell git config --global --add safe.directory *; `
4648
$env:PATH += ';C:\Program Files\NASM'; `
4749
"C:/tools/install-openssl.ps1" -branch "3.1" -revision ".4"; `

0 commit comments

Comments
 (0)