* .github/workflows/linux-ci.yml
* disabled global -Wno-error=... C compiler parameters
* set HB_BUILD_TEST="${{matrix.strictness}}" envvar
* .github/workflows/macos-ci.yml
* .github/workflows/vm2-ci.yml
* disabled global -Wno-error=... C compiler parameters
* set HB_BUILD_TEST="${{matrix.strictness}}" envvar
* reenabled hbfimage contrib library
* .github/workflows/windows-ci.yml
* reenabled hbfimage contrib library
103 lines
2.6 KiB
YAML
103 lines
2.6 KiB
YAML
name: macos-ci
|
|
|
|
on:
|
|
- push
|
|
- pull_request
|
|
|
|
jobs:
|
|
macos-ci:
|
|
runs-on: macos-latest
|
|
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
compiler:
|
|
- clang
|
|
- gcc
|
|
strictness:
|
|
- "normal"
|
|
- "strict"
|
|
|
|
steps:
|
|
|
|
- name: Configure environment
|
|
run: |
|
|
echo "Nothing to do for Macos"
|
|
|
|
- name: Install packages
|
|
run: |
|
|
brew install \
|
|
$(case ${{matrix.compiler }} in
|
|
(gcc) echo ${{matrix.compiler}} ;; esac) \
|
|
slang \
|
|
cairo \
|
|
freeimage \
|
|
libgd \
|
|
mysql \
|
|
postgresql \
|
|
qt5
|
|
|
|
- name: Checkout code
|
|
uses: actions/checkout@v3
|
|
with:
|
|
ref: ${{ github.event.client_payload.branch }}
|
|
|
|
- run: pwd
|
|
- run: ls
|
|
|
|
- name: Prepare ccache using action
|
|
uses: hendrikmuhs/ccache-action@v1.2.10
|
|
with:
|
|
key: macos-${{ matrix.cpu }}-${{ matrix.compiler }}-${{ matrix.strictness }}-ci
|
|
max-size: "32M"
|
|
|
|
- name: Configure build shell
|
|
run: |
|
|
set -ex
|
|
HB_USER_CFLAGS="-arch arm64 -arch x86_64"
|
|
HB_USER_LDFLAGS="-arch arm64 -arch x86_64"
|
|
case ${{matrix.strictness}} in
|
|
normal) ;;
|
|
strict) case ${{matrix.compiler}} in
|
|
(gcc) HB_USER_CFLAGS="$HB_USER_CFLAGS -Werror" ;;
|
|
(*) HB_USER_CFLAGS="$HB_USER_CFLAGS -Werror" ;;
|
|
esac ;;
|
|
esac
|
|
tee ./.bashrc <<EOENV
|
|
|
|
export HB_BUILD_TEST="${{matrix.strictness}}"
|
|
export HB_BUILD_VERBOSE="yes"
|
|
export HBMK_WITH_SQLITE3="local"
|
|
export HB_USER_CFLAGS="$HB_USER_CFLAGS"
|
|
export HB_USER_LDFLAGS="$HB_USER_LDFLAGS"
|
|
export HB_CCACHE=ccache
|
|
case ${{matrix.compiler}} in
|
|
gcc) latest_gcc="\$(cd /usr/local/bin && ls gcc-[1-9]* | sort -n | tail -1)"
|
|
export HB_CCSUFFIX="\${latest_gcc#gcc}" ;;
|
|
esac
|
|
EOENV
|
|
|
|
- name: Build Harbour
|
|
run: |
|
|
echo ::group::Build Harbour
|
|
set -ex
|
|
. ./.bashrc
|
|
make -j$(sysctl -n hw.ncpu) \
|
|
HB_BUILD_CONTRIBS=no \
|
|
HB_COMPILER=${{matrix.compiler}}
|
|
|
|
- name: Build contribs
|
|
run: |
|
|
echo ::group::Build contribs
|
|
set -ex
|
|
. ./.bashrc
|
|
make -j$(sysctl -n hw.ncpu) \
|
|
-C contrib \
|
|
HB_COMPILER=${{matrix.compiler}}
|
|
|
|
- name: Run tests
|
|
run: |
|
|
echo ::group::Run tests
|
|
set -ex
|
|
bin/darwin/${{matrix.compiler}}/hbtest
|