Skip to content

Commit

Permalink
move x86 tests from Travis to GHA, add aarch64 wheel build to Travis (#…
Browse files Browse the repository at this point in the history
…3026)

* Move Travis x86 tests to Github Actions

* Add Travis-CI config to build aarch64 wheels

* Upload wheels irrespective of success/failure

* Run all Github tests on Ubuntu 20.04

* Only build on tagged commits

Co-authored-by: Michael Penkov <m@penkov.dev>
  • Loading branch information
janaknat and mpenkov authored Jan 30, 2021
1 parent 43e94d6 commit 01cffc4
Show file tree
Hide file tree
Showing 2 changed files with 89 additions and 46 deletions.
47 changes: 47 additions & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: Tests
on:
push:
branches: [ develop ]
pull_request:
branches: [ develop ]

jobs:
tests:
name: ${{ matrix.name }}
runs-on: ${{ matrix.os }}
defaults:
run:
shell: bash
strategy:
fail-fast: false
matrix:
include:
- {name: Linux, python: 3.6, os: ubuntu-20.04, tox: 'flake8,flake8-docs'}
- {name: Linux, python: 3.6, os: ubuntu-20.04, tox: 'py36-linux'}
- {name: Linux, python: 3.7, os: ubuntu-20.04, tox: 'py37-linux'}
- {name: Linux, python: 3.8, os: ubuntu-20.04, tox: 'py38-linux'}
env:
TOX_PARALLEL_NO_SPINNER: 1

steps:
- uses: actions/checkout@v2
- name: Setup up Python ${{ matrix.python }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python }}
- name: Update pip
run: python -m pip install -U pip
- name: Install tox, gdb
run: |
pip install tox
sudo apt-get install -y gdb
- name: Enable core dumps
run: ulimit -c unlimited -S # enable core dumps
- name: Run tox tests
run: tox -e ${{ matrix.tox }}
- name: Collect corefile
if: ${{ failure() }}
run: |
pwd
COREFILE=$(find . -maxdepth 1 -name "core*" | head -n 1)
if [[ -f "$COREFILE" ]]; then EXECFILE=$(gdb -c "$COREFILE" -batch | grep "Core was generated" | tr -d "\`" | cut -d' ' -f5); file "$COREFILE"; gdb -c "$COREFILE" "$EXECFILE" -x continuous_integration/debug.gdb -batch; fi
88 changes: 42 additions & 46 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,53 +1,49 @@
sudo: false

cache:
apt: true
directories:
- $HOME/.cache/pip
- $HOME/.ccache
- $HOME/.pip-cache
dist: trusty
branches:
only:
- /v\d+\.\d+\.\d+/
language: python
arch: arm64-graviton2
dist: focal
virt: vm
group: edge
services: docker
env:
TOX_PARALLEL_NO_SPINNER: 1

global:
- REPO_DIR=gensim
- BUILD_COMMIT=HEAD
- UNICODE_WIDTH=32
- PLAT=aarch64
- MB_ML_VER=2014
- SKIP_NETWORK_TESTS=1
- DOCKER_TEST_IMAGE=multibuild/xenial_arm64v8
- BUILD_DEPENDS="numpy==1.19.2 scipy==1.5.3"
- TEST_DEPENDS="pytest mock cython nmslib pyemd testfixtures Morfessor==2.0.2a4 python-levenshtein==0.12.0 visdom==0.1.8.9 scikit-learn"

matrix:
include:
- python: '3.6'
env: TOXENV="flake8,flake8-docs"

- python: '3.8'
- os: linux
env:
- TOXENV="py38-linux"
dist: bionic

- python: '3.7'
- MB_PYTHON_VERSION=3.6
- os: linux
env:
- TOXENV="py37-linux"
# The following two lines used to be necessary because Travis left files lying around in ~/.aws/,
# messing up our tests. Now fixed since https://github.com/travis-ci/travis-ci/issues/7940
# - BOTO_CONFIG="/dev/null"
#sudo: true
dist: xenial

- python: '3.6'
env: TOXENV="py36-linux"


- MB_PYTHON_VERSION=3.7
- os: linux
env:
- MB_PYTHON_VERSION=3.8
before_install:
- source multibuild/common_utils.sh
- source multibuild/travis_steps.sh
- before_install
install:
- pip install tox
- sudo apt-get install -y gdb


before_script:
- ulimit -c unlimited -S # enable core dumps


script: tox


after_failure:
- pwd
- COREFILE=$(find . -maxdepth 1 -name "core*" | head -n 1)
- if [[ -f "$COREFILE" ]]; then EXECFILE=$(gdb -c "$COREFILE" -batch | grep "Core was generated" | tr -d "\`" | cut -d' ' -f5); file "$COREFILE"; gdb -c "$COREFILE" "$EXECFILE" -x continuous_integration/debug.gdb -batch; fi
- build_wheel $REPO_DIR $PLAT
script:
- install_run $PLAT
after_script:
- ls -laht ${TRAVIS_BUILD_DIR}/wheelhouse/
- pip install wheelhouse-uploader
- python -m wheelhouse_uploader upload --local-folder ${TRAVIS_BUILD_DIR}/wheelhouse/ --no-ssl-check gensim-wheels --provider S3 --no-enable-cdn

notifications:
email:
- penkov+gensimwheels@pm.me
on_success: always
on_failure: always

0 comments on commit 01cffc4

Please sign in to comment.