From 04094440c2c0f1275102d8306ec0945610230e2c Mon Sep 17 00:00:00 2001 From: Tronje Krop Date: Wed, 30 Oct 2024 16:48:54 +0100 Subject: [PATCH] fix: macos compatibility (#111) Signed-off-by: Tronje Krop --- .github/workflows/build.yaml | 28 +++++++++++++++++++++++++--- config/Makefile.base | 10 +++++----- 2 files changed, 30 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index fea9c11..71f68b0 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -62,11 +62,32 @@ jobs: version: 9 - name: Run Bash compatibility tests + run: |- + make --version; + make --file=config/Makefile.base --trace test-self; + + macos: + runs-on: macos-latest + steps: + # - name: Set up Docker + # uses: crazy-max/ghaction-setup-docker@v3 + + - name: Set up Go + uses: actions/setup-go@v5 + with: + go-version: 1.23.2 + + - name: Checkout code + uses: actions/checkout@v4 + + - name: Run MacOS compatibility tests + env: + BASH_COMPAT: 3.2 run: |- make --version - make --file=config/Makefile.base --trace test-self + make --file=config/Makefile.base test-self - macos: + macos-brew: runs-on: macos-latest steps: # - name: Set up Docker @@ -87,7 +108,8 @@ jobs: brew install make; export PATH="/opt/homebrew/opt/make/libexec/gnubin:${PATH}"; make --version; - make --file=config/Makefile.base --trace test-self + make --file=config/Makefile.base --trace test-self; + release: runs-on: ubuntu-latest diff --git a/config/Makefile.base b/config/Makefile.base index 26ec690..2bd5d78 100644 --- a/config/Makefile.base +++ b/config/Makefile.base @@ -2,10 +2,9 @@ SHELL := /bin/bash # Setup variables for special purposes. -NULL := COMMA := , -SPACE := $(NULL) $(NULL) -TAB := $(NULL) $(NULL) +SPACE := $(SPACE) $(SPACE) +TAB := $(TAB) $(TAB) define NEWLINE @@ -46,7 +45,6 @@ endif # System depdendent helper functions. ifeq ("$(shell uname)","Linux") - MAKESHELL := PATH=$(PATH) /bin/bash else ifeq ($(shell uname),Darwin) path-setup = $(shell \ if [ "$(1)" == "opt" ]; then \ @@ -62,7 +60,9 @@ else ifeq ($(shell uname),Darwin) export PATH := $(call path-setup,opt,gsed,sed,$(PATH)) export PATH := $(call path-setup,opt,make,make,$(PATH)) # Ensure export of path to $(shell ...) in gmake 3.81. - MAKESHELL := PATH=$(PATH) /bin/bash + ifeq (3.81,$(MAKE_VERSION)) + export SHELL := PATH="$(PATH)" $(shell brew --prefix)/bin/bash + endif else $(call cerror,unsupported operating system [$(shell uname --all)]) endif