Skip to content

Commit 334a067

Browse files
committed
add test for CI
1 parent 20e9f76 commit 334a067

File tree

1 file changed

+85
-0
lines changed

1 file changed

+85
-0
lines changed

.github/workflows/test.yml

+85
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
name: "Test"
2+
3+
on:
4+
pull_request:
5+
push:
6+
branches:
7+
- main
8+
9+
jobs:
10+
macOS:
11+
strategy:
12+
fail-fast: false
13+
matrix:
14+
xcode: ["14.0.1", "13.4.1", "13.3.1", "13.2.1"]
15+
include:
16+
- xcode: "14.0.1"
17+
macos: macos-12
18+
- xcode: "13.4.1"
19+
macos: macos-12
20+
- xcode: "13.3.1"
21+
macos: macos-12
22+
- xcode: "13.2.1"
23+
macos: macos-12
24+
runs-on: ${{ matrix.macos }}
25+
name: macOS
26+
steps:
27+
- name: Checkout
28+
uses: actions/checkout@v2
29+
- name: Select Xcode version
30+
run: sudo xcode-select -s /Applications/Xcode_${{ matrix.xcode }}.app; swift -version
31+
- name: Get Swift Version
32+
id: get-swift-version
33+
run: |
34+
echo "::set-output name=version::$(swift -version | head -n 1 | sed s/,// )"
35+
- name: Cache dependencies
36+
uses: actions/cache@v2
37+
with:
38+
path: |
39+
.build/artifacts
40+
.build/checkouts
41+
.build/repositories
42+
key: ${{ runner.os }}-dependencies-${{ matrix.xcode }}-${{ hashFiles('./Package.resolved') }}
43+
restore-keys: |
44+
${{ runner.os }}-dependencies-${{ matrix.xcode }}-${{ hashFiles('./Package.resolved') }}
45+
${{ runner.os }}-dependencies-${{ matrix.xcode }}-
46+
- name: Test
47+
run: swift test
48+
linux:
49+
strategy:
50+
fail-fast: false
51+
matrix:
52+
swift: ["5.7", "5.6", "5.5"]
53+
include:
54+
- swift: "5.7"
55+
container: "swift:5.7"
56+
cache-version: 1
57+
- swift: "5.6"
58+
container: "swift:5.6"
59+
cache-version: 2
60+
- swift: "5.5"
61+
container: "swift:5.5"
62+
cache-version: 2
63+
runs-on: ubuntu-latest
64+
container: ${{ matrix.container }}
65+
name: Linux
66+
steps:
67+
- name: Checkout
68+
uses: actions/checkout@v2
69+
- name: Get Swift Version
70+
id: get-swift-version
71+
run: |
72+
echo "::set-output name=version::$(swift -version | head -n 1 | sed s/,// )"
73+
shell: bash
74+
- name: Cache dependencies
75+
uses: actions/cache@v2
76+
with:
77+
path: |
78+
.build/artifacts
79+
.build/checkouts
80+
.build/repositories
81+
key: ${{ matrix.cache-version }}-${{ runner.os }}-${{ steps.get-swift-version.outputs.version }}}-spm-deps-${{ hashFiles('Package.resolved') }}
82+
restore-keys: |
83+
${{ matrix.cache-version }}-${{ runner.os }}-${{ steps.get-swift-version.outputs.version }}-spm-deps-
84+
- name: Test
85+
run: swift test

0 commit comments

Comments
 (0)