Skip to content

Commit f61050d

Browse files
feat: Add Github CI
1 parent 8e44041 commit f61050d

File tree

4 files changed

+156
-19
lines changed

4 files changed

+156
-19
lines changed

.circleci/config.yml

-19
This file was deleted.

.github/workflows/release.yml

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
name: Release
2+
3+
on:
4+
workflow_dispatch:
5+
6+
# Make sure to add .releaserc and select the right branch
7+
8+
jobs:
9+
release:
10+
name: Release
11+
runs-on: ubuntu-latest
12+
environment: release
13+
permissions:
14+
contents: write
15+
issues: write
16+
pull-requests: write
17+
id-token: write
18+
packages: write
19+
steps:
20+
- name: Checkout
21+
uses: actions/checkout@v4
22+
with:
23+
fetch-depth: 0
24+
- name: Setup Node.js
25+
uses: actions/setup-node@v4
26+
with:
27+
node-version: 20
28+
- name: Install semantic-release
29+
run: |
30+
npm install --no-save semantic-release conventional-changelog-conventionalcommits
31+
- name: Release
32+
env:
33+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
34+
GH_ACTOR: ${{ github.actor }}
35+
run: |
36+
npx semantic-release
+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
name: "Semantic PR Check"
2+
3+
on:
4+
pull_request_target:
5+
types:
6+
- opened
7+
- edited
8+
- synchronize
9+
10+
jobs:
11+
main:
12+
name: Validate PR title
13+
runs-on: ubuntu-latest
14+
steps:
15+
- uses: amannn/[email protected]
16+
env:
17+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/test.yml

+103
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
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

Comments
 (0)