diff --git a/.github/workflows/extensions.yml b/.github/workflows/extensions.yml index b5ad2afe..44694d19 100644 --- a/.github/workflows/extensions.yml +++ b/.github/workflows/extensions.yml @@ -57,9 +57,15 @@ jobs: if: runner.os != 'Windows' run: | for attempt in {1..3}; do - git pull --rebase && git push && break || sleep 5 + git pull --rebase && git push && exit 0 || { + echo "Attempt $attempt failed. Retrying in 5 seconds..." + sleep 5 + } done + echo "Failed to push changes after 3 attempts." + exit 1 + - name: Push files (Windows) if: runner.os == 'Windows' run: git pull --rebase && git push diff --git a/extensions/Makefile b/extensions/Makefile index 6d31c487..618d1e74 100644 --- a/extensions/Makefile +++ b/extensions/Makefile @@ -4,10 +4,8 @@ OUTPUT := ifeq ($(OS),Windows_NT) OUTPUT = lib/noattach.dll - CCFLAGS = -shared else UNAME := $(shell uname) - CCFLAGS = -fPIC -Os -shared ifeq ($(UNAME),Darwin) ifeq ($(shell uname -m),arm64) OUTPUT = lib/arm/noattach.dylib @@ -32,5 +30,9 @@ headers: cp sqlite-amalgamation-3470200/*.h . $(OUTPUT): noattach.c +ifeq ($(OS),Windows_NT) + cl /LD /Fe:$(OUTPUT) $< +else # We don't link against libsqlite3 since PHP statically links its own libsqlite3. - $(CC) $(CCFLAGS) -o $@ $< + $(CC) -fPIC -Os -shared -o $@ $< +endif