diff --git a/.github/actions/setup/directories/action.yml b/.github/actions/setup/directories/action.yml index 6b569d66ac7c8d..fe1741898ae513 100644 --- a/.github/actions/setup/directories/action.yml +++ b/.github/actions/setup/directories/action.yml @@ -104,7 +104,7 @@ runs: fetch-depth: ${{ inputs.fetch-depth }} persist-credentials: false - - uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5.0.3 + - uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4 with: path: ${{ inputs.srcdir }}/.downloaded-cache key: ${{ runner.os }}-${{ runner.arch }}-downloaded-cache diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 8ece56f86210b6..431581a0f21a2e 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -90,7 +90,7 @@ jobs: - name: Restore vcpkg artifact id: restore-vcpkg - uses: actions/cache/restore@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5.0.3 + uses: actions/cache/restore@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4 with: path: src\vcpkg_installed key: windows-${{ matrix.os }}-vcpkg-${{ hashFiles('src/vcpkg.json') }} @@ -102,7 +102,7 @@ jobs: if: ${{ ! steps.restore-vcpkg.outputs.cache-hit }} - name: Save vcpkg artifact - uses: actions/cache/save@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5.0.3 + uses: actions/cache/save@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4 with: path: src\vcpkg_installed key: windows-${{ matrix.os }}-vcpkg-${{ hashFiles('src/vcpkg.json') }} diff --git a/.github/workflows/zjit-macos.yml b/.github/workflows/zjit-macos.yml index eb86dd649c28a6..2db82efd2fc265 100644 --- a/.github/workflows/zjit-macos.yml +++ b/.github/workflows/zjit-macos.yml @@ -92,7 +92,7 @@ jobs: rustup install ${{ matrix.rust_version }} --profile minimal rustup default ${{ matrix.rust_version }} - - uses: taiki-e/install-action@94a7388bec5d4c8dd93e3ebf09e0ff448f3f6f4d # v2.68.35 + - uses: taiki-e/install-action@3a911424851a96b72dc168c8dd71fd98ed215d66 # v2.68.36 with: tool: nextest@0.9 if: ${{ matrix.test_task == 'zjit-check' }} diff --git a/.github/workflows/zjit-ubuntu.yml b/.github/workflows/zjit-ubuntu.yml index 44227f913624ee..e4a9842c5ad3c6 100644 --- a/.github/workflows/zjit-ubuntu.yml +++ b/.github/workflows/zjit-ubuntu.yml @@ -119,7 +119,7 @@ jobs: ruby-version: '3.1' bundler: none - - uses: taiki-e/install-action@94a7388bec5d4c8dd93e3ebf09e0ff448f3f6f4d # v2.68.35 + - uses: taiki-e/install-action@3a911424851a96b72dc168c8dd71fd98ed215d66 # v2.68.36 with: tool: nextest@0.9 if: ${{ matrix.test_task == 'zjit-check' }} diff --git a/common.mk b/common.mk index f4741d72206983..d8c4166714f450 100644 --- a/common.mk +++ b/common.mk @@ -1295,7 +1295,6 @@ preludes: {$(VPATH)}miniprelude.c {$(srcdir)}.rb.rbinc: $(ECHO) making $@ - -$(Q) $(MAKE) $(DUMP_AST_TARGET) $(Q) $(BASERUBY) $(tooldir)/mk_builtin_loader.rb $(DUMP_AST) $(SRC_FILE) $(BUILTIN_BINARY:yes=built)in_binary.rbbin: $(PREP) $(BUILTIN_RB_SRCS) $(srcdir)/template/builtin_binary.rbbin.tmpl @@ -1306,7 +1305,7 @@ $(BUILTIN_BINARY:yes=built)in_binary.rbbin: $(PREP) $(BUILTIN_RB_SRCS) $(srcdir) $(BUILTIN_BINARY:no=builtin)_binary.rbbin: $(Q) echo> $@ // empty $(@F) -$(BUILTIN_RB_INCS): $(tooldir)/mk_builtin_loader.rb +$(BUILTIN_RB_INCS): $(tooldir)/mk_builtin_loader.rb $(DUMP_AST_TARGET) dump_ast$(EXEEXT): $(tooldir)/dump_ast.c $(LIBPRISM_OBJS) $(ECHO) compiling $@ diff --git a/configure.ac b/configure.ac index b0bcdd3cf074e2..b9d465e0494d09 100644 --- a/configure.ac +++ b/configure.ac @@ -113,7 +113,7 @@ AC_SUBST(HAVE_BASERUBY) AC_ARG_WITH(dump-ast, AS_HELP_STRING([--with-dump-ast=DUMP_AST], [use DUMP_AST as dump_ast; for cross-compiling with a host-built dump_ast]), - [DUMP_AST=$withval DUMP_AST_TARGET=no], + [DUMP_AST=$withval DUMP_AST_TARGET='$(empty)'], [DUMP_AST='./dump_ast$(EXEEXT)' DUMP_AST_TARGET='$(DUMP_AST)']) AC_SUBST(X_DUMP_AST, "${DUMP_AST}") AC_SUBST(X_DUMP_AST_TARGET, "${DUMP_AST_TARGET}") diff --git a/defs/gmake.mk b/defs/gmake.mk index 2131d24631f714..718131e937a4ae 100644 --- a/defs/gmake.mk +++ b/defs/gmake.mk @@ -413,10 +413,6 @@ ifneq ($(DOT_WAIT),) up:: $(DOT_WAIT) after-update endif -ifneq ($(CC),false) -$(BUILTIN_RB_INCS): $(DUMP_AST) -endif - ifneq ($(filter update-bundled_gems refresh-gems,$(MAKECMDGOALS)),) update-gems: update-bundled_gems endif diff --git a/spec/bundler/spec_helper.rb b/spec/bundler/spec_helper.rb index 55953f09d42ff4..e4d34a11b6febf 100644 --- a/spec/bundler/spec_helper.rb +++ b/spec/bundler/spec_helper.rb @@ -59,6 +59,14 @@ add_filter "/bundler/tmp/" add_filter ".gemspec" end + + SimpleCov.print_error_status = false + SimpleCov.at_exit do + $stdout = File.open(File::NULL, "w") + SimpleCov.result.format! + ensure + $stdout = STDOUT + end rescue LoadError # SimpleCov is not installed end diff --git a/tool/mk_builtin_loader.rb b/tool/mk_builtin_loader.rb index 2965c651e9834b..a84f322e84df8f 100644 --- a/tool/mk_builtin_loader.rb +++ b/tool/mk_builtin_loader.rb @@ -398,12 +398,6 @@ def mk_builtin_header dump_ast, file end dump_ast = ARGV.shift -if !File.executable?(dump_ast) - # dump_ast may not be available during `make up` (CC=false). In that case, - # silently skip rbinc generation — the files will be generated during the - # actual build when CC is available and dump_ast has been compiled. - exit -end ARGV.each{|file| # feature.rb => load_feature.inc diff --git a/win32/Makefile.sub b/win32/Makefile.sub index b0ef0080f54d0b..e2d170ee47eb6f 100644 --- a/win32/Makefile.sub +++ b/win32/Makefile.sub @@ -559,7 +559,7 @@ ACTIONS_ENDGROUP = @:: ABI_VERSION_HDR = $(hdrdir)/ruby/internal/abi.h !if defined(DUMP_AST) -DUMP_AST_TARGET = no +DUMP_AST_TARGET = $(empty) !else DUMP_AST = dump_ast$(EXEEXT) DUMP_AST_TARGET = $(DUMP_AST) @@ -1409,6 +1409,20 @@ loadpath: verconf.h sed -e '1,/^const char ruby_initial_load_paths/d;/;/,$$d' \ -e '/^^ /!d;s/ *"\\\\0"$$//;s/" *"//g' +!if [exit > rbincs.mk] +!else if [for %I in ($(BUILTIN_RB_SRCS)) do \ + @for %J in (\ +"%~nI.rbinc: %I $$(tooldir)/mk_builtin_loader.rb $$(DUMP_AST_TARGET)" \ +" $$(ECHO) making $$@" \ +" $(Q) $(BASERUBY) $(tooldir)/mk_builtin_loader.rb $(DUMP_AST) %I" \ +"" \ +) do @echo.%~J>>rbincs.mk] +!else +! include rbincs.mk +! if [del rbincs.mk > nul] +! endif +!endif + RUBYSPEC_CAPIEXT_EXTS = !if [echo>rubyspec-capiext.mk RUBYSPEC_CAPIEXT_EXTS = \]