2023-11-09 15:07 UTC+0100 Phil Krylov (phil a t krylov.eu) (#336)
* .github/workflows/linux-ci.yml
* .github/workflows/macos-ci.yml
* .github/workflows/windows-ci.yml
+ Added GitHub Actions CI workflows.
This commit is contained in:
85
.github/workflows/linux-ci.yml
vendored
Normal file
85
.github/workflows/linux-ci.yml
vendored
Normal file
@@ -0,0 +1,85 @@
|
||||
name: linux-ci
|
||||
|
||||
on:
|
||||
- push
|
||||
- pull_request
|
||||
|
||||
jobs:
|
||||
build-ubuntu:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os:
|
||||
- ubuntu
|
||||
compiler:
|
||||
- clang
|
||||
- gcc
|
||||
strictness:
|
||||
- "normal"
|
||||
- "strict"
|
||||
|
||||
steps:
|
||||
- name: Configure environment
|
||||
run: |
|
||||
{
|
||||
HB_USER_CFLAGS=""
|
||||
HB_USER_LDFLAGS=""
|
||||
case ${{matrix.strictness}} in
|
||||
normal) ;;
|
||||
strict) HB_USER_CFLAGS="$HB_USER_CFLAGS -Werror" ;;
|
||||
esac
|
||||
echo HB_BUILD_VERBOSE="yes"
|
||||
echo HB_USER_CFLAGS="$HB_USER_CFLAGS"
|
||||
echo HB_USER_LDFLAGS="$HB_USER_LDFLAGS"
|
||||
} >> $GITHUB_ENV
|
||||
tee -a $GITHUB_PATH <<EOPATH
|
||||
/usr/lib/ccache
|
||||
/usr/local/opt/ccache/libexec
|
||||
EOPATH
|
||||
|
||||
- name: Install packages
|
||||
run: |
|
||||
sudo apt-get install -qq \
|
||||
libncurses-dev \
|
||||
libslang2-dev \
|
||||
libx11-dev \
|
||||
libgpm-dev \
|
||||
liballegro4.2-dev \
|
||||
libcairo2-dev \
|
||||
libcups2-dev \
|
||||
libcurl4-openssl-dev \
|
||||
firebird-dev \
|
||||
libfreeimage-dev \
|
||||
libgd-dev \
|
||||
libgs-dev \
|
||||
libmagic-dev \
|
||||
libmysqlclient-dev \
|
||||
unixodbc-dev \
|
||||
libpq-dev \
|
||||
qtbase5-dev
|
||||
|
||||
- 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: ${{ matrix.os }}-${{ matrix.compiler }}-${{ matrix.strictness }}-ci
|
||||
max-size: "32M"
|
||||
|
||||
- name: Compile Harbour
|
||||
run: |
|
||||
make \
|
||||
HB_COMPILER=${{matrix.compiler}} \
|
||||
-j$(nproc)
|
||||
|
||||
- name: Run tests
|
||||
run: |
|
||||
bin/linux/${{matrix.compiler}}/hbtest
|
||||
76
.github/workflows/macos-ci.yml
vendored
Normal file
76
.github/workflows/macos-ci.yml
vendored
Normal file
@@ -0,0 +1,76 @@
|
||||
name: macos-ci
|
||||
|
||||
on:
|
||||
- push
|
||||
- pull_request
|
||||
|
||||
jobs:
|
||||
build-macos:
|
||||
runs-on: macos-latest
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os:
|
||||
- macos
|
||||
compiler:
|
||||
- clang
|
||||
- gcc
|
||||
strictness:
|
||||
- "normal"
|
||||
- "strict"
|
||||
|
||||
steps:
|
||||
- name: Configure environment
|
||||
run: |
|
||||
{
|
||||
HB_USER_CFLAGS="-arch arm64 -arch x86_64"
|
||||
HB_USER_LDFLAGS="-arch arm64 -arch x86_64"
|
||||
case ${{matrix.strictness}} in
|
||||
normal) ;;
|
||||
strict) HB_USER_CFLAGS="$HB_USER_CFLAGS -Werror" ;;
|
||||
esac
|
||||
echo HB_BUILD_VERBOSE="yes"
|
||||
echo HB_USER_CFLAGS="$HB_USER_CFLAGS"
|
||||
echo HB_USER_LDFLAGS="$HB_USER_LDFLAGS"
|
||||
echo HB_BUILD_CONTRIBS="no hbfimage" # incompatible with freeimage 3.18+
|
||||
} >> $GITHUB_ENV
|
||||
tee -a $GITHUB_PATH <<EOPATH
|
||||
/usr/lib/ccache
|
||||
/usr/local/opt/ccache/libexec
|
||||
EOPATH
|
||||
|
||||
- name: Install packages
|
||||
run: |
|
||||
brew install \
|
||||
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: ${{ matrix.os }}-${{ matrix.cpu }}-${{ matrix.compiler }}-${{ matrix.strictness }}-ci
|
||||
max-size: "32M"
|
||||
|
||||
- name: Compile Harbour
|
||||
run: |
|
||||
make \
|
||||
HB_COMPILER=${{matrix.compiler}} \
|
||||
-j$(nproc)
|
||||
|
||||
- name: Run tests
|
||||
run: |
|
||||
bin/darwin/${{matrix.compiler}}/hbtest
|
||||
97
.github/workflows/windows-ci.yml
vendored
Normal file
97
.github/workflows/windows-ci.yml
vendored
Normal file
@@ -0,0 +1,97 @@
|
||||
name: windows-ci
|
||||
|
||||
on:
|
||||
- push
|
||||
- pull_request
|
||||
|
||||
jobs:
|
||||
build-windows:
|
||||
runs-on: windows-latest
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os:
|
||||
- windows
|
||||
compiler:
|
||||
- mingw64
|
||||
cpu:
|
||||
- x86
|
||||
- x86_64
|
||||
strictness:
|
||||
- "normal"
|
||||
- "strict"
|
||||
|
||||
steps:
|
||||
- name: Configure environment
|
||||
shell: bash
|
||||
run: |
|
||||
{
|
||||
HB_USER_CFLAGS=""
|
||||
HB_USER_LDFLAGS=""
|
||||
case ${{matrix.strictness}} in
|
||||
normal) ;;
|
||||
strict) HB_USER_CFLAGS="$HB_USER_CFLAGS -Werror" ;;
|
||||
esac
|
||||
echo HB_BUILD_VERBOSE="yes"
|
||||
echo HB_USER_CFLAGS="$HB_USER_CFLAGS"
|
||||
echo HB_USER_LDFLAGS="$HB_USER_LDFLAGS"
|
||||
case ${{matrix.cpu}} in
|
||||
(x86) echo MINGWxx="MINGW32"
|
||||
echo "msys_cpu=i686" ;;
|
||||
(x86_64) echo MINGWxx="MINGW64"
|
||||
echo "msys_cpu=${{matrix.cpu}}" ;;
|
||||
esac
|
||||
} >> $GITHUB_ENV
|
||||
tee -a $GITHUB_PATH <<EOPATH
|
||||
/mingw64/lib/ccache/bin
|
||||
EOPATH
|
||||
|
||||
- name: Install packages
|
||||
uses: msys2/setup-msys2@v2
|
||||
with:
|
||||
msystem: ${{ env.MINGWxx }}
|
||||
location: d:/
|
||||
install: >
|
||||
mingw-w64-${{ env.msys_cpu }}-ccache
|
||||
mingw-w64-${{ env.msys_cpu }}-gcc
|
||||
mingw-w64-${{ env.msys_cpu }}-make
|
||||
mingw-w64-${{ env.msys_cpu }}-allegro
|
||||
mingw-w64-${{ env.msys_cpu }}-bzip2
|
||||
mingw-w64-${{ env.msys_cpu }}-cairo
|
||||
mingw-w64-${{ env.msys_cpu }}-curl
|
||||
mingw-w64-${{ env.msys_cpu }}-firebird2-git
|
||||
mingw-w64-${{ env.msys_cpu }}-freeimage
|
||||
mingw-w64-${{ env.msys_cpu }}-libgd
|
||||
mingw-w64-${{ env.msys_cpu }}-ghostscript
|
||||
mingw-w64-${{ env.msys_cpu }}-libmariadbclient
|
||||
mingw-w64-${{ env.msys_cpu }}-openssl
|
||||
mingw-w64-${{ env.msys_cpu }}-postgresql
|
||||
mingw-w64-${{ env.msys_cpu }}-qt5-base
|
||||
|
||||
- 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: ${{ matrix.os }}-${{ matrix.cpu }}-${{ matrix.compiler }}-${{ matrix.strictness }}-ci
|
||||
max-size: "32M"
|
||||
|
||||
- name: Compile Harbour
|
||||
shell: msys2 {0}
|
||||
run: |
|
||||
mingw32-make.exe \
|
||||
HB_COMPILER=${{matrix.compiler}} \
|
||||
HB_CPU=${{matrix.cpu}} \
|
||||
-j2
|
||||
|
||||
- name: Run tests
|
||||
shell: msys2 {0}
|
||||
run: |
|
||||
bin/win/${{matrix.compiler}}/hbtest.exe
|
||||
@@ -7,6 +7,12 @@
|
||||
Entries may not always be in chronological/commit order.
|
||||
See license at the end of file. */
|
||||
|
||||
2023-11-09 15:07 UTC+0100 Phil Krylov (phil a t krylov.eu)
|
||||
* .github/workflows/linux-ci.yml
|
||||
* .github/workflows/macos-ci.yml
|
||||
* .github/workflows/windows-ci.yml
|
||||
+ Added GitHub Actions CI workflows.
|
||||
|
||||
2023-10-29 14:27 UTC+0100 Enrico Maria Giordano (e.m.giordano@emagsoftware.it)
|
||||
* contrib/hbssl/hbssl.hbp
|
||||
! added support for Openssl 3
|
||||
|
||||
Reference in New Issue
Block a user