diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml new file mode 100644 index 0000000000..dea9246647 --- /dev/null +++ b/.github/workflows/ci.yaml @@ -0,0 +1,49 @@ +name: Zipline CI + +on: + push: + branches: + - master + pull_request: + branches: + - master + +jobs: + build-and-test: + + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, macos-latest] + python-version: [3.5] + steps: + - uses: actions/checkout@v2 + with: + submodules: 'recursive' + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v2.1.1 + with: + python-version: ${{ matrix.python-version }} + - name: Install TA lib (ubuntu) + if: startsWith(matrix.os, 'ubuntu') + run: | + wget https://s3.amazonaws.com/quantopian-orchestration/packages/ta-lib-0.4.0-src.tar.gz + tar xvfz ta-lib-0.4.0-src.tar.gz + cd ta-lib + ./configure + make + sudo make install + ldconfig + - name: Install TA lib (macOS) + if: startsWith(matrix.os, 'macos') + run: | + brew install ta-lib + # TODO: set up pip cache + - name: Install requirements + run: | + python -m pip install -r etc/requirements_build.in -c etc/requirements_locked.txt + python -m pip install --no-binary=bcolz -e .[all] -r etc/requirements_blaze.in -c etc/requirements_locked.txt + - name: Run tests + run: | + nosetests tests