mirror of
https://github.com/fastfloat/fast_float.git
synced 2025-12-07 01:06:48 +08:00
Adding more CI tests.
This commit is contained in:
parent
9e4e34f3cf
commit
8727767816
49
.github/workflows/mingw-ci.yml
vendored
Normal file
49
.github/workflows/mingw-ci.yml
vendored
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
name: MinGW32-CI
|
||||||
|
|
||||||
|
on: [push, pull_request]
|
||||||
|
|
||||||
|
# Important: scoop will either install 32-bit GCC or 64-bit GCC, not both.
|
||||||
|
|
||||||
|
# It is important to build static libraries because cmake is not smart enough under Windows/mingw to take care of the path. So
|
||||||
|
# with a dynamic library, you could get failures due to the fact that the EXE can't find its DLL.
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
ci:
|
||||||
|
name: windows-gcc
|
||||||
|
runs-on: windows-2016
|
||||||
|
|
||||||
|
env:
|
||||||
|
CMAKE_GENERATOR: Ninja
|
||||||
|
CC: gcc
|
||||||
|
CXX: g++
|
||||||
|
|
||||||
|
steps: # To reproduce what is below, start a powershell with administrative rights, using scoop *is* a good idea
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- uses: actions/cache@v2 # we cache the scoop setup with 32-bit GCC
|
||||||
|
id: cache
|
||||||
|
with:
|
||||||
|
path: |
|
||||||
|
C:\ProgramData\scoop
|
||||||
|
key: scoop32 # static key: should be good forever
|
||||||
|
- name: Setup Windows # This should almost never run if the cache works.
|
||||||
|
if: steps.cache.outputs.cache-hit != 'true'
|
||||||
|
shell: powershell
|
||||||
|
run: |
|
||||||
|
Invoke-Expression (New-Object System.Net.WebClient).DownloadString('https://get.scoop.sh')
|
||||||
|
scoop install sudo --global
|
||||||
|
sudo scoop install git --global
|
||||||
|
sudo scoop install ninja --global
|
||||||
|
sudo scoop install cmake --global
|
||||||
|
sudo scoop install gcc --arch 32bit --global
|
||||||
|
$env:path
|
||||||
|
Write-Host 'Everything has been installed, you are good!'
|
||||||
|
- name: Build and Test 32-bit x86
|
||||||
|
shell: powershell
|
||||||
|
run: |
|
||||||
|
$ENV:PATH="C:\ProgramData\scoop\shims;C:\ProgramData\scoop\apps\gcc\current\bin;C:\ProgramData\scoop\apps\ninja\current;$ENV:PATH"
|
||||||
|
mkdir build32
|
||||||
|
cd build32
|
||||||
|
cmake -DFASTFLOAT_TEST=ON ..
|
||||||
|
cmake --build . --verbose
|
||||||
|
ctest -j4 --output-on-failure
|
||||||
49
.github/workflows/mingw64-ci.yml
vendored
Normal file
49
.github/workflows/mingw64-ci.yml
vendored
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
name: MinGW64-CI
|
||||||
|
|
||||||
|
on: [push, pull_request]
|
||||||
|
|
||||||
|
# Important: scoop will either install 32-bit GCC or 64-bit GCC, not both.
|
||||||
|
|
||||||
|
# It is important to build static libraries because cmake is not smart enough under Windows/mingw to take care of the path. So
|
||||||
|
# with a dynamic library, you could get failures due to the fact that the EXE can't find its DLL.
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
ci:
|
||||||
|
name: windows-gcc
|
||||||
|
runs-on: windows-2016
|
||||||
|
|
||||||
|
env:
|
||||||
|
CMAKE_GENERATOR: Ninja
|
||||||
|
CC: gcc
|
||||||
|
CXX: g++
|
||||||
|
|
||||||
|
steps: # To reproduce what is below, start a powershell with administrative rights, using scoop *is* a good idea
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- uses: actions/cache@v2 # we cache the scoop setup with 64-bit GCC
|
||||||
|
id: cache
|
||||||
|
with:
|
||||||
|
path: |
|
||||||
|
C:\ProgramData\scoop
|
||||||
|
key: scoop64 # static key: should be good forever
|
||||||
|
- name: Setup Windows # This should almost never run if the cache works.
|
||||||
|
if: steps.cache.outputs.cache-hit != 'true'
|
||||||
|
shell: powershell
|
||||||
|
run: |
|
||||||
|
Invoke-Expression (New-Object System.Net.WebClient).DownloadString('https://get.scoop.sh')
|
||||||
|
scoop install sudo --global
|
||||||
|
sudo scoop install git --global
|
||||||
|
sudo scoop install ninja --global
|
||||||
|
sudo scoop install cmake --global
|
||||||
|
sudo scoop install gcc --arch 64bit --global
|
||||||
|
$env:path
|
||||||
|
Write-Host 'Everything has been installed, you are good!'
|
||||||
|
- name: Build and Test 64-bit x64
|
||||||
|
shell: powershell
|
||||||
|
run: |
|
||||||
|
$ENV:PATH="C:\ProgramData\scoop\shims;C:\ProgramData\scoop\apps\gcc\current\bin;C:\ProgramData\scoop\apps\ninja\current;$ENV:PATH"
|
||||||
|
mkdir build64
|
||||||
|
cd build64
|
||||||
|
cmake -DFASTFLOAT_TEST=ON ..
|
||||||
|
cmake --build . --verbose
|
||||||
|
ctest -j4 --output-on-failure
|
||||||
25
.github/workflows/vs16-clang-ninja-ci.yml
vendored
Normal file
25
.github/workflows/vs16-clang-ninja-ci.yml
vendored
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
name: VS16-Ninja-CI
|
||||||
|
|
||||||
|
on: [push, pull_request]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
ci:
|
||||||
|
name: windows-vs16
|
||||||
|
runs-on: windows-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: 'Run CMake with VS16'
|
||||||
|
uses: lukka/run-cmake@v2
|
||||||
|
with:
|
||||||
|
cmakeListsOrSettingsJson: CMakeListsTxtAdvanced
|
||||||
|
cmakeListsTxtPath: '${{ github.workspace }}/CMakeLists.txt'
|
||||||
|
buildDirectory: "${{ github.workspace }}/../../_temp/windows"
|
||||||
|
cmakeBuildType: Release
|
||||||
|
buildWithCMake: true
|
||||||
|
cmakeGenerator: VS16Win64
|
||||||
|
cmakeAppendedArgs: -G Ninja -DFASTFLOAT_TEST=ON
|
||||||
|
buildWithCMakeArgs: --config Release
|
||||||
|
|
||||||
|
- name: 'Run CTest'
|
||||||
|
run: ctest -C Release --output-on-failure
|
||||||
|
working-directory: "${{ github.workspace }}/../../_temp/windows"
|
||||||
Loading…
x
Reference in New Issue
Block a user