{"meta":{"title":"Construção e teste Swift","intro":"Saiba como criar um fluxo de trabalho de integração contínua (CI) para criar e testar seu projeto Swift.","product":"GitHub Actions","breadcrumbs":[{"href":"/pt/enterprise-cloud@latest/actions","title":"GitHub Actions"},{"href":"/pt/enterprise-cloud@latest/actions/tutorials","title":"Tutoriais"},{"href":"/pt/enterprise-cloud@latest/actions/tutorials/build-and-test-code","title":"Criar e testar código"},{"href":"/pt/enterprise-cloud@latest/actions/tutorials/build-and-test-code/swift","title":"Swift"}],"documentType":"article"},"body":"# Construção e teste Swift\n\nSaiba como criar um fluxo de trabalho de integração contínua (CI) para criar e testar seu projeto Swift.\n\n## Introdução\n\nEste guia mostra como criar e testar um pacote do Swift.\n\nOs executores hospedados do GitHub contam com um cache de ferramentas com ferramentas pré-instaladas, e os executores do Ubuntu e do macOS incluem as dependências para compilar pacotes Swift. Para ver a lista completa de softwares atualizados e as versões pré-instaladas do Swift e do Xcode, consulte [Executores hospedados no GitHub](/pt/enterprise-cloud@latest/actions/concepts/runners/github-hosted-runners#preinstalled-software-for-github-owned-images).\n\n## Pré-requisitos\n\nVocê já deve estar familiarizado com a sintaxe YAML e como ela é usada com GitHub Actions. Para saber mais, confira [Sintaxe de fluxo de trabalho para o GitHub Actions](/pt/enterprise-cloud@latest/actions/reference/workflows-and-actions/workflow-syntax).\n\nRecomendamos que você tenha uma compreensão básica dos pacotes Swift. Para obter mais informações, consulte [Pacotes do Swift](https://developer.apple.com/documentation/xcode/swift-packages) na documentação do desenvolvedor da Apple.\n\n## Usando um modelo de workflow do Swift\n\nPara uma introdução rápida, adicione um modelo de fluxo de trabalho ao diretório `.github/workflows` do repositório.\n\nGitHub 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 personalizar esse modelo de workflow.\n\n1. Em GitHub, acesse a página principal do repositório.\n\n2. No nome do repositório, clique em **<svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-play\" aria-label=\"play\" role=\"img\"><path d=\"M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z\"></path></svg> Actions**.\n\n   ![Captura de tela das guias do repositório \"github/docs\". A guia \"Ações\" está realçada com um contorno laranja.](/assets/images/help/repository/actions-tab-global-nav-update.png)\n\n3. Se você já tiver um fluxo de trabalho no repositório, clique em **Novo fluxo de trabalho**.\n\n4. A página \"Escolher um workflow\" mostra uma seleção de modelos de workflow recomendados. Pesquise por \"swift\".\n\n5. Filtre a seleção de fluxos de trabalho clicando em **Integração contínua**.\n\n6. No fluxo de trabalho \"Swift\", clique em **Configurar**.\n\n7. Edite o fluxo de trabalho conforme necessário. Por exemplo, altere o ramo no qual o fluxo de trabalho será executado.\n\n8. Clique em **Confirmar alterações**.\n\n   O `swift.yml` arquivo de fluxo de trabalho é adicionado ao `.github/workflows` diretório do repositório.\n\n## Especificando uma versão do Swift\n\nPara 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, consulte a ação [`swift-actions/setup-swift`](https://github.com/marketplace/actions/setup-swift).\n\nSe você estiver usando um executor auto-hospedado, precisará instalar as versões desejadas do Swift e adicioná-las a `PATH`.\n\nOs exemplos abaixo demonstram o uso da ação `swift-actions/setup-swift`.\n\n### Usando várias versões do Swift\n\nVocê pode configurar seu trabalho para usar várias versões do Swift em uma matriz.\n\n```yaml copy\n\n# Esse fluxo de trabalho usa ações que não são certificadas pelo GitHub.\n# São fornecidas por terceiros e regidas por\n# termos de serviço, política de privacidade e suporte separados\n# online.\n\n# O GitHub recomenda fixar ações em um SHA de commit.\n# Para obter uma versão mais recente, você precisará atualizar o SHA.\n# Você também pode fazer referência a uma marca ou branch, mas a ação pode ser alterada sem aviso.\n\nname: Swift\n\non: [push]\n\njobs:\n  build:\n    name: Swift ${{ matrix.swift }} on ${{ matrix.os }}\n    strategy:\n      matrix:\n        os: [ubuntu-latest, macos-latest]\n        swift: [\"5.2\", \"5.3\"]\n    runs-on: ${{ matrix.os }}\n    steps:\n      - uses: swift-actions/setup-swift@65540b95f51493d65f5e59e97dcef9629ddf11bf\n        with:\n          swift-version: ${{ matrix.swift }}\n      - uses: actions/checkout@v6\n      - name: Build\n        run: swift build\n      - name: Run tests\n        run: swift test\n```\n\n### Usando uma única versão específica do Swift\n\nVocê pode configurar seu trabalho para usar uma só versão específica do Swift, como `5.3.3`.\n\n```yaml copy\n# Esse fluxo de trabalho usa ações que não são certificadas pelo GitHub.\n# São fornecidas por terceiros e regidas por\n# termos de serviço, política de privacidade e suporte separados\n# online.\nsteps:\n  - uses: swift-actions/setup-swift@65540b95f51493d65f5e59e97dcef9629ddf11bf\n    with:\n      swift-version: \"5.3.3\"\n  - name: Get swift version\n    run: swift --version # Swift 5.3.3\n```\n\n## Criar e testar seu código\n\nVocê 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:\n\n```yaml copy\n# Esse fluxo de trabalho usa ações que não são certificadas pelo GitHub.\n# São fornecidas por terceiros e regidas por\n# termos de serviço, política de privacidade e suporte separados\n# online.\nsteps:\n  - uses: actions/checkout@v6\n  - uses: swift-actions/setup-swift@65540b95f51493d65f5e59e97dcef9629ddf11bf\n    with:\n      swift-version: \"5.3.3\"\n  - name: Build\n    run: swift build\n  - name: Run tests\n    run: swift test\n```"}