anki/.github/workflows/mac_checks.yml

90 lines
3.0 KiB
YAML

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