Skip to content

Commit acb4771

Browse files
ci: Copies Graphiti CI
This brings in CI features like test coverage, newer swift versions, and more.
1 parent f55785e commit acb4771

File tree

2 files changed

+71
-51
lines changed

2 files changed

+71
-51
lines changed

.github/workflows/build.yml

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
name: Tests
2+
3+
on:
4+
push:
5+
branches: [ main ]
6+
paths-ignore: [ README.md ]
7+
pull_request:
8+
branches: [ main ]
9+
paths-ignore: [ README.md ]
10+
workflow_dispatch:
11+
12+
jobs:
13+
formatlint:
14+
name: Format linting
15+
runs-on: ubuntu-latest
16+
steps:
17+
- name: Checkout
18+
uses: actions/checkout@v3
19+
- name: Set up Docker Buildx
20+
uses: docker/setup-buildx-action@v2
21+
- name: Pull formatting docker image
22+
run: docker pull ghcr.io/nicklockwood/swiftformat:latest
23+
- name: Run format linting
24+
run: docker run --rm -v ${{ github.workspace }}:/repo ghcr.io/nicklockwood/swiftformat:latest /repo --lint
25+
26+
macos:
27+
name: Test on macOS
28+
runs-on: macOS-latest
29+
steps:
30+
- uses: maxim-lobanov/setup-xcode@v1
31+
with:
32+
xcode-version: latest-stable
33+
- uses: actions/checkout@v3
34+
- name: Build and test
35+
run: swift test --parallel --enable-test-discovery
36+
37+
linux:
38+
name: Test on Linux
39+
runs-on: ubuntu-latest
40+
steps:
41+
- uses: swift-actions/setup-swift@v2
42+
- uses: actions/checkout@v3
43+
- name: Test
44+
run: swift test --parallel --enable-code-coverage
45+
- name: Get test coverage html
46+
run: |
47+
llvm-cov show \
48+
$(swift build --show-bin-path)/DataLoaderPackageTests.xctest \
49+
--instr-profile $(swift build --show-bin-path)/codecov/default.profdata \
50+
--ignore-filename-regex="\.build|Tests" \
51+
--format html \
52+
--output-dir=.test-coverage
53+
- name: Upload test coverage html
54+
uses: actions/upload-artifact@v3
55+
with:
56+
name: test-coverage-report
57+
path: .test-coverage
58+
59+
backcompat-ubuntu-22_04:
60+
name: Test Swift ${{ matrix.swift }} on Ubuntu 22.04
61+
runs-on: ubuntu-22.04
62+
strategy:
63+
matrix:
64+
swift: ["5.7", "5.8", "5.9", "5.10"]
65+
steps:
66+
- uses: swift-actions/setup-swift@v2
67+
with:
68+
swift-version: ${{ matrix.swift }}
69+
- uses: actions/checkout@v3
70+
- name: Test
71+
run: swift test --parallel

.github/workflows/test.yml

Lines changed: 0 additions & 51 deletions
This file was deleted.

0 commit comments

Comments
 (0)