Note
No momento, não há suporte para 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.
-
Em GitHub, acesse a página principal do repositório.
-
No nome do repositório, clique em Ações.
-
Se você já tiver um fluxo de trabalho no repositório, clique em Novo fluxo de trabalho.
-
A página "Escolher um fluxo de trabalho" mostra uma seleção de modelos de fluxo de trabalho recomendados. Pesquise por "swift".
-
Filtre a seleção de fluxos de trabalho clicando em Integração contínua.
-
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
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
-
Edite o fluxo de trabalho conforme necessário. Por exemplo, altere o ramo no qual o fluxo de trabalho será executado.
-
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.
# 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
# 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
.
steps: - uses: swift-actions/setup-swift@65540b95f51493d65f5e59e97dcef9629ddf11bf with: swift-version: "5.3.3" - name: Get swift version run: swift --version # Swift 5.3.3
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:
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
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