sapling/.github/workflows/mononoke-integration_linux.yml
Genevieve Helsel 7c69d0b55e prepare for master -> main branch rename
Reviewed By: ahornby

Differential Revision: D31114901

fbshipit-source-id: eef24bca0ca3e22ae78d3d158046b7a59e90c4cf
2021-09-23 11:23:05 -07:00

150 lines
4.5 KiB
YAML

name: Mononoke Integration Tests Linux
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
tests:
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@v1
- name: Check space before cleanup
run: df -h
- name: Clean space as per https://github.com/actions/virtual-environments/issues/709
run: |
sudo rm -rf "/usr/local/share/boost"
sudo rm -rf "$AGENT_TOOLSDIRECTORY"
docker rmi $(docker image ls -aq)
df -h
- name: Check space
run: df -h
- name: Install Rust Stable
uses: actions-rs/toolchain@v1
with:
toolchain: 1.55.0
default: true
profile: minimal
- name: Install Python 3.7
uses: actions/setup-python@v2
with:
python-version: 3.7
- name: Install system deps
run: >-
sudo python3 build/fbcode_builder/getdeps.py
--allow-system-packages
install-system-deps
--recursive
mononoke_integration
- name: Build eden_scm dependencies
run: >-
python3 build/fbcode_builder/getdeps.py build
--allow-system-packages
--scratch-path /tmp/build
--only-deps
--no-tests
--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
--no-tests
--src-dir=.
eden_scm
- name: Check space before cleanup
run: df -h
- name: Clean up eden_scm build
run: |
rm -rf /tmp/build/build/eden_scm/*
df -h
- name: Build eden_scm_lib_edenapi_tools
run: >-
python3 build/fbcode_builder/getdeps.py build
--allow-system-packages
--scratch-path /tmp/build
--no-tests
--src-dir=.
eden_scm_lib_edenapi_tools
- name: Check space before cleanup
run: df -h
- name: Clean up eden_scm_lib_edenapi_tools build
run: |
rm -rf /tmp/build/build/eden_scm_lib_edenapi_tools/*
df -h
- name: Build mononoke dependencies
run: >-
python3 build/fbcode_builder/getdeps.py build
--allow-system-packages
--scratch-path /tmp/build
--only-deps
--no-tests
--src-dir=.
mononoke
- name: Build mononoke
run: >-
python3 build/fbcode_builder/getdeps.py build
--allow-system-packages
--scratch-path /tmp/build
--no-deps
--no-tests
--src-dir=.
mononoke
- name: Check space before cleanup
run: df -h
- name: Clean up mononoke build
run: |
rm -rf /tmp/build/build/mononoke/*
df -h
- name: Check space before running tests
run: df -h
- name: Build mononoke_integration dependencies
# This is a way of getting all the dependencies of mononoke_integration
# which were not covered by the dependencies of the previous 3 projects.
# We have to do this unfortunately to avoid rebuilding the previous
# project as they have been built with "--src-dir=." option.
run: >-
export PATH="/usr/local/opt/curl-openssl/bin:$PATH";
for x in $(
sort
<(python3 build/fbcode_builder/getdeps.py list-deps mononoke_integration)
<(python3 build/fbcode_builder/getdeps.py list-deps mononoke)
<(python3 build/fbcode_builder/getdeps.py list-deps mononoke)
<(python3 build/fbcode_builder/getdeps.py list-deps eden_scm)
<(python3 build/fbcode_builder/getdeps.py list-deps eden_scm)
<(python3 build/fbcode_builder/getdeps.py list-deps eden_scm_lib_edenapi_tools)
<(python3 build/fbcode_builder/getdeps.py list-deps eden_scm_lib_edenapi_tools)
<(echo mononoke_integration)
| uniq -u
)
;do
python3 build/fbcode_builder/getdeps.py build
--allow-system-packages
--scratch-path /tmp/build
--no-tests
"$x"
;done
- name: Build mononoke_integration
run: >-
python3 build/fbcode_builder/getdeps.py build
--allow-system-packages
--scratch-path /tmp/build
--no-deps
--src-dir=.
mononoke_integration
- name: Test mononoke_integration
run: >-
python3 build/fbcode_builder/getdeps.py test
--allow-system-packages
--scratch-path /tmp/build
--src-dir=.
mononoke_integration
- name: Check space after running tests
run: df -h