Skip to content

Commit 22253d6

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

File tree

4 files changed

+93
-0
lines changed

4 files changed

+93
-0
lines changed

.github/workflows/ci.yml

+57
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
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: test
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+
- name: Switch XCode Version
27+
uses: maxim-lobanov/setup-xcode@v1
28+
with:
29+
xcode-version: '16.0.0'
30+
- run: |
31+
make test
32+
working-directory: Coder Desktop
33+
format:
34+
name: format
35+
runs-on: ${{ github.repository_owner == 'coder' && 'depot-macos-latest' || 'macos-latest'}}
36+
steps:
37+
- name: Checkout
38+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
39+
with:
40+
fetch-depth: 0
41+
- run: |
42+
make fmt
43+
working-directory: Coder Desktop
44+
lint:
45+
name: lint
46+
runs-on: ${{ github.repository_owner == 'coder' && 'depot-macos-latest' || 'macos-latest'}}
47+
steps:
48+
- name: Checkout
49+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
50+
with:
51+
fetch-depth: 0
52+
- name: Install Swiftlint
53+
run: |
54+
brew install swiftlint
55+
- run: |
56+
make lint
57+
working-directory: Coder Desktop

Coder Desktop/Coder Desktop.xcodeproj/project.pbxproj

+2
Original file line numberDiff line numberDiff line change
@@ -624,6 +624,7 @@
624624
CURRENT_PROJECT_VERSION = 1;
625625
DEVELOPMENT_TEAM = 4399GN35BJ;
626626
GENERATE_INFOPLIST_FILE = YES;
627+
MACOSX_DEPLOYMENT_TARGET = 14.6;
627628
MARKETING_VERSION = 1.0;
628629
PRODUCT_BUNDLE_IDENTIFIER = "com.coder.Coder-DesktopUITests";
629630
PRODUCT_NAME = "$(TARGET_NAME)";
@@ -640,6 +641,7 @@
640641
CURRENT_PROJECT_VERSION = 1;
641642
DEVELOPMENT_TEAM = 4399GN35BJ;
642643
GENERATE_INFOPLIST_FILE = YES;
644+
MACOSX_DEPLOYMENT_TARGET = 14.6;
643645
MARKETING_VERSION = 1.0;
644646
PRODUCT_BUNDLE_IDENTIFIER = "com.coder.Coder-DesktopUITests";
645647
PRODUCT_NAME = "$(TARGET_NAME)";

Coder Desktop/Coder Desktop.xctestplan

+1
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
}
2626
},
2727
{
28+
"enabled" : false,
2829
"parallelizable" : true,
2930
"target" : {
3031
"containerPath" : "container:Coder Desktop.xcodeproj",

Coder Desktop/Makefile

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
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+
-skipPackagePluginValidation \
21+
CODE_SIGNING_REQUIRED=NO \
22+
CODE_SIGNING_ALLOWED=NO \
23+
| LC_ALL="en_US.UTF-8" xcpretty
24+
25+
lint:
26+
swiftlint \
27+
--working-directory ../ \
28+
--strict \
29+
--quiet $(LINTFLAGS)
30+
31+
clean:
32+
xcodebuild clean \
33+
-project $(PROJECT)

0 commit comments

Comments
 (0)