Create faiseq #3410
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: build | |
on: | |
# Trigger the workflow on push to main or any pull request | |
push: | |
branches: | |
- main | |
pull_request: | |
jobs: | |
build: | |
strategy: | |
max-parallel: 4 | |
matrix: | |
platform: [ubuntu-latest, macos-latest] | |
python-version: [3.8, 3.9] | |
runs-on: ${{ matrix.platform }} | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v2 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Conditionally install pytorch | |
if: matrix.platform == 'windows-latest' | |
run: pip3 install torch -f https://download.pytorch.org/whl/torch_stable.html | |
- name: Install locally | |
run: | | |
python -m pip install --upgrade pip | |
git submodule update --init --recursive | |
python -m pip install . | |
- name: Check installation | |
working-directory: /tmp | |
run: python $GITHUB_WORKSPACE/scripts/check_installation.py | |
- name: Install optional test requirements | |
run: | | |
python -m pip install '.[dev,docs]' | |
python -m pip install iopath transformers pyarrow | |
python -m pip install git+https://github.com/facebookresearch/fairscale.git@main | |
python -m pip install pygit2 pgzip | |
- name: Install xformers for Macos | |
if: matrix.platform == 'macos-latest' | |
run: | | |
brew install llvm libomp | |
CC=/usr/local/opt/llvm/bin/clang CXX=clang++ pip install git+https://github.com/facebookresearch/xformers.git@main | |
- name: Install xformers for non-MacOS | |
if: matrix.platform != 'macos-latest' | |
run: | | |
python -m pip install --progress-bar off git+https://github.com/facebookresearch/xformers.git@main | |
- name: Lint with black | |
run: black --check --diff . | |
- name: Lint with flake8 | |
run: | | |
# stop the build if there are Python syntax errors or undefined names | |
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics | |
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide | |
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics | |
- name: Build doc | |
run: make singlehtml | |
working-directory: docs/ | |
- name: Run tests | |
# When installing in non-editable mode, the .so files will be generated in 'site-packages/fairseq'. | |
# But by default, pytest import machinery will load local fairseq, and won't see the .so. | |
# Use --import-mode=append to favorize the 'site-packages/fairseq'. | |
# https://docs.pytest.org/en/7.1.x/explanation/pythonpath.html | |
run: pytest --import-mode=append -vvv tests/ | |