Skip to content

Commit a7e1376

Browse files
committed
ci: automate code formatting and linting
1 parent b5cc94b commit a7e1376

2 files changed

Lines changed: 66 additions & 34 deletions

File tree

.github/workflows/ci.yml

Lines changed: 16 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ on:
44
push:
55
branches:
66
- main
7-
- dev
87
pull_request:
98
paths:
109
- '.swiftlint.yml'
@@ -13,17 +12,14 @@ on:
1312
- "Source/**"
1413
- "Tests/**"
1514

15+
permissions:
16+
contents: read
17+
18+
concurrency:
19+
group: flex-ui-${{ github.head_ref }}
20+
cancel-in-progress: true
21+
1622
jobs:
17-
SwiftLint:
18-
runs-on: ubuntu-latest
19-
steps:
20-
- uses: actions/checkout@v6
21-
- name: GitHub Action for SwiftLint
22-
uses: norio-nomura/action-swiftlint@3.2.1
23-
with:
24-
args: --strict
25-
env:
26-
DIFF_BASE: ${{ github.base_ref }}
2723
iOS:
2824
name: ${{ matrix.name }}
2925
runs-on: ${{ matrix.runsOn }}
@@ -34,29 +30,15 @@ jobs:
3430
fail-fast: false
3531
matrix:
3632
include:
37-
- destination: "OS=18.1,name=iPhone 16 Pro"
38-
name: "iOS 18.1"
39-
xcode: "Xcode_16.1"
40-
runsOn: macOS-14
33+
# iOS
34+
- { platform: iOS, name: "iOS 18.1", xcode: "Xcode_16.1", runsOn: macOS-14, destination: "OS=18.1,name=iPhone 16 Pro" }
4135
steps:
42-
- uses: actions/checkout@v6
43-
- name: ${{ matrix.name }}
44-
run: xcodebuild test -scheme "flex-ui" -destination "${{ matrix.destination }}" clean -enableCodeCoverage YES -resultBundlePath "test_output/${{ matrix.name }}.xcresult" || exit 1
45-
- uses: actions/upload-artifact@v5
36+
- name: Checkout code
37+
uses: actions/checkout@v6
38+
- name: Run tests - ${{ matrix.name }}
39+
run: xcodebuild test -scheme "flex-ui" -destination "${{ matrix.destination }}" -enableCodeCoverage YES -resultBundlePath "test_output/${{ matrix.name }}.xcresult" clean || exit 1
40+
- name: Upload test results
41+
uses: actions/upload-artifact@v5
4642
with:
4743
name: ${{ matrix.name }}
48-
path: test_output
49-
50-
discover-typos:
51-
name: Discover Typos
52-
runs-on: macOS-13
53-
env:
54-
DEVELOPER_DIR: /Applications/Xcode_14.1.app/Contents/Developer
55-
steps:
56-
- uses: actions/checkout@v6
57-
- name: Discover typos
58-
run: |
59-
export PATH="$PATH:/Library/Frameworks/Python.framework/Versions/3.11/bin"
60-
python3 -m pip install --upgrade pip
61-
python3 -m pip install codespell
62-
codespell --ignore-words-list="hart,inout,msdos,sur" --skip="./.build/*,./.git/*"
44+
path: test_output

.github/workflows/lint.yml

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
name: lint
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
paths:
9+
- "Sources/**"
10+
- ".github/workflows/ci.yml"
11+
- "Tests/**"
12+
13+
concurrency:
14+
group: lint-${{ github.head_ref }}
15+
cancel-in-progress: true
16+
17+
permissions:
18+
contents: read
19+
20+
jobs:
21+
lint:
22+
name: lint
23+
runs-on: macos-15
24+
steps:
25+
- uses: actions/checkout@v6
26+
with:
27+
fetch-depth: 0
28+
- uses: jdx/mise-action@v3
29+
- name: Run
30+
run: mise run lint
31+
32+
discover-typos:
33+
name: discover-typos
34+
runs-on: macos-15
35+
env:
36+
DEVELOPER_DIR: /Applications/Xcode_16.4.app/Contents/Developer
37+
steps:
38+
- uses: actions/checkout@v6
39+
40+
- name: Set up Python environment
41+
run: |
42+
python3 -m venv .venv
43+
source .venv/bin/activate
44+
pip install --upgrade pip
45+
pip install codespell
46+
47+
- name: Discover typos
48+
run: |
49+
source .venv/bin/activate
50+
codespell --ignore-words-list="hart,inout,msdos,sur" --skip="./.build/*,./.git/*"

0 commit comments

Comments
 (0)