58 lines
1.5 KiB
YAML
58 lines
1.5 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
paths:
|
|
- '**.swift'
|
|
pull_request:
|
|
branches:
|
|
- main
|
|
paths:
|
|
- '**.swift'
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
macOS:
|
|
runs-on: macOS-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v2
|
|
- name: SPM tests
|
|
run: swift test --enable-code-coverage --sanitize=thread
|
|
- name: Convert coverage files
|
|
run: |
|
|
xcrun llvm-cov export -format "lcov" \
|
|
.build/debug/hummingbird-mustachePackageTests.xctest/Contents/MacOs/hummingbird-mustachePackageTests \
|
|
-ignore-filename-regex="\/Tests\/" \
|
|
-instr-profile=.build/debug/codecov/default.profdata > info.lcov
|
|
- name: Upload to codecov.io
|
|
uses: codecov/codecov-action@v1
|
|
with:
|
|
file: info.lcov
|
|
linux:
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
image: ['swift:5.3-bionic', 'swift:5.3-focal', 'swift:5.3-amazonlinux2', 'swift:5.3-centos8']
|
|
|
|
container:
|
|
image: ${{ matrix.image }}
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v2
|
|
- name: Test
|
|
run: |
|
|
swift test --enable-test-discovery --enable-code-coverage --sanitize=thread
|
|
- name: Convert coverage files
|
|
run: |
|
|
llvm-cov export -format="lcov" \
|
|
.build/debug/hummingbird-mustachePackageTests.xctest \
|
|
-ignore-filename-regex="\/Tests\/" \
|
|
-instr-profile .build/debug/codecov/default.profdata > info.lcov
|
|
- name: Upload to codecov.io
|
|
uses: codecov/codecov-action@v1
|
|
with:
|
|
file: info.lcov
|