1
+ # https://github.com/peripheryapp/periphery/blob/master/.github/workflows/test.yml
2
+
3
+ name : Test
4
+ on :
5
+ push :
6
+ branches :
7
+ - main
8
+ pull_request : {}
9
+ env :
10
+ swift_package_resolve : swift package resolve
11
+ swift_build : swift build --build-tests
12
+ swift_test : CLICKHOUSE_SERVER="127.0.0.1" CLICKHOUSE_USER="default" CLICKHOUSE_PASSWORD="" swift test
13
+ cache_version : 1
14
+ jobs :
15
+ macOS :
16
+ strategy :
17
+ fail-fast : false
18
+ matrix :
19
+ xcode : ["15.4", "15.2", "14.3.1"]
20
+ include :
21
+ - xcode : " 15.4"
22
+ macos : macOS-14
23
+ - xcode : " 15.2"
24
+ macos : macOS-14
25
+ - xcode : " 14.3.1"
26
+ macos : macOS-14
27
+ runs-on : ${{ matrix.macos }}
28
+ name : macOS
29
+ steps :
30
+ - uses : actions/checkout@master
31
+ - name : Select Xcode version
32
+ run : sudo xcode-select -s /Applications/Xcode_${{ matrix.xcode }}.app; swift -version
33
+ - name : Get Swift Version
34
+ id : get-swift-version
35
+ run : |
36
+ echo "::set-output name=version::$(swift -version | head -n 1 | sed s/,// )"
37
+ shell : bash
38
+ - name : Cache resolved dependencies
39
+ id : cache-resolved-dependencies
40
+ uses : actions/cache@v2
41
+ with :
42
+ path : |
43
+ .build
44
+ Package.resolved
45
+ key : ${{ runner.os }}-${{ matrix.xcode }}-${{ steps.get-swift-version.outputs.version }}-${{ env.cache_version }}-spm-deps-${{ hashFiles('Package.swift', 'Package.resolved') }}
46
+ restore-keys : |
47
+ ${{ runner.os }}-${{ matrix.xcode }}-${{ steps.get-swift-version.outputs.version }}-${{ env.cache_version }}-spm-deps-
48
+ - name : Resolve dependencies
49
+ if : steps.cache-resolved-dependencies.outputs.cache-hit != 'true'
50
+ run : ${{ env.swift_package_resolve }}
51
+ - name : Install netcdf
52
+ run : brew install netcdf
53
+ - name : Build
54
+ run : ${{ env.swift_build }}
55
+ - name : Test
56
+ run : ${{ env.swift_test }}
57
+ linux :
58
+ strategy :
59
+ fail-fast : false
60
+ matrix :
61
+ swift : ["5.10", "5.9", "5.8"]
62
+ include :
63
+ - swift : " 5.10"
64
+ container : " swift:5.10"
65
+ cache-version : 1
66
+ - swift : " 5.9"
67
+ container : " swift:5.9"
68
+ cache-version : 1
69
+ - swift : " 5.8"
70
+ container : " swift:5.8"
71
+ cache-version : 1
72
+ runs-on : ubuntu-20.04
73
+ container : ${{ matrix.container }}
74
+ name : Linux
75
+ steps :
76
+ - name : Get Swift Version
77
+ id : get-swift-version
78
+ run : |
79
+ echo "::set-output name=version::$(swift -version | head -n 1 | sed s/,// )"
80
+ shell : bash
81
+ - uses : actions/checkout@master
82
+ - name : Cache resolved dependencies
83
+ id : cache-resolved-dependencies
84
+ uses : actions/cache@v2
85
+ with :
86
+ path : |
87
+ .build
88
+ Package.resolved
89
+ key : ${{ matrix.cache-version }}-${{ runner.os }}-${{ steps.get-swift-version.outputs.version }}-${{ env.cache_version }}-spm-deps-${{ hashFiles('Package.swift', 'Package.resolved') }}
90
+ restore-keys : |
91
+ ${{ matrix.cache-version }}-${{ runner.os }}-${{ steps.get-swift-version.outputs.version }}-${{ env.cache_version }}-spm-deps-
92
+ - name : Install netcdf
93
+ run : |
94
+ - apt-key adv --keyserver keyserver.ubuntu.com --recv E0C56BD4; echo "deb http://repo.yandex.ru/clickhouse/deb/stable/ main/" | tee /etc/apt/sources.list.d/clickhouse.list
95
+ - apt-get update; DEBIAN_FRONTEND=noninteractive apt-get install -qq -y clickhouse-server
96
+ - service clickhouse-server start
97
+ - name : Resolve dependencies
98
+ if : steps.cache-resolved-dependencies.outputs.cache-hit != 'true'
99
+ run : ${{ env.swift_package_resolve }}
100
+ - name : Build
101
+ run : ${{ env.swift_build }}
102
+ - name : Test
103
+ run : ${{ env.swift_test }}
0 commit comments