[ci] set github CI (#229)
* [ci] set github CI: ubuntu, windows, macOS * [ci] add make.yml * [ci] Skip macOS check MANIFEST temporary
This commit is contained in:
parent
27e8a16049
commit
bab7aecdde
64
.github/workflows/cmake.yml
vendored
Normal file
64
.github/workflows/cmake.yml
vendored
Normal file
@ -0,0 +1,64 @@
|
||||
name: CMake
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- 'release-*'
|
||||
pull_request:
|
||||
# run on all pr
|
||||
|
||||
jobs:
|
||||
build:
|
||||
strategy:
|
||||
matrix:
|
||||
os: [ubuntu-latest, windows-latest, macOS-latest]
|
||||
shared: ["ON", "OFF"]
|
||||
runs-on: ${{ matrix.os }}
|
||||
name: ${{ matrix.os }} - shared=${{ matrix.shared }}
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Build
|
||||
run: |
|
||||
mkdir build
|
||||
cmake -S . -B build -DBUILD_SHARED_LIBS=${{ matrix.shared }} -DUTF8PROC_ENABLE_TESTING=ON
|
||||
cmake --build build
|
||||
- name: Run Test
|
||||
run: ctest --test-dir build -V
|
||||
- name: Upload shared lib
|
||||
if: matrix.shared == 'ON'
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: ${{ matrix.os }}
|
||||
path: |
|
||||
build/libutf8proc.*
|
||||
build/Debug/utf8proc.*
|
||||
|
||||
mingw:
|
||||
strategy:
|
||||
matrix:
|
||||
os: [windows-latest]
|
||||
shared: ["ON", "OFF"]
|
||||
runs-on: ${{ matrix.os }}
|
||||
name: mingw64 - shared=${{ matrix.shared }}
|
||||
defaults:
|
||||
run:
|
||||
shell: msys2 {0}
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: msys2/setup-msys2@v2
|
||||
with:
|
||||
install: gcc make mingw-w64-x86_64-cmake
|
||||
- name: Build
|
||||
run: |
|
||||
mkdir build
|
||||
cmake -S . -B build -DBUILD_SHARED_LIBS=${{ matrix.shared }} -DUTF8PROC_ENABLE_TESTING=ON -G'MSYS Makefiles'
|
||||
cmake --build build
|
||||
- name: Run Test
|
||||
run: ctest --test-dir build -V
|
||||
- name: Upload shared lib
|
||||
if: matrix.shared == 'ON'
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: windows-mingw64
|
||||
path: build/libutf8proc.*
|
||||
41
.github/workflows/make.yml
vendored
Normal file
41
.github/workflows/make.yml
vendored
Normal file
@ -0,0 +1,41 @@
|
||||
name: Make
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- 'release-*'
|
||||
pull_request:
|
||||
# run on all pr
|
||||
|
||||
jobs:
|
||||
build:
|
||||
strategy:
|
||||
matrix:
|
||||
os: [ubuntu-latest, macOS-latest]
|
||||
runs-on: ${{ matrix.os }}
|
||||
name: ${{ matrix.os }}
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
# TODO: update makefile to check MANIFEST
|
||||
# - name: Install dependencies (MacOS)
|
||||
# if: matrix.config.os == 'macos-latest'
|
||||
# run: brew install ruby findutils
|
||||
|
||||
- name: Check MANIFEST
|
||||
if: matrix.config.os == 'ubuntu-latest'
|
||||
run: make manifest && diff MANIFEST.new MANIFEST
|
||||
- name: Run Test
|
||||
run: make check
|
||||
- name: Check utf8proc_data.c
|
||||
run: make data && diff data/utf8proc_data.c.new utf8proc_data.c
|
||||
- name: Clean
|
||||
run: make clean && git status --ignored --porcelain && test -z "$(git status --ignored --porcelain)"
|
||||
|
||||
- name: Make lib
|
||||
run: make
|
||||
- name: Upload shared lib
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: make-${{ matrix.os }}
|
||||
path: libutf8proc.*
|
||||
Loading…
Reference in New Issue
Block a user