Add dockcross builder in CI
Add dockcross builder in CI Signed-off-by: Bensuperpc <bensuperpc@gmail.com>
This commit is contained in:
parent
812733cc96
commit
43c93fb9bc
201
.github/workflows/dockcross.yml
vendored
Normal file
201
.github/workflows/dockcross.yml
vendored
Normal file
@ -0,0 +1,201 @@
|
||||
name: Dockcross CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- "*"
|
||||
paths-ignore:
|
||||
- "**.md"
|
||||
pull_request:
|
||||
branches:
|
||||
- "*"
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: dockcross ${{ matrix.dockcross.image_name }} ${{ matrix.build_type }}
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
dockcross:
|
||||
# Android images
|
||||
- { image_name: android-arm, cmake_arg: "-DCMAKE_CXX_STANDARD=17" }
|
||||
- { image_name: android-arm64, cmake_arg: "-DCMAKE_CXX_STANDARD=17" }
|
||||
- { image_name: android-x86, cmake_arg: "-DCMAKE_CXX_STANDARD=17" }
|
||||
- { image_name: android-x86_64, cmake_arg: "-DCMAKE_CXX_STANDARD=17" }
|
||||
|
||||
# Web images
|
||||
- { image_name: web-wasm, cmake_arg: "-DCMAKE_CXX_STANDARD=17" }
|
||||
- {
|
||||
image_name: web-wasi,
|
||||
cmake_arg: "-DCMAKE_CXX_FLAGS='${CMAKE_CXX_FLAGS} -fno-exceptions'",
|
||||
}
|
||||
|
||||
# Linux ARMv5 images
|
||||
- { image_name: linux-armv5, cmake_arg: "-DCMAKE_CXX_STANDARD=17" }
|
||||
- {
|
||||
image_name: linux-armv5-musl,
|
||||
cmake_arg: "-DCMAKE_CXX_STANDARD=17",
|
||||
}
|
||||
|
||||
# Linux ARMv6 images
|
||||
- { image_name: linux-armv6, cmake_arg: "-DCMAKE_CXX_STANDARD=17" }
|
||||
- {
|
||||
image_name: linux-armv6-lts,
|
||||
cmake_arg: "-DCMAKE_CXX_STANDARD=17",
|
||||
}
|
||||
- {
|
||||
image_name: linux-armv6-musl,
|
||||
cmake_arg: "-DCMAKE_CXX_STANDARD=17",
|
||||
}
|
||||
|
||||
# linux ARMv7 images
|
||||
- { image_name: linux-armv7, cmake_arg: "-DCMAKE_CXX_STANDARD=17" }
|
||||
- {
|
||||
image_name: linux-armv7-lts,
|
||||
cmake_arg: "-DCMAKE_CXX_STANDARD=17",
|
||||
}
|
||||
- { image_name: linux-armv7a, cmake_arg: "-DCMAKE_CXX_STANDARD=17" }
|
||||
- {
|
||||
image_name: linux-armv7l-musl,
|
||||
cmake_arg: "-DCMAKE_CXX_STANDARD=17",
|
||||
}
|
||||
|
||||
# Linux ARMv8 (64 bit) images
|
||||
- { image_name: linux-arm64, cmake_arg: "-DCMAKE_CXX_STANDARD=17" }
|
||||
- {
|
||||
image_name: linux-arm64-lts,
|
||||
cmake_arg: "-DCMAKE_CXX_STANDARD=17",
|
||||
}
|
||||
- {
|
||||
image_name: linux-arm64-full,
|
||||
cmake_arg: "-DCMAKE_CXX_STANDARD=17",
|
||||
}
|
||||
- {
|
||||
image_name: linux-arm64-musl,
|
||||
cmake_arg: "-DCMAKE_CXX_STANDARD=17",
|
||||
}
|
||||
|
||||
# Linux x86 images
|
||||
- { image_name: linux-x86, cmake_arg: "-DCMAKE_CXX_STANDARD=17" }
|
||||
- { image_name: linux-x64, cmake_arg: "-DCMAKE_CXX_STANDARD=17" }
|
||||
- {
|
||||
image_name: linux-x64-clang,
|
||||
cmake_arg: "-DCMAKE_CXX_STANDARD=17",
|
||||
}
|
||||
- {
|
||||
image_name: linux-x64-tinycc,
|
||||
cmake_arg: "-DCMAKE_CXX_STANDARD=17",
|
||||
}
|
||||
- {
|
||||
image_name: linux-x86_64-full,
|
||||
cmake_arg: "-DCMAKE_CXX_STANDARD=17",
|
||||
}
|
||||
|
||||
# Linux s390 images
|
||||
- { image_name: linux-s390x, cmake_arg: "-DCMAKE_CXX_STANDARD=17" }
|
||||
|
||||
# Linux mips images
|
||||
- { image_name: linux-mips, cmake_arg: "-DCMAKE_CXX_STANDARD=17" }
|
||||
|
||||
# Linux PowerPC 64 images
|
||||
- { image_name: linux-ppc64le, cmake_arg: "-DCMAKE_CXX_STANDARD=17" }
|
||||
|
||||
# Linux xtensa images
|
||||
- {
|
||||
image_name: linux-xtensa-uclibc,
|
||||
cmake_arg: "-DCMAKE_CXX_STANDARD=17",
|
||||
}
|
||||
|
||||
# Linux riscv images
|
||||
- { image_name: linux-riscv32, cmake_arg: "-DCMAKE_CXX_STANDARD=17" }
|
||||
- { image_name: linux-riscv64, cmake_arg: "-DCMAKE_CXX_STANDARD=17" }
|
||||
|
||||
# Linux m68k images
|
||||
- {
|
||||
image_name: linux-m68k-uclibc,
|
||||
cmake_arg: "-DCMAKE_CXX_STANDARD=17",
|
||||
}
|
||||
|
||||
# ManyLinux images
|
||||
- { image_name: manylinux1-x64, cmake_arg: "-DCMAKE_CXX_STANDARD=14" }
|
||||
- { image_name: manylinux1-x86, cmake_arg: "-DCMAKE_CXX_STANDARD=14" }
|
||||
- {
|
||||
image_name: manylinux2010-x86,
|
||||
cmake_arg: "-DCMAKE_CXX_STANDARD=17",
|
||||
}
|
||||
- {
|
||||
image_name: manylinux2010-x64,
|
||||
cmake_arg: "-DCMAKE_CXX_STANDARD=17",
|
||||
}
|
||||
- {
|
||||
image_name: manylinux2014-x86,
|
||||
cmake_arg: "-DCMAKE_CXX_STANDARD=17",
|
||||
}
|
||||
- {
|
||||
image_name: manylinux2014-x64,
|
||||
cmake_arg: "-DCMAKE_CXX_STANDARD=17",
|
||||
}
|
||||
# - { image_name: manylinux2014-aarch64, cmake_arg: "-DCMAKE_CXX_STANDARD=17" }
|
||||
|
||||
# Windows x86 images
|
||||
- {
|
||||
image_name: windows-static-x64,
|
||||
cmake_arg: "-DCMAKE_CXX_STANDARD=17",
|
||||
}
|
||||
- {
|
||||
image_name: windows-static-x64-posix,
|
||||
cmake_arg: "-DCMAKE_CXX_STANDARD=17",
|
||||
}
|
||||
- {
|
||||
image_name: windows-static-x86,
|
||||
cmake_arg: "-DCMAKE_CXX_STANDARD=17",
|
||||
}
|
||||
- {
|
||||
image_name: windows-shared-x64,
|
||||
cmake_arg: "-DCMAKE_CXX_STANDARD=17",
|
||||
}
|
||||
- {
|
||||
image_name: windows-shared-x64-posix,
|
||||
cmake_arg: "-DCMAKE_CXX_STANDARD=17",
|
||||
}
|
||||
- {
|
||||
image_name: windows-shared-x86,
|
||||
cmake_arg: "-DCMAKE_CXX_STANDARD=17",
|
||||
}
|
||||
|
||||
# Windows ARM images
|
||||
- {
|
||||
image_name: windows-armv7,
|
||||
cmake_arg: "-DCMAKE_BUILD_WITH_INSTALL_RPATH=ON -DCMAKE_CXX_STANDARD=17",
|
||||
}
|
||||
- {
|
||||
image_name: windows-arm64,
|
||||
cmake_arg: "-DCMAKE_BUILD_WITH_INSTALL_RPATH=ON -DCMAKE_CXX_STANDARD=17",
|
||||
}
|
||||
|
||||
# Disable MinSizeRel RelWithDebInfo, Release, Debug
|
||||
build_type: [RelWithDebInfo]
|
||||
steps:
|
||||
- name: "Checkout Code"
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
submodules: "recursive"
|
||||
fetch-depth: 0
|
||||
|
||||
- name: "Pull docker image: dockcross/${{ matrix.dockcross.image_name }}"
|
||||
run: docker pull dockcross/${{ matrix.dockcross.image_name }}:latest
|
||||
|
||||
- name: "Make dockcross script: dockcross-${{ matrix.dockcross.image_name }}"
|
||||
run: |
|
||||
docker run --rm dockcross/${{ matrix.dockcross.image_name }} > ./dockcross-${{ matrix.dockcross.image_name }}
|
||||
chmod +x ./dockcross-${{ matrix.dockcross.image_name }}
|
||||
|
||||
- name: "Config CMake build"
|
||||
run:
|
||||
./dockcross-${{ matrix.dockcross.image_name }} cmake -B build-${{ matrix.dockcross.image_name }} -S . \
|
||||
-G Ninja -DFMT_DOC=OFF -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} ${{ matrix.dockcross.cmake_arg }}
|
||||
|
||||
- name: "Build"
|
||||
run: ./dockcross-${{ matrix.dockcross.image_name }} ninja -C build-${{ matrix.dockcross.image_name }}
|
||||
2
.gitignore
vendored
2
.gitignore
vendored
@ -35,3 +35,5 @@ FMT.build
|
||||
Makefile
|
||||
run-msbuild.bat
|
||||
fmt.pc
|
||||
dockcross-*
|
||||
build-*
|
||||
Loading…
Reference in New Issue
Block a user