Skip to content

Commit b71194f

Browse files
committed
🔨 Upgrade makefile-ci
2 parents 048f38a + 3535309 commit b71194f

2 files changed

Lines changed: 21 additions & 31 deletions

File tree

‎.modules/makefile-ci/src/node.mk‎

Lines changed: 20 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
ifeq ($(COREPACK_ENABLE_DOWNLOAD_PROMPT),)
2-
COREPACK_ENABLE_DOWNLOAD_PROMPT := 0
2+
export COREPACK_ENABLE_DOWNLOAD_PROMPT := 0
33
endif
44

55
## NodeJS cache path (default: .cache/node)
@@ -9,7 +9,7 @@ NODEJS_CACHE_PATH ?= $(PROJECT_CACHE_PATH)/node
99
## NodeJS version manager used to install node (asdf, nvm, ...)
1010
NODEJS_VERSION_MANAGER ?= $(.NODEJS_VERSION_MANAGER)
1111

12-
## NodeJS package manager (npm,pnpm,yarn,yarn-berry)
12+
## NodeJS package manager (npm,pnpm,yarn,yarn-berry,bun)
1313
NODEJS_PACKAGE_MANAGER ?=
1414
# Detect nodejs package manager
1515
ifeq ($(NODEJS_PACKAGE_MANAGER),)
@@ -24,6 +24,9 @@ ifeq ($(NODEJS_PACKAGE_MANAGER),)
2424
else ifneq ($(wildcard pnpm-lock.yaml),)
2525
NODEJS_PACKAGE_MANAGER := pnpm
2626
NODEJS_PACKAGE_MANAGER_COMMAND := pnpm
27+
else ifneq ($(wildcard bun.lock bun.lockb),)
28+
NODEJS_PACKAGE_MANAGER := bun
29+
NODEJS_PACKAGE_MANAGER_COMMAND := bun
2730
else
2831
NODEJS_PACKAGE_MANAGER := npm
2932
NODEJS_PACKAGE_MANAGER_COMMAND := npm
@@ -77,11 +80,6 @@ ifeq ($(NODEJS_PACKAGE_MANAGER),yarn-berry)
7780
else
7881
NODEJS_INSTALL := yarn install
7982
endif
80-
# Yarn berry cache
81-
ifneq ($(call filter-false,$(CI)),)
82-
export YARN_CACHE_FOLDER ?= $(PROJECT_CACHE_PATH)/yarn
83-
export YARN_ENABLE_GLOBAL_CACHE ?= false
84-
endif
8583
else ifeq ($(NODEJS_PACKAGE_MANAGER),yarn)
8684
# Yarn
8785
NODEJS_RUN := yarn run
@@ -95,11 +93,6 @@ else ifeq ($(NODEJS_PACKAGE_MANAGER),yarn)
9593
else
9694
NODEJS_INSTALL := yarn install
9795
endif
98-
# Yarn cache
99-
ifneq ($(call filter-false,$(CI)),)
100-
export YARN_CACHE_FOLDER ?= $(PROJECT_CACHE_PATH)/yarn
101-
export YARN_ENABLE_GLOBAL_CACHE ?= false
102-
endif
10396
else ifeq ($(NODEJS_PACKAGE_MANAGER),pnpm)
10497
# PNPM
10598
NODEJS_RUN := pnpm run
@@ -113,11 +106,20 @@ else ifeq ($(NODEJS_PACKAGE_MANAGER),pnpm)
113106
else
114107
NODEJS_INSTALL := pnpm install --no-frozen-lockfile
115108
endif
116-
# PNPM cache
117-
ifneq ($(call filter-false,$(CI)),)
118-
PNPM_CONFIG_CACHE ?= $(PROJECT_CACHE_PATH)/pnpm
119-
endif
120109
export PNPM_CONFIG_CACHE
110+
else ifeq ($(NODEJS_PACKAGE_MANAGER),bun)
111+
# Bun
112+
NODEJS_RUN := bun run
113+
# Lockfile
114+
NODEJS_LOCKFILE := bun.lock bun.lockb
115+
# State file
116+
NODEJS_STATEFILE := node_modules/.bun.lock
117+
# Bun frozen mode
118+
ifneq ($(call filter-false,$(NODEJS_FROZEN)),)
119+
NODEJS_INSTALL := bun install --frozen-lockfile
120+
else
121+
NODEJS_INSTALL := bun install
122+
endif
121123
else
122124
# NPM should be used
123125
NODEJS_RUN := npm run
@@ -131,21 +133,9 @@ else
131133
else
132134
NODEJS_INSTALL := npm install
133135
endif
134-
# NPM cache
135-
ifneq ($(call filter-false,$(CI)),)
136-
NPM_CONFIG_CACHE ?= $(PROJECT_CACHE_PATH)/npm
137-
endif
138136
export NPM_CONFIG_CACHE
139137
endif
140138

141-
# Configure cypress cache folder (only for CI mode)
142-
ifeq ($(CYPRESS_CACHE_FOLDER),)
143-
ifneq ($(call filter-false,$(CI)),)
144-
CYPRESS_CACHE_FOLDER := $(PROJECT_CACHE_PATH)/cypress
145-
endif
146-
endif
147-
export CYPRESS_CACHE_FOLDER
148-
149139
# Create make cache directory
150140
$(NODEJS_CACHE_PATH):
151141
$(Q)${MKDIRP} $(NODEJS_CACHE_PATH)
@@ -170,7 +160,7 @@ node-dependencies: node-setup $(NODEJS_STATEFILE)
170160
#
171161
# Setup node
172162
#
173-
# This will install node and npm
163+
# This will install node and the configured package manager
174164
#
175165
.PHONY: node-setup
176166
node-setup: $(NODEJS_CACHE_PATH)/node-version
@@ -191,7 +181,7 @@ endif
191181
endif
192182

193183
# Try installing package manager
194-
ifneq ($(NODEJS_PACKAGE_MANAGER),npm)
184+
ifneq ($(filter $(NODEJS_PACKAGE_MANAGER),npm),)
195185
# Only for asdf we have to reshim after corepack
196186
$(Q)if ! $(NODEJS_PACKAGE_MANAGER_COMMAND) -v &>/dev/null; then \
197187
$(call log,info,"[NodeJS] Install $(NODEJS_PACKAGE_MANAGER)...",1); \

‎.modules/makefile-ci/template/Dockerfile‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@
7272
# - Procfile is used for startup
7373
#
7474

75-
ARG FROM_IMAGE=ubuntu:22.04@sha256:104ae83764a5119017b8e8d6218fa0832b09df65aae7d5a6de29a85d813da2fb
75+
ARG FROM_IMAGE=ubuntu:22.04@sha256:3ba65aa20f86a0fad9df2b2c259c613df006b2e6d0bfcc8a146afb8c525a9751
7676

7777
# Core dependencies (required for asdf)
7878
ARG APT_CORE_DEPENDENCIES="\

0 commit comments

Comments
 (0)