Replace the poco semaphore with C++11 mutex/lock. #69
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build, run test and upload binaries | |
on: [push, pull_request] | |
jobs: | |
linux-x86-clang: | |
runs-on: "ubuntu-20.04" | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Get current date | |
id: date | |
run: echo "::set-output name=date::$(date +'%Y-%m-%dT%H%M')" | |
- name: Install build dependencies | |
run: sudo apt -y update && sudo apt -y install libpcap-dev libsdl-dev netcat-openbsd | |
- name: Create build environment | |
run: cmake -E make_directory ${{runner.workspace}}/build | |
- name: Configure CMake | |
shell: bash | |
working-directory: ${{runner.workspace}}/build | |
run: cmake $GITHUB_WORKSPACE -DCMAKE_C_COMPILER="clang" -DCMAKE_CXX_COMPILER="clang++" -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-Wall" | |
- name: Build | |
working-directory: ${{runner.workspace}}/build | |
shell: bash | |
run: cmake --build . --config Release | |
env: | |
MAKEFLAGS: "-j2" | |
- name: Run test scripts | |
working-directory: ${{runner.workspace}}/axpbox | |
shell: bash | |
run: ${{runner.workspace}}/axpbox/test/run | |
- name: Upload AXPbox binary | |
uses: actions/upload-artifact@v1 | |
with: | |
name: AXPbox-linux-x86-clang-${{ env.BUILD_DATE }} | |
path: ${{runner.workspace}}/build/axpbox | |
env: | |
BUILD_DATE: ${{ steps.date.outputs.date }} | |
linux-x86-gcc: | |
runs-on: "ubuntu-20.04" | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Get current date | |
id: date | |
run: echo "::set-output name=date::$(date +'%Y-%m-%dT%H%M')" | |
- name: Install build dependencies | |
run: sudo apt -y update && sudo apt -y install libpcap-dev libsdl-dev netcat-openbsd | |
- name: Create build environment | |
run: cmake -E make_directory ${{runner.workspace}}/build | |
- name: Configure CMake | |
shell: bash | |
working-directory: ${{runner.workspace}}/build | |
run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-Wall" | |
- name: Build | |
working-directory: ${{runner.workspace}}/build | |
shell: bash | |
run: cmake --build . --config Release | |
env: | |
MAKEFLAGS: "-j2" | |
- name: Run test scripts | |
working-directory: ${{runner.workspace}}/axpbox | |
shell: bash | |
run: ${{runner.workspace}}/axpbox/test/run | |
- name: Upload AXPbox binary | |
uses: actions/upload-artifact@v1 | |
with: | |
name: AXPbox-linux-x86-gcc-${{ env.BUILD_DATE }} | |
path: ${{runner.workspace}}/build/axpbox | |
env: | |
BUILD_DATE: ${{ steps.date.outputs.date }} | |
linux-arm-gcc-crosscompile: | |
runs-on: "ubuntu-20.04" | |
continue-on-error: true | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Get current date | |
id: date | |
run: echo "::set-output name=date::$(date +'%Y-%m-%dT%H%M')" | |
- name: Install build dependencies | |
run: sudo apt -y update && sudo apt -y install netcat-openbsd qemu-user-binfmt qemu-user g++-multilib-arm-linux-gnueabihf gcc-arm-linux-gnueabihf | |
- name: Create build environment | |
run: cmake -E make_directory ${{runner.workspace}}/build | |
- name: Configure CMake | |
shell: bash | |
working-directory: ${{runner.workspace}}/build | |
run: cmake $GITHUB_WORKSPACE -DSTATIC_COMPILE=yes -DDISABLE_PCAP=yes -DDISABLE_SDL=yes -DDISABLE_X11=yes -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-Wall" -DCMAKE_C_COMPILER="arm-linux-gnueabihf-gcc-9" -DCMAKE_CXX_COMPILER="arm-linux-gnueabihf-g++-9" -DCMAKE_CXX_FLAGS="-O3 -march=armv7ve" | |
- name: Build | |
working-directory: ${{runner.workspace}}/build | |
shell: bash | |
run: cmake --build . --config Release | |
env: | |
MAKEFLAGS: "-j2" | |
- name: Binary info | |
working-directory: ${{runner.workspace}}/axpbox | |
shell: bash | |
run: file ${{runner.workspace}}/build/axpbox | |
- name: Run test scripts | |
working-directory: ${{runner.workspace}}/axpbox | |
shell: bash | |
run: ${{runner.workspace}}/axpbox/test/run | |
- name: Upload AXPbox binary | |
uses: actions/upload-artifact@v1 | |
with: | |
name: AXPbox-linux-ARM-gcc-${{ env.BUILD_DATE }} | |
path: ${{runner.workspace}}/build/axpbox | |
env: | |
BUILD_DATE: ${{ steps.date.outputs.date }} | |
windows-x86-msvc: | |
runs-on: windows-2019 | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Get current date | |
id: date | |
run: echo "::set-output name=date::$(date +'%Y-%m-%dT%H%M')" | |
- name: Create build environment | |
run: cmake -E make_directory ${{runner.workspace}}/build | |
- name: Configure CMake | |
shell: bash | |
working-directory: ${{runner.workspace}}/build | |
run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=Release | |
- name: Build | |
working-directory: ${{runner.workspace}}/build | |
shell: bash | |
run: cmake --build . --config Release | |
env: | |
MAKEFLAGS: "-j2" | |
- name: Test run | |
working-directory: ${{runner.workspace}}/build | |
run: ${{runner.workspace}}\build\Release\axpbox.exe | |
- name: Upload AXPbox Binary | |
uses: actions/upload-artifact@v1 | |
with: | |
name: AXPbox-windows-x86-msvc-${{ env.BUILD_DATE }}.exe | |
path: ${{runner.workspace}}\build\Release\axpbox.exe | |
env: | |
BUILD_DATE: ${{ steps.date.outputs.date }} | |
osx-x86-appleclang: | |
runs-on: "macos-12" | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Get current date | |
id: date | |
run: echo "::set-output name=date::$(date +'%Y-%m-%dT%H%M')" | |
- name: Create build environment | |
run: cmake -E make_directory ${{runner.workspace}}/build | |
- name: Install dependencies | |
run: brew install libpcap netcat gnu-sed # sdl2 libx11 / sdl doesnt work see #44 | |
- name: Configure CMake | |
shell: bash | |
working-directory: ${{runner.workspace}}/build | |
run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-Wall -std=c++11 -stdlib=libc++ -I/usr/local/opt/libpcap/include" | |
- name: Build | |
working-directory: ${{runner.workspace}}/build | |
shell: bash | |
run: cmake --build . --config Release | |
env: | |
MAKEFLAGS: "-j2" | |
- name: Upload AXPbox Binary | |
uses: actions/upload-artifact@v1 | |
with: | |
name: AXPbox-osx-x86-12-appleclang-${{ env.BUILD_DATE }} | |
path: ${{runner.workspace}}/build/axpbox | |
env: | |
BUILD_DATE: ${{ steps.date.outputs.date }} | |