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 "Using GitHub-hosted runners".

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 para o 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@v4
      - 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 swift-actions/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 swift-actions/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 swift-actions/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: 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

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: swift-actions/setup-swift@65540b95f51493d65f5e59e97dcef9629ddf11bf
    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@v4
  - uses: swift-actions/setup-swift@65540b95f51493d65f5e59e97dcef9629ddf11bf
    with:
      swift-version: "5.3.3"
  - name: Build
    run: swift build
  - name: Run tests
    run: swift test