Improve documentation, configure and CI(#31)
- update **scandoc** tool - start manual framework in qe-manual.c - build qe-manual.md as a default target - add more targets: linux-32bits, linux-390x, NetBSD, OpenBSD - fix FreeBSD target: define `host_cc` - test for `bwapxx` macros - test for `clang` / `gcc` / `tcc` compiler presence - handle non standard `which` utility
This commit is contained in:
parent
e2116cbdae
commit
ea6a70963e
9 changed files with 795 additions and 128 deletions
147
.github/workflows/ci.yml
vendored
147
.github/workflows/ci.yml
vendored
|
|
@ -19,30 +19,128 @@ jobs:
|
|||
fail-fast: false
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: true
|
||||
- name: Build
|
||||
- name: build
|
||||
run: |
|
||||
./configure
|
||||
make -j$(getconf _NPROCESSORS_ONLN)
|
||||
|
||||
macos:
|
||||
name: macOS
|
||||
runs-on: macos-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
linux-32bits:
|
||||
name: Linux 32-bits
|
||||
runs-on: ubuntu-latest
|
||||
defaults:
|
||||
run:
|
||||
shell: alpine.sh {0}
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Build
|
||||
- uses: jirutka/setup-alpine@v1
|
||||
with:
|
||||
arch: x86
|
||||
packages: "build-base make"
|
||||
- name: build
|
||||
run: |
|
||||
./configure
|
||||
make CONFIG_32BIT=y
|
||||
|
||||
linux-s390x:
|
||||
runs-on: ubuntu-latest
|
||||
defaults:
|
||||
run:
|
||||
shell: alpine.sh {0}
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: jirutka/setup-alpine@v1
|
||||
with:
|
||||
arch: s390x
|
||||
packages: "build-base make"
|
||||
- name: build
|
||||
run: |
|
||||
./configure
|
||||
make
|
||||
|
||||
macos:
|
||||
name: macOS
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [macos-12, macos-14]
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: build
|
||||
run: |
|
||||
./configure
|
||||
make -j$(getconf _NPROCESSORS_ONLN)
|
||||
|
||||
# windows-mingw:
|
||||
# runs-on: windows-latest
|
||||
# strategy:
|
||||
# fail-fast: false
|
||||
# matrix:
|
||||
# sys:
|
||||
# - mingw32
|
||||
# - mingw64
|
||||
# - clang64
|
||||
# - ucrt64
|
||||
# defaults:
|
||||
# run:
|
||||
# shell: msys2 {0}
|
||||
# steps:
|
||||
# - uses: actions/checkout@v4
|
||||
# - name: Setup MSYS2
|
||||
# uses: msys2/setup-msys2@v2
|
||||
# with:
|
||||
# msystem: ${{matrix.sys}}
|
||||
# install: >-
|
||||
# git
|
||||
# make
|
||||
# pacboy: >-
|
||||
# ninja:p
|
||||
# toolchain:p
|
||||
# - name: build
|
||||
# run: |
|
||||
# ./configure
|
||||
# make
|
||||
#
|
||||
# cygwin:
|
||||
# runs-on: windows-latest
|
||||
# defaults:
|
||||
# run:
|
||||
# shell: C:\cygwin\bin\bash.exe --login --norc -eo pipefail -o igncr '{0}'
|
||||
# env:
|
||||
# CYGWIN_NOWINPATH: 1
|
||||
# CHERE_INVOKING: 1
|
||||
# steps:
|
||||
# - name: Set up Cygwin
|
||||
# uses: cygwin/cygwin-install-action@master
|
||||
# with:
|
||||
# packages: make gcc-g++ bash
|
||||
#
|
||||
# - uses: actions/checkout@v4
|
||||
#
|
||||
# - name: build
|
||||
# run: |
|
||||
# ./configure
|
||||
# make
|
||||
|
||||
openbsd:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: build
|
||||
uses: vmactions/openbsd-vm@v1
|
||||
with:
|
||||
usesh: true
|
||||
prepare: |
|
||||
pkg_add gmake
|
||||
run: |
|
||||
./configure
|
||||
gmake MAKE=gmake
|
||||
|
||||
freebsd:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Build + test
|
||||
- name: build
|
||||
uses: vmactions/freebsd-vm@v1
|
||||
with:
|
||||
usesh: true
|
||||
|
|
@ -50,27 +148,18 @@ jobs:
|
|||
pkg install -y gmake
|
||||
run: |
|
||||
./configure
|
||||
gmake
|
||||
gmake MAKE=gmake
|
||||
|
||||
qemu-alpine:
|
||||
netbsd:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
platform:
|
||||
- i386
|
||||
- arm32v6
|
||||
- arm32v7
|
||||
- arm64v8
|
||||
- s390x
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: build
|
||||
uses: vmactions/netbsd-vm@v1
|
||||
with:
|
||||
submodules: recursive
|
||||
- name: Get qemu
|
||||
run: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
|
||||
- name: Run tests on ${{ matrix.platform }}
|
||||
run: docker run --rm --interactive --mount type=bind,source=$(pwd),target=/host ${{ matrix.platform }}/alpine sh -c "apk add git patch make gcc libc-dev && cd /host && ./configure && make"
|
||||
|
||||
usesh: true
|
||||
prepare: |
|
||||
/usr/sbin/pkg_add gmake
|
||||
run: |
|
||||
./configure
|
||||
gmake MAKE=gmake
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue