sapling/.github/workflows/mononoke-integration_mac.yml
Lukas Piatkowski 88782c8f69 mononoke/integration tests: use GNU command lines to run tests on MacOS
Summary: MacOS uses FreeBSD version of command line tools. This diff uses brew to install the GNU tooling on GitHub CI and uses it to run the integration tests.

Reviewed By: krallin

Differential Revision: D22762198

fbshipit-source-id: 1f67674392bf6eceea9d2de02e929bb3f9f7cadd
2020-07-28 08:02:52 -07:00

87 lines
2.6 KiB
YAML

name: Mononoke Integration Tests Mac
on:
push:
branches:
- master
pull_request:
branches:
- master
jobs:
tests:
runs-on: macOS-latest
env:
DEVELOPER_DIR: /Applications/Xcode_10.3.app/Contents/Developer
steps:
- uses: actions/checkout@v1
- name: Check space
run: df -h
- name: Install Rust Stable
uses: actions-rs/toolchain@v1
with:
toolchain: 1.44.0
default: true
profile: minimal
- name: Install Python 2.7
uses: actions/setup-python@v2
with:
python-version: '2.7'
- name: Install system deps
run: sudo python3 build/fbcode_builder/getdeps.py --allow-system-packages install-system-deps --recursive eden_scm
- name: Build eden_scm dependencies
run: >-
python3 build/fbcode_builder/getdeps.py build
--allow-system-packages
--scratch-path /tmp/build
--only-deps
--src-dir=.
eden_scm
- name: Build eden_scm
run: >-
python3 build/fbcode_builder/getdeps.py build
--allow-system-packages
--scratch-path /tmp/build
--no-deps
--src-dir=.
eden_scm
- name: Build mononoke dependencies
run: >-
python3 build/fbcode_builder/getdeps.py build
--allow-system-packages
--scratch-path /tmp/build
--only-deps
--src-dir=.
mononoke
- name: Build mononoke
run: >-
python3 build/fbcode_builder/getdeps.py build
--allow-system-packages
--scratch-path /tmp/build
--no-deps
--src-dir=.
mononoke
- name: Install Python 3.7
uses: actions/setup-python@v2
with:
python-version: '3.7'
- name: Install Python dependencies
run: |
python -m pip install --upgrade pip
pip install click
- name: Install Brew dependencies
run: |
brew install coreutils curl-openssl gnu-sed grep jq
- name: Check space
run: df -h
- name: Run Monononke integration tests
run: |
export PATH="/usr/local/opt/curl-openssl/bin:$PATH"
python3 eden/mononoke/tests/integration/run_tests_getdeps.py /tmp/build/installed /tmp/build/build/mononoke_integration_test
continue-on-error: true
- name: Rerun failed Monononke integration tests (reduce flakiness)
run: |
cat eden/mononoke/tests/integration/.test* || true
export PATH="/usr/local/opt/curl-openssl/bin:$PATH"
python3 eden/mononoke/tests/integration/run_tests_getdeps.py /tmp/build/installed /tmp/build/build/mononoke_integration_test --rerun-failed