Build openpilot on mac in CI (#1792)

* build on mac in CI

* coreutils

* python stuff

* pipenv

* newer clang

* init pyenv

* verbose

* init pyenv

* install eigen

* ffmpeg

* sdl

* libav

* libtool

* glfw

* add pipfile as cache key

* test cache

* fix cache path

* brew link

* update tools readme

* don't cache on pipfile

* skip python install if installed

* unlink

* simpler cachingm

* here's your key

* cache pip too

* cache pyenv
albatross
Adeeb Shihadeh 2020-08-10 00:44:24 -07:00 committed by GitHub
parent d6288c1bb9
commit c450110f96
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 54 additions and 11 deletions

View File

@ -48,6 +48,31 @@ jobs:
scons -j$(nproc) && \
$UNIT_TEST selfdrive/car"
build_mac:
name: build macos
runs-on: macos-10.15
timeout-minutes: 35
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: Cache dependencies
id: dependency-cache
uses: actions/cache@v2
with:
path: |
~/.pyenv
~/Library/Caches/pip
~/Library/Caches/pipenv
~/Library/Caches/Homebrew
key: ${{ hashFiles('tools/mac_setup.sh') }}
- name: Install dependencies
run: ./tools/mac_setup.sh
- name: Build openpilot
run: eval "$(pyenv init -)" && scons -j$(nproc)
- name: Brew cleanup
run: brew cleanup # keeps our cache small
docker_push:
name: docker push
runs-on: ubuntu-16.04

View File

@ -24,23 +24,15 @@ Table of Contents
Requirements
============
openpilot tools and the following setup steps are developed and tested on Ubuntu 16.04, MacOS 10.14.2 and Python 3.7.3.
openpilot tools and the following setup steps are developed and tested on Ubuntu 16.04, MacOS 10.14.2 and Python 3.8.2.
Setup
============
1. Run ubuntu_setup.sh, make sure everything completed correctly
1. Run `ubuntu_setup.sh` or `mac_setup.sh`, make sure everything completed correctly
2. Compile openpilot by running ```scons``` in the openpilot directory
3. Add some folders to root
```bash
sudo mkdir /data
sudo mkdir /data/params
sudo chown $USER /data/params
```
4. Try out some tools!
3. Try out some tools!
Tool examples

26
tools/mac_setup.sh 100755
View File

@ -0,0 +1,26 @@
#!/bin/bash -e
# install brew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
brew install capnp \
czmq \
coreutils \
eigen \
ffmpeg \
glfw \
libarchive \
libtool \
llvm \
pyenv \
zeromq
# install python
pyenv install -s 3.8.2
pyenv global 3.8.2
pyenv rehash
eval "$(pyenv init -)"
pip install pipenv==2018.11.26
pipenv install --system --deploy