Skip to main content

Swift 빌드 및 테스트

참고 항목

호스트 실행기는 현재 Enterprise Server에서 지원되지 않습니다. public roadmap에 예정된 향후 지원에 대해 자세히 알아볼 수 있습니다.

이 가이드에서는 Swift 패키지를 빌드하고 테스트하는 방법을 보여 줍니다.

호스트 실행기에는 소프트웨어가 사전 설치된 도구 캐시가 있으며, Ubuntu 및 macOS 실행기에는 Swift 패키지를 빌드하기 위한 종속성이 포함되어 있습니다. 최신 소프트웨어 및 사전 설치된 버전의 Swift와 Xcode에 대한 전체 목록은 호스팅 실행기 사용을(를) 참조하세요.

YAML 구문과 이를 Actions와 함께 사용하는 방법에 대해 잘 알고 있어야 합니다. 자세한 내용은 Actions에 대한 워크플로 구문을(를) 참조하세요.

Swift 패키지를 기본적으로 이해하는 것이 좋습니다. 자세한 내용은 Apple 개발자 설명서의 Swift 패키지를 참조하세요.

빠르게 시작하려면 워크플로 템플릿을 리포지토리의 ./workflows 디렉터리에 추가합니다.

은(는) 대부분의 Swift 프로젝트에서 작동하는 Swift 워크플로 템플릿을 제공합니다. 이 가이드의 후속 섹션에서는 이 워크플로 템플릿을 사용자 지정하는 방법에 대한 예시를 제공합니다.

  1. 에서 리포지토리의 기본 페이지로 이동합니다.

  2. 리포지토리 이름 아래에서 작업을 클릭합니다.

    "github/docs" 리포지토리의 탭 스크린샷. "작업" 탭은 주황색 윤곽선으로 강조 표시됩니다.

  3. 리포지토리에 워크플로가 이미 있는 경우 새 워크플로를 클릭합니다.

  4. "워크플로 선택" 페이지에는 권장되는 워크플로 템플릿의 선택 항목이 표시됩니다. "swift"를 검색합니다.

  5. 지속적 통합을 클릭하여 워크플로 선택을 필터링합니다.

  6. "Swift" 워크플로에서 구성을 클릭합니다.

    “Swift” 워크플로 템플릿을 찾을 수 없는 경우 다음 워크플로 코드를 리포지토리의 ./workflows 디렉터리에 있는 이름이 swift.yml인 새 파일에 복사합니다.

    YAML
    name: Swift
    
    on:
      push:
        branches: [ "main" ]
      pull_request:
        branches: [ "main" ]
    
    jobs:
      build:
        runs-on: macos-latest
    
        steps:
        - uses: actions/checkout@v4
        - name: Build
          run: swift build -v
        - name: Run tests
          run: swift test -v
    
  7. 필요에 따라 워크플로를 편집합니다. 예를 들어 워크플로가 실행될 분기를 변경합니다.

  8. 변경 내용 커밋을 클릭합니다.

호스트 실행기에서 사전 설치된 특정 버전의 Swift를 사용하려면 swift-actions/setup-swift 작업을 사용하세요. 이 작업은 실행기의 도구 캐시에서 특정 버전의 Swift를 찾고 필수 이진 파일을 PATH에 추가합니다. 이러한 변경 내용은 작업의 나머지 부분에 대해 유지됩니다. 자세한 내용은 swift-actions/setup-swift 작업을 참조하세요.

자체 호스트 실행기를 사용하는 경우 원하는 Swift 버전을 설치하고 PATH에 추가해야 합니다.

아래 예시에서는 swift-actions/setup-swift 작업을 사용하는 방법을 보여 줍니다.

행렬에서 여러 버전의 Swift를 사용하도록 작업을 구성할 수 있습니다.

YAML

# 이 워크플로는 에서 인증되지 않은 작업을 사용합니다.
# 작업은 타사에서 제공하며
# 별도의 서비스 약관, 개인정보처리방침, 지원 설명서에서 규정됩니다.
# 참조하세요.

# 커밋 SHA에 작업을 고정하는 것이 좋습니다.
# 최신 버전을 얻으려면 SHA를 업데이트해야 합니다.
# 태그 또는 분기를 참조할 수도 있지만 경고 없이 작업이 변경될 수 있습니다.

name: Swift

on: [push]

jobs:
  build:
    name: Swift ${{ matrix.swift }} on ${{ matrix.os }}
    strategy:
      matrix:
        os: [ubuntu-latest, macos-latest]
        swift: ["5.2", "5.3"]
    runs-on: ${{ matrix.os }}
    steps:
      - uses: swift-actions/setup-swift@65540b95f51493d65f5e59e97dcef9629ddf11bf
        with:
          swift-version: ${{ matrix.swift }}
      - uses: actions/checkout@v4
      - name: Build
        run: swift build
      - name: Run tests
        run: swift test

5.3.3과 같은 특정 버전의 Swift를 사용하도록 작업을 구성할 수 있습니다.

YAML
steps:
  - uses: swift-actions/setup-swift@65540b95f51493d65f5e59e97dcef9629ddf11bf
    with:
      swift-version: "5.3.3"
  - name: Get swift version
    run: swift --version # Swift 5.3.3

로컬에서 사용하는 것과 동일한 명령으로 Swift를 사용하여 코드를 빌드하고 테스트할 수 있습니다. 이 예시에서는 작업에서 swift buildswift test를 사용하는 방법을 보여 줍니다.

YAML
steps:
  - uses: actions/checkout@v4
  - uses: swift-actions/setup-swift@65540b95f51493d65f5e59e97dcef9629ddf11bf
    with:
      swift-version: "5.3.3"
  - name: Build
    run: swift build
  - name: Run tests
    run: swift test