name: Mac Tests # Disabled until Mac OS builds until this gets fixed: # https://github.com/actions/virtual-environments/issues/602 on: [push, pull_request] jobs: test: runs-on: macOS-latest steps: - uses: actions/checkout@v2 - name: Configure environment variables run: | echo "::set-env name=BUILDFLAGS::" echo "::set-env name=RSPY_TARGET_DIR::${GITHUB_WORKSPACE}/target" echo "::set-env name=CARGO_TARGET_DIR::${GITHUB_WORKSPACE}/target" # Necessary for now for the cargo cache: # https://github.com/actions/cache/issues/133#issuecomment-599102035 - name: Fix ~/.cache permissions run: | sudo chown -R $(whoami):$(id -ng) ~/.cargo/ - name: Cache cargo registry uses: actions/cache@v1 with: path: ~/.cargo/registry key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.toml') }}-3- - name: Cache cargo index uses: actions/cache@v1 with: path: ~/.cargo/git key: ${{ runner.os }}-cargo-index-${{ hashFiles('**/Cargo.toml') }}-3- - name: Cache cargo target uses: actions/cache@v1 with: path: ${{ github.workspace }}/target key: ${{ runner.os }}-cargo-target-${{ hashFiles('**/Cargo.toml') }}-3- - name: Cache cargo rslib uses: actions/cache@v1 with: path: ${{ github.workspace }}/rslib/target key: ${{ runner.os }}-cargo-rslib-${{ hashFiles('**/Cargo.toml') }}-3- - name: Cache cargo rspy uses: actions/cache@v1 with: path: ${{ github.workspace }}/rspy/target key: ${{ runner.os }}-cargo-rspy-${{ hashFiles('**/Cargo.toml') }}-3- - name: Cache pip wheels uses: actions/cache@v1 with: path: ~/Library/Caches/pip key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}-3- - name: Cache pyenv uses: actions/cache@v1 with: path: ${{ github.workspace }}/pyenv key: ${{ runner.os }}-pyenv-${{ hashFiles('**/Makefile') }}-${{ hashFiles('**/requirements.txt') }}-3- - name: Set up python uses: actions/setup-python@v1 with: python-version: 3.7 - name: Set up protoc uses: arduino/setup-protoc@v1.1.0 with: repo-token: ${{ secrets.GITHUB_TOKEN }} - name: Set up node uses: actions/setup-node@v1 with: node-version: 12 - name: Set up brew packages run: | brew install portaudio protobuf gettext rename ripgrep brew link gettext --force - name: Run develop run: | export SHELLFLAGS=-x make develop - name: Run build run: | export SHELLFLAGS=-x make build - name: Run check run: | export SHELLFLAGS=-x make check - name: Upload python wheels uses: actions/upload-artifact@v1 with: name: anki_mac_os_python_wheels path: dist