Skip to main content

Construção e teste Swift

É possível criar um fluxo de trabalho de integração contínua (CI) para criar e testar o seu projeto no Swift.

Introdução

Este guia mostra como criar e testar um pacote do Swift.

GitHub têm um cache de ferramentas com programas de software pré-instalados e os executores do Ubuntu e do macOS incluem as dependências para criação de pacotes do Swift. Para ver a lista completa de programas de software atualizados e as versões pré-instaladas do Swift e do Xcode, confira "Sobre os executores hospedados no GitHub".

Pré-requisitos

Você já deve estar familiarizado com a sintaxe YAML e como é usado com GitHub Actions. Para obter mais informações, confira "Sintaxe de fluxo de trabalho do GitHub Actions".

Recomendamos que você tenha uma compreensão básica dos pacotes Swift. Para obter mais informações, confira "Pacotes do Swift" na documentação do desenvolvedor da Apple.

Usando o fluxo de trabalho inicial do Swift

GitHub fornece um fluxo de trabalho inicial Swift que deve funcionar na maioria dos projetos do Swift, e este guia inclui exemplos que mostram a você como personalizar este fluxo de trabalho inicial. Para obter mais informações, confira o fluxo de trabalho inicial do Swift.

Para experimentar uma introdução rápida, adicione o fluxo de trabalho inicial ao diretório .github/workflows do repositório.

YAML
name: Swift

on: [push]

jobs:
  build:

    runs-on: macos-latest

    steps:
      - uses: actions/checkout@v3
      - name: Build
        run: swift build
      - name: Run tests
        run: swift test

Especificando uma versão do Swift

Para usar uma versão pré-instalada específica do Swift em um executor hospedado no GitHub, use a ação fwal/setup-swift. Essa ação localiza uma versão específica do Swift do cache de ferramentas no executor e adiciona os binários necessários a PATH. Estas alterações persistirão para o restante de um trabalho. Para obter mais informações, confira a ação fwal/setup-swift.

Se você estiver usando um executor auto-hospedado, precisará instalar as versões desejadas do Swift e adicioná-las a PATH.

Os exemplos abaixo demonstram o uso da ação fwal/setup-swift.

Usando várias versões do Swift

Você pode configurar seu trabalho para usar várias versões do Swift em uma matriz.

YAML

# Esse fluxo de trabalho usa ações que não são certificadas pelo GitHub.
# São fornecidas por terceiros e regidas por
# termos de serviço, política de privacidade e suporte separados
# online.

# O GitHub recomenda fixar ações em um SHA de commit.
# Para obter uma versão mais recente, você precisará atualizar o SHA.
# Você também pode fazer referência a uma marca ou branch, mas a ação pode ser alterada sem aviso.

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: fwal/setup-swift@2040b795e5c453c3a05fcb8316496afc8a74f192
        with:
          swift-version: ${{ matrix.swift }}
      - uses: actions/checkout@v3
      - name: Build
        run: swift build
      - name: Run tests
        run: swift test

Usando uma única versão específica do Swift

Você pode configurar seu trabalho para usar uma só versão específica do Swift, como 5.3.3.

YAML
steps:
  - uses: fwal/setup-swift@2040b795e5c453c3a05fcb8316496afc8a74f192
    with:
      swift-version: "5.3.3"
  - name: Get swift version
    run: swift --version # Swift 5.3.3

Criar e testar seu código

Você pode usar os mesmos comandos usados localmente para criar e testar seu código usando o Swift. Este exemplo demonstra como usar swift build e swift test em um trabalho:

YAML
steps:
  - uses: actions/checkout@v3
  - uses: fwal/setup-swift@2040b795e5c453c3a05fcb8316496afc8a74f192
    with:
      swift-version: "5.3.3"
  - name: Build
    run: swift build
  - name: Run tests
    run: swift test