Skip to content

Commit e2c914e

Browse files
committed
ci: add test, fmt, lint workflows
1 parent c070ac7 commit e2c914e

File tree

2 files changed

+75
-0
lines changed

2 files changed

+75
-0
lines changed

.github/ci.yml

+49
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
name: CI
2+
3+
on:
4+
pull_request:
5+
paths-ignore:
6+
- "README.md"
7+
push:
8+
branches:
9+
- main
10+
paths-ignore:
11+
- "README.md"
12+
13+
14+
permissions:
15+
contents: read
16+
17+
jobs:
18+
test:
19+
name: Tests
20+
runs-on: ${{ github.repository_owner == 'coder' && 'depot-macos-latest' || 'macos-latest'}}
21+
steps:
22+
- name: Checkout
23+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
24+
with:
25+
fetch-depth: 0
26+
- run: |
27+
make test
28+
format:
29+
name: Format
30+
runs-on: ${{ github.repository_owner == 'coder' && 'depot-ubuntu-22.04-4' || 'ubuntu-latest'}}
31+
steps:
32+
- name: Checkout
33+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
34+
with:
35+
fetch-depth: 0
36+
- run: |
37+
make fmt
38+
lint:
39+
name: Format
40+
runs-on: ${{ github.repository_owner == 'coder' && 'depot-ubuntu-22.04-4' || 'ubuntu-latest'}}
41+
container:
42+
image: ghcr.io/realm/swiftlint:0.57.1
43+
steps:
44+
- name: Checkout
45+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
46+
with:
47+
fetch-depth: 0
48+
- run: |
49+
make lint

Coder Desktop/Makefile

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
ifdef CI
2+
LINTFLAGS := --reporter github-actions-logging
3+
FMTFLAGS := --lint --reporter github-actions-log
4+
else
5+
LINTFLAGS :=
6+
FMTFLAGS :=
7+
endif
8+
9+
PROJECT := Coder\ Desktop.xcodeproj
10+
SCHEME := Coder\ Desktop
11+
12+
fmt:
13+
swiftformat $(FMTFLAGS) .
14+
15+
test:
16+
xcodebuild test \
17+
-project $(PROJECT) \
18+
-scheme $(SCHEME) \
19+
-testPlan $(SCHEME)
20+
21+
lint:
22+
swiftlint --strict --quiet $(LINTFLAGS)
23+
24+
clean:
25+
xcodebuild clean \
26+
-project $(PROJECT)

0 commit comments

Comments
 (0)