SwiftLint - Github Action으로 체크하기

김혜수·2022년 4월 12일
0

iOS를 개발하면서..

목록 보기
9/20

내가 하고 싶었던 것

솝트 30기 과제를 하면서 뭔가 혼자 관리하는 레포니까 내 코드를 체크하는 기능이 있었으면 좋겠다고 생각했다. 그래서 SwiftLint 라이브러리를 추가했고, 지난달에 GDSC에서 스피커세션으로 발표했던 Gihub Action을 이용해보기로 했다!!!

발표 포스팅 링크 👀

https://dsc-sookmyung.tistory.com/311?category=922071

이미 나와있는 SwiftLint Action

https://github.com/norio-nomura/action-swiftlint

이미 마켓플레이스에 SwiftLint를 Github Action으로 사용할 수 있도록 나와있었다.
리드미에 가면 사용법이 나와있다.

근데 내 레포에서는 문제가 있었다..

내 레포의 구조를 보면 Repository가 바로 프로젝트인 구조가 아니라 Repository안의 내부 폴더가 프로젝트인 것을 볼 수 있다. 그래서 Lint 규칙을 설정할 수 있는 swiftLint.yml 파일도 폴더 하나 들어가야 나온다.

그래서 인지 적용이 잘 안되었다.. (린트를 적용하지 않을 경로가 인식이 잘 안된다고 느꼈다.) 내가 RxSwift를 넣어놨는데, 액션으로 린트를 체크할 때마다 RxSwift 내부 파일까지 체크를 해서.. 자꾸 오류가 남

해결방법

일단 이미 만들어진 Action을 쓰는것을 포기하고.. SwiftLint를 실행시키는 명령어를 찾아봤다.

swiftlint --config 경로

그래서 워크플로우 파일을 다음과 같이 바꿨다.

name: SwiftLint


on:
  push:
    branches: [ main ]
    paths:
      - '.github/workflows/swiftlint.yml'
      - 'Instagram-Clone/.swiftlint.yml'
      - 'Instagram-Clone/**/*.swift'
  pull_request:
    branches: [ main ]
    paths:
      - '.github/workflows/swiftlint.yml'
      - 'Instagram-Clone/.swiftlint.yml'
      - 'Instagram-Clone/**/*.swift'
      

jobs:
  SwiftLint:
    runs-on: macos-latest
    steps:
      - uses: actions/checkout@v1

      - name: Run Swiftlint
        run: swiftlint --config Instagram-Clone/.swiftlint.yml

run 부분에 직접 실행할 린트의 경로를 적어주고, 명령어를 실행했음..

그랬더니 잘 실행되었다!!!

profile
iOS를 좋아하는 사람

0개의 댓글