2021-08-25 01:33:02 +00:00
|
|
|
name: Test
|
|
|
|
|
|
|
|
on: [push, pull_request]
|
|
|
|
|
2022-05-27 00:32:28 +00:00
|
|
|
permissions:
|
|
|
|
contents: read
|
|
|
|
|
2021-08-25 01:33:02 +00:00
|
|
|
jobs:
|
|
|
|
|
|
|
|
test-posix:
|
|
|
|
name: Build and test on POSIX systems
|
|
|
|
runs-on: ${{ matrix.os }}
|
|
|
|
strategy:
|
|
|
|
matrix:
|
|
|
|
os: [ ubuntu-latest, macos-latest ]
|
|
|
|
steps:
|
|
|
|
- name: Checkout the repository
|
|
|
|
uses: actions/checkout@master
|
|
|
|
- name: Compile the project
|
|
|
|
run: make clean && make
|
|
|
|
- name: Test the project
|
|
|
|
run: make test
|
|
|
|
|
|
|
|
test-windows:
|
|
|
|
name: Build and test on Windows
|
|
|
|
runs-on: windows-latest
|
|
|
|
steps:
|
|
|
|
- name: Checkout the repository
|
|
|
|
uses: actions/checkout@master
|
|
|
|
- name: Setup MSVC
|
|
|
|
uses: ilammy/msvc-dev-cmd@v1
|
|
|
|
- name: Build the project
|
|
|
|
shell: cmd
|
|
|
|
run: build_win
|
|
|
|
- name: Test the project
|
|
|
|
shell: cmd
|
|
|
|
run: build_win test
|
2023-01-22 17:05:27 +00:00
|
|
|
|
|
|
|
test-mingw:
|
|
|
|
name: Build on Windows with Mingw (no test yet)
|
|
|
|
runs-on: windows-latest
|
|
|
|
defaults:
|
|
|
|
run:
|
|
|
|
shell: msys2 {0}
|
|
|
|
steps:
|
|
|
|
- name: Checkout the repository
|
|
|
|
uses: actions/checkout@master
|
|
|
|
- name: Setup Mingw
|
|
|
|
uses: msys2/setup-msys2@v2
|
|
|
|
with:
|
2023-01-22 17:21:28 +00:00
|
|
|
msystem: UCRT64
|
2023-01-22 17:05:27 +00:00
|
|
|
update: true
|
|
|
|
install: >-
|
|
|
|
base-devel
|
|
|
|
git
|
2023-01-22 17:21:28 +00:00
|
|
|
gcc
|
2023-01-22 17:05:27 +00:00
|
|
|
- name: Build the project
|
|
|
|
shell: cmd
|
2023-01-22 17:21:28 +00:00
|
|
|
run: make -j CC=gcc
|
2023-05-18 12:20:38 +00:00
|
|
|
|
|
|
|
test-mingw-linux:
|
|
|
|
name: Build and test with Mingw on Linux + Wine
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
|
|
- name: Checkout the repository
|
|
|
|
uses: actions/checkout@master
|
|
|
|
- name: Setup Mingw and wine
|
|
|
|
run: |
|
|
|
|
sudo dpkg --add-architecture i386
|
|
|
|
sudo apt-get update
|
|
|
|
sudo apt-get install libstdc++6:i386 libgcc-s1:i386
|
|
|
|
sudo apt-get install gcc-mingw-w64-x86-64-win32 wine wine32 wine64
|
|
|
|
- name: Compile the project
|
|
|
|
run: make clean && make CC=x86_64-w64-mingw32-gcc LD=x86_64-w64-mingw32-gcc UNAME=MINGW RUN=wine
|
|
|
|
- name: Test the project
|
|
|
|
run: make test UNAME=MINGW RUN=wine
|
2023-06-24 17:13:51 +00:00
|
|
|
|
|
|
|
test-arm-linux:
|
|
|
|
name: Build and test ARM32 cross compilation
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
|
|
- name: Checkout the repository
|
|
|
|
uses: actions/checkout@master
|
|
|
|
- name: Setup qemu and cross compiler
|
|
|
|
run: |
|
|
|
|
sudo apt-get update
|
|
|
|
sudo apt-get install gcc-arm-linux-gnueabi qemu-user
|
|
|
|
- name: Compile the project
|
|
|
|
run: make RUN="qemu-arm -L /usr/arm-linux-gnueabi/" CC=arm-linux-gnueabi-gcc LD=arm-linux-gnueabi-gcc
|
|
|
|
- name: Test the project
|
|
|
|
run: make RUN="qemu-arm -L /usr/arm-linux-gnueabi/" SUBRUN="qemu-arm -L /usr/arm-linux-gnueabi/" test
|