mirror of
https://github.com/ntop/n2n.git
synced 2024-09-19 16:41:11 +02:00
CI: build on Linux, Windows and MacOS via GitHubAction (#679)
* create GitHubAction to build via cmake on ubuntu make just with the assistant * GHA/cmake: build via matrix for different OS * build for Linux-x86, Linux-arm and MacOS * code taken from https://github.community/t/create-matrix-with-multiple-os-and-env-for-each-one/16895/6 * GHA: add a build on Windows
This commit is contained in:
parent
e36fac8f52
commit
90c2364b6d
64
.github/workflows/cmake-linux.yml
vendored
Normal file
64
.github/workflows/cmake-linux.yml
vendored
Normal file
|
@ -0,0 +1,64 @@
|
|||
name: CMake
|
||||
|
||||
on: [push]
|
||||
|
||||
env:
|
||||
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
|
||||
BUILD_TYPE: Release
|
||||
|
||||
jobs:
|
||||
build:
|
||||
# The CMake configure and build commands are platform agnostic and should work equally
|
||||
# well on Windows or Mac. You can convert this to a matrix build if you need
|
||||
# cross-platform coverage.
|
||||
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
matrix:
|
||||
include:
|
||||
- os: ubuntu-latest
|
||||
TARGET: x86_64-unknown-linux-musl
|
||||
COMPILER: gcc
|
||||
LINKER: gcc
|
||||
- os: ubuntu-latest
|
||||
TARGET: armv7-unknown-linux-musleabihf
|
||||
COMPILER: arm-linux-gnueabihf-gcc-5
|
||||
LINKER: gcc-5-arm-linux-gnueabihf
|
||||
- os: windows-latest
|
||||
COMPILER: cl
|
||||
LINKER: cl
|
||||
- os: macos-latest
|
||||
TARGET: x86_64-apple-darwin
|
||||
COMPILER: clang
|
||||
LINKER: clang
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Create Build Environment
|
||||
# Some projects don't allow in-source building, so create a separate build directory
|
||||
# We'll use this as our working directory for all subsequent commands
|
||||
run: cmake -E make_directory ${{github.workspace}}/build
|
||||
|
||||
- name: Configure CMake
|
||||
# Use a bash shell so we can use the same syntax for environment variable
|
||||
# access regardless of the host operating system
|
||||
shell: bash
|
||||
working-directory: ${{github.workspace}}/build
|
||||
# Note the current convention is to use the -S and -B options here to specify source
|
||||
# and build directories, but this is only available with CMake 3.13 and higher.
|
||||
# The CMake binaries on the Github Actions machines are (as of this writing) 3.12
|
||||
run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE
|
||||
|
||||
- name: Build
|
||||
working-directory: ${{github.workspace}}/build
|
||||
shell: bash
|
||||
# Execute the build. You can specify a specific target with "--target <NAME>"
|
||||
run: cmake --build . --config $BUILD_TYPE
|
||||
|
||||
- name: Test
|
||||
working-directory: ${{github.workspace}}/build
|
||||
shell: bash
|
||||
# Execute tests defined by the CMake configuration.
|
||||
# See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail
|
||||
run: ctest -C $BUILD_TYPE
|
Loading…
Reference in New Issue
Block a user