diff options
| author | cyan <cyjan@mrcyjanek.net> | 2025-07-11 06:27:24 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-07-11 06:27:24 +0200 |
| commit | 88ecdd81304b2f42983f5b64f727fb20d78c8efa (patch) | |
| tree | b99e846aadb5d571f8ab63841b79acd8865cd7a3 /contrib/depends/Makefile | |
| parent | a27fbcb24d91143715ed930a05aaa4d853fba1f2 (diff) | |
feat: jenkins CI initial (#142)
* feat: jenkins CI initial
* feat: publish over SSH
* feat: more details regarding build-id generation
* feat: prebuild download logic
* feat: force fast_builds on GitHub CI runs
* feat: add make clean to contrib/depends and invoke it on CI to reduce SSH upload step time
* fix: correct linux save path
* revert: make clean
* separate builds
* enhance sshPublisher
* fix: github CI: depracate GitHub cache, fix DEPENDS_UNTRUSTED_FAST_BUILDS
* fix: sha256sum logic
* chore: refactor github actions and Jenkinsfile to only execute when required
* ci: update ci to 15 and xcode to 16.4
* ci: cleanup builddir before starting
Diffstat (limited to 'contrib/depends/Makefile')
| -rw-r--r-- | contrib/depends/Makefile | 50 |
1 files changed, 38 insertions, 12 deletions
diff --git a/contrib/depends/Makefile b/contrib/depends/Makefile index dd357c8..7e9f0f4 100644 --- a/contrib/depends/Makefile +++ b/contrib/depends/Makefile @@ -13,6 +13,17 @@ DOWNLOAD_CONNECT_TIMEOUT:=30 DOWNLOAD_RETRIES:=5 HOST_ID_SALT ?= salt BUILD_ID_SALT ?= salt + +DEPENDS_UNTRUSTED_FAST_BUILDS ?= +PREBUILT_BASE_URL ?= https://static.mrcyjanek.net/lfs/depends/contrib/depends/built +ifneq ($(DEPENDS_UNTRUSTED_FAST_BUILDS),) +ifneq ($(DEPENDS_UNTRUSTED_FAST_BUILDS),yes) +ifneq ($(DEPENDS_UNTRUSTED_FAST_BUILDS),forced) +$(error DEPENDS_UNTRUSTED_FAST_BUILDS must be empty, "yes", or "forced", got "$(DEPENDS_UNTRUSTED_FAST_BUILDS)") +endif +endif +endif + # Detect the number of CPU cores ifeq ($(shell uname), Darwin) NUM_CORES := $(shell sysctl -n hw.ncpu) @@ -110,19 +121,34 @@ include builders/$(build_os).mk include builders/default.mk include packages/packages.mk +# Legacy build ID strings (kept for debugging info) +build_id_string_legacy:=$(BUILD_ID_SALT) +build_id_string_legacy+=$(shell $(build_CC) --version 2>/dev/null) +build_id_string_legacy+=$(shell $(build_AR) --version 2>/dev/null) +build_id_string_legacy+=$(shell $(build_CXX) --version 2>/dev/null) +build_id_string_legacy+=$(shell $(build_RANLIB) --version 2>/dev/null) +build_id_string_legacy+=$(shell $(build_STRIP) --version 2>/dev/null) + +$(host_arch)_$(host_os)_id_string_legacy:=$(HOST_ID_SALT) +$(host_arch)_$(host_os)_id_string_legacy+=$(shell $(host_CC) --version 2>/dev/null) +$(host_arch)_$(host_os)_id_string_legacy+=$(shell $(host_AR) --version 2>/dev/null) +$(host_arch)_$(host_os)_id_string_legacy+=$(shell $(host_CXX) --version 2>/dev/null) +$(host_arch)_$(host_os)_id_string_legacy+=$(shell $(host_RANLIB) --version 2>/dev/null) +$(host_arch)_$(host_os)_id_string_legacy+=$(shell $(host_STRIP) --version 2>/dev/null) + build_id_string:=$(BUILD_ID_SALT) -build_id_string+=$(shell $(build_CC) --version 2>/dev/null) -build_id_string+=$(shell $(build_AR) --version 2>/dev/null) -build_id_string+=$(shell $(build_CXX) --version 2>/dev/null) -build_id_string+=$(shell $(build_RANLIB) --version 2>/dev/null) -build_id_string+=$(shell $(build_STRIP) --version 2>/dev/null) +build_id_string+=$(shell basename $(build_CC) 2>/dev/null || echo "unknown") +build_id_string+=$(shell basename $(build_AR) 2>/dev/null || echo "unknown") +build_id_string+=$(shell basename $(build_CXX) 2>/dev/null || echo "unknown") +build_id_string+=$(shell basename $(build_RANLIB) 2>/dev/null || echo "unknown") +build_id_string+=$(shell basename $(build_STRIP) 2>/dev/null || echo "unknown") $(host_arch)_$(host_os)_id_string:=$(HOST_ID_SALT) -$(host_arch)_$(host_os)_id_string+=$(shell $(host_CC) --version 2>/dev/null) -$(host_arch)_$(host_os)_id_string+=$(shell $(host_AR) --version 2>/dev/null) -$(host_arch)_$(host_os)_id_string+=$(shell $(host_CXX) --version 2>/dev/null) -$(host_arch)_$(host_os)_id_string+=$(shell $(host_RANLIB) --version 2>/dev/null) -$(host_arch)_$(host_os)_id_string+=$(shell $(host_STRIP) --version 2>/dev/null) +$(host_arch)_$(host_os)_id_string+=$(shell basename $(host_CC) 2>/dev/null || echo "unknown") +$(host_arch)_$(host_os)_id_string+=$(shell basename $(host_AR) 2>/dev/null || echo "unknown") +$(host_arch)_$(host_os)_id_string+=$(shell basename $(host_CXX) 2>/dev/null || echo "unknown") +$(host_arch)_$(host_os)_id_string+=$(shell basename $(host_RANLIB) 2>/dev/null || echo "unknown") +$(host_arch)_$(host_os)_id_string+=$(shell basename $(host_STRIP) 2>/dev/null || echo "unknown") packages += $($(host_arch)_$(host_os)_packages) $($(host_os)_packages) native_packages += $($(host_arch)_$(host_os)_native_packages) $($(host_os)_native_packages) @@ -204,8 +230,8 @@ $(host_prefix)/share/toolchain.cmake : toolchain.cmake.in $(host_prefix)/.stamp_ define check_or_remove_cached mkdir -p $(BASE_CACHE)/$(host)/$(package) && cd $(BASE_CACHE)/$(host)/$(package); \ $(build_SHA256SUM) -c $($(package)_cached_checksum) >/dev/null 2>/dev/null || \ - ( rm -f $($(package)_cached_checksum); \ - if test -f "$($(package)_cached)"; then echo "Checksum mismatch for $(package). Forcing rebuild.."; rm -f $($(package)_cached_checksum) $($(package)_cached); fi ) + ( rm -f $($(package)_cached_checksum) $($(package)_cached_buildinfo); \ + if test -f "$($(package)_cached)"; then echo "Checksum mismatch for $(package). Forcing rebuild.."; rm -f $($(package)_cached_checksum) $($(package)_cached) $($(package)_cached_buildinfo); fi ) endef define check_or_remove_sources |
