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:
Phil Krylov
2023-11-09 15:12:42 +01:00
committed by GitHub
parent a57a6c8d3e
commit deda6c73fa
4 changed files with 264 additions and 0 deletions

85
.github/workflows/linux-ci.yml vendored Normal file
View 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
View 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
View 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

View File

@@ -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