Exports code coverage #193
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Tests | |
on: | |
push: | |
branches: [ main ] | |
paths-ignore: [ README.md ] | |
pull_request: | |
branches: [ main ] | |
paths-ignore: [ README.md ] | |
workflow_dispatch: | |
jobs: | |
formatlint: | |
name: Format linting | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v2 | |
- name: Pull formatting docker image | |
run: docker pull ghcr.io/nicklockwood/swiftformat:latest | |
- name: Run format linting | |
run: docker run --rm -v ${{ github.workspace }}:/repo ghcr.io/nicklockwood/swiftformat:latest /repo --lint | |
macos: | |
name: Test on macOS | |
runs-on: macOS-latest | |
steps: | |
- uses: maxim-lobanov/setup-xcode@v1 | |
with: | |
xcode-version: latest | |
- uses: actions/checkout@v3 | |
- name: Build and test | |
run: swift test --parallel --enable-test-discovery | |
# Swift versions older than 5.7 don't have builds for ubuntu 22.04. https://www.swift.org/download/ | |
ubuntu-20_04: | |
name: Test Swift ${{ matrix.swift }} on ${{ matrix.os }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-20.04] | |
swift: ["5.4", "5.5", "5.6"] | |
steps: | |
- uses: swift-actions/setup-swift@v1 | |
with: | |
swift-version: ${{ matrix.swift }} | |
- uses: actions/checkout@v3 | |
- name: Test | |
run: swift test --parallel | |
ubuntu-22_04: | |
name: Test Swift ${{ matrix.swift }} on ${{ matrix.os }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-22.04] | |
swift: ["5.7"] | |
steps: | |
- uses: swift-actions/setup-swift@v1 | |
with: | |
swift-version: ${{ matrix.swift }} | |
- uses: actions/checkout@v3 | |
- name: Test | |
run: swift test --parallel | |
ubuntu-latest: | |
name: Test Latest Swift on Latest Ubuntu | |
runs-on: ubuntu-latest | |
steps: | |
- uses: swift-actions/setup-swift@v1 | |
- uses: actions/checkout@v3 | |
- name: Test | |
run: swift test --parallel --enable-code-coverage | |
- name: Get test coverage html | |
run: | | |
llvm-cov show \ | |
$(swift build --show-bin-path)/GraphitiPackageTests.xctest \ | |
--instr-profile $(swift build --show-bin-path)/codecov/default.profdata \ | |
--format html \ | |
--output-dir=.test-coverage | |
- name: Upload test coverage html | |
uses: actions/upload-artifact@v3 | |
with: | |
name: test-coverage-report | |
path: .test-coverage |