Logo quando foi lançado o GitHubActions, publiquei um post sobre como configurar seu projeto swift para rodar, mas caso você tenha um projeto privado e queira configurar um runner em seu Mac, é possível e muito simples e rápido de configurar. Vamos lá?
Para iniciar temos abaixo a diferença entre GitHub e Self hosted runners:
Abrirá uma janela com as informações de Download e configuração (selecione MacOS):
- Criar pasta (criei em um segundo volume que tenho, mas pode ser em seu home de usuário)
Até o momento da criação deste post não é possível configurar o Runner para rodar mais de um projeto. O que fiz foi mudar o nome da pasta `actions-runner` para `actions-runner-meuprojeto`. No caso eu tenho um runner configurado para cada projeto que quero rodar actions.
$ mkdir actions-runner && cd actions-runner
$ mkdir actions-runner-mdeditor && cd actions-runner-mdeditor
$ curl -O -L https://github.com/actions/runner/releases/download/v2.168.0/actions-runner-osx-x64-2.168.0.tar.gz`
$ tar xzf actions-runner-osx-x64-2.168.0.tar.gz
$ tar xzf actions-runner-osx-x64-2.168.0.tar.gz
Crie o runner e inicie a configuração passo a passo:
$ ./config.sh --url --token
Último passo, execute o runner:
$ ./run.sh
Se tudo deu certo você verá no terminal a seguinte informação:
E na sua tela de Runners estará assim:
Quando seu runner não estiver rodando:
Devido a esse problema de não ser possível rodar um Runner para múltiplos projetos, criei alguns aliases em meu .bash_profile
alias meuprojeto-start-runner='bash pasta-do-seu-runner/actions-runner/run.sh'
Basta adicionar esta linha com as informações do caminho do seu runner no final do arquivo salvar e rodar executar o source source ~/.bash_profile
Agora sempre que quiser rodar o runner para esperar alguma action, basta no terminal chamar meuprojeto-start-runner
runs-on: self-hosted
name: Build and Test
on:
push:
branches: [ develop ]
pull_request:
branches: [ master ]
jobs:
build:
#runs-on: macos-latest
runs-on: self-hosted
steps:
- uses: actions/checkout@v2
- name: Build
run: |
xcodebuild clean build \
-project 'nome do projeto.xcodeproj' \
-scheme 'nome do scheme'
- name: Run tests
run: |
xcodebuild \
-project 'nome do projeto.xcodeproj' \
-scheme 'nome do scheme' \
test