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.

Observação: no momento, não há suporte para os executores hospedados no GitHub no GitHub Enterprise Server. Você pode ver mais informações sobre o suporte futuro planejado no GitHub public roadmap.

Introdução

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

Os executores hospedados em GitHub têm um cache de ferramentas com software pré-instalado, e os executores do Ubuntu e do macOS incluem as dependências para a compilação de pacotes do Swift. Para ver a lista completa de softwares atualizados e as versões pré-instaladas do Swift e do Xcode, confira "Usar 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 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 um modelo de fluxo de trabalho do Swift

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

O GitHub fornece um modelo de fluxo de trabalho para Swift que deve funcionar para a maioria dos projetos Swift. As seções subsequentes deste guia fornecem exemplos de como você pode personalizar esse modelo de fluxo de trabalho.

  1. Em GitHub, acesse a página principal do repositório.

  2. No nome do repositório, clique em Ações.

    Captura de tela das guias do repositório "github/docs". A guia "Ações" está realçada com um contorno laranja.

  3. Se você já tiver um fluxo de trabalho no repositório, clique em Novo fluxo de trabalho.

  4. A página "Escolher um fluxo de trabalho" mostra uma seleção de modelos de fluxo de trabalho recomendados. Pesquise por "swift".

  5. Filtre a seleção de fluxos de trabalho clicando em Integração contínua.

  6. No fluxo de trabalho "Swift", clique em Configurar.

    Se não encontrar o modelo de fluxo de trabalho "Swift", copie o código de fluxo de trabalho a seguir para um novo arquivo chamado swift.yml no diretório .github/workflows do seu repositório.

    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. Edite o fluxo de trabalho conforme necessário. Por exemplo, altere o ramo no qual o fluxo de trabalho será executado.

  8. Clique em Confirmar alterações.

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