Repository: tarantool/tarantool-python (language: python)

Issue:
Setup GitHub Actions
Instead of Travis CI (which is going to be paid service) and AppVeyor (because GitHub Actions has Windows runners).
Setup GitHub Actions
Instead of Travis CI (which is going to be paid service) and AppVeyor (because GitHub Actions has Windows runners).


Discussion / hints:

Fix patch:
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 268506fe..00000000
--- a/.travis.yml
+++ /dev/null
@@ -1,220 +0,0 @@
-sudo: required
-services:
-  - docker
-
-language: python
-cache: false
-
-env:
-    matrix:
-      - TARGET=test
-        PYTHON_MSGPACK=msgpack-python==0.4.0
-      - TARGET=test
-        PYTHON_MSGPACK=msgpack==0.5.0
-      - TARGET=test
-        PYTHON_MSGPACK=msgpack==0.6.0
-      - TARGET=test
-        PYTHON_MSGPACK=msgpack==0.6.2
-      - TARGET=test
-        PYTHON_MSGPACK=msgpack==1.0.0
-      - OS=el DIST=6
-      - OS=el DIST=7
-      - OS=fedora DIST=28
-      - OS=fedora DIST=29
-      - OS=fedora DIST=30
-      - OS=ubuntu DIST=trusty
-      - OS=ubuntu DIST=xenial
-      - OS=ubuntu DIST=bionic
-      - OS=ubuntu DIST=eoan
-      - OS=ubuntu DIST=focal
-      - OS=debian DIST=jessie
-      - OS=debian DIST=stretch
-      - OS=debian DIST=buster
-
-script:
-  - git describe --long
-  - export VERSION=$(git describe --long --always | sed -n 's/^\([0-9\.]*\)-\([0-9]*\)-\([a-z0-9]*\)/\1/p')
-  - export RELEASE=$(git describe --long --always | sed -n 's/^\([0-9\.]*\)-\([0-9]*\)-\([a-z0-9]*\)/\2/p')
-  - |
-    if [ "${TARGET}" = "test" ]; then
-        ./test.sh;
-    else
-        git clone https://github.com/packpack/packpack.git packpack;
-        packpack/packpack;
-    fi;
-
-before_deploy:
-  - ls -l build/
-
-deploy:
-  # Deploy packages to PackageCloud from master branch (w/o tagged revisions)
-  - provider: packagecloud
-    username: tarantool
-    repository: "1_6"
-    token: ${PACKAGECLOUD_TOKEN}
-    dist: ${OS}/${DIST}
-    package_glob: build/*.{rpm,deb}
-    skip_cleanup: true
-    on:
-      branch: master
-      condition: -n "${OS}" && -n "${DIST}" && -n "${PACKAGECLOUD_TOKEN}"
-  - provider: packagecloud
-    username: tarantool
-    repository: "1_7"
-    token: ${PACKAGECLOUD_TOKEN}
-    dist: ${OS}/${DIST}
-    package_glob: build/*.{rpm,deb}
-    skip_cleanup: true
-    on:
-      branch: master
-      condition: -n "${OS}" && -n "${DIST}" && -n "${PACKAGECLOUD_TOKEN}"
-  - provider: packagecloud
-    username: tarantool
-    repository: "1_9"
-    token: ${PACKAGECLOUD_TOKEN}
-    dist: ${OS}/${DIST}
-    package_glob: build/*.{rpm,deb}
-    skip_cleanup: true
-    on:
-      branch: master
-      condition: -n "${OS}" && -n "${DIST}" && -n "${PACKAGECLOUD_TOKEN}"
-  - provider: packagecloud
-    username: tarantool
-    repository: "1_10"
-    token: ${PACKAGECLOUD_TOKEN}
-    dist: ${OS}/${DIST}
-    package_glob: build/*.{rpm,deb}
-    skip_cleanup: true
-    on:
-      branch: master
-      condition: -n "${OS}" && -n "${DIST}" && -n "${PACKAGECLOUD_TOKEN}"
-  - provider: packagecloud
-    username: tarantool
-    repository: "2x"
-    token: ${PACKAGECLOUD_TOKEN}
-    dist: ${OS}/${DIST}
-    package_glob: build/*.{rpm,deb}
-    skip_cleanup: true
-    on:
-      branch: master
-      condition: -n "${OS}" && -n "${DIST}" && -n "${PACKAGECLOUD_TOKEN}"
-  - provider: packagecloud
-    username: tarantool
-    repository: "2_2"
-    token: ${PACKAGECLOUD_TOKEN}
-    dist: ${OS}/${DIST}
-    package_glob: build/*.{rpm,deb}
-    skip_cleanup: true
-    on:
-      branch: master
-      condition: -n "${OS}" && -n "${DIST}" && -n "${PACKAGECLOUD_TOKEN}"
-  - provider: packagecloud
-    username: tarantool
-    repository: "2_3"
-    token: ${PACKAGECLOUD_TOKEN}
-    dist: ${OS}/${DIST}
-    package_glob: build/*.{rpm,deb}
-    skip_cleanup: true
-    on:
-      branch: master
-      condition: -n "${OS}" && -n "${DIST}" && -n "${PACKAGECLOUD_TOKEN}"
-  - provider: packagecloud
-    username: tarantool
-    repository: "2_4"
-    token: ${PACKAGECLOUD_TOKEN}
-    dist: ${OS}/${DIST}
-    package_glob: build/*.{rpm,deb}
-    skip_cleanup: true
-    on:
-      branch: master
-      condition: -n "${OS}" && -n "${DIST}" && -n "${PACKAGECLOUD_TOKEN}"
-  # Deploy packages to PackageCloud from tagged revisions
-  # https://github.com/tarantool/tarantool/issues/3745
-  # https://github.com/travis-ci/travis-ci/issues/7780#issuecomment-302389370
-  - provider: packagecloud
-    username: tarantool
-    repository: "1_6"
-    token: ${PACKAGECLOUD_TOKEN}
-    dist: ${OS}/${DIST}
-    package_glob: build/*.{rpm,deb}
-    skip_cleanup: true
-    on:
-      tags: true
-      condition: -n "${OS}" && -n "${DIST}" && -n "${PACKAGECLOUD_TOKEN}"
-  - provider: packagecloud
-    username: tarantool
-    repository: "1_7"
-    token: ${PACKAGECLOUD_TOKEN}
-    dist: ${OS}/${DIST}
-    package_glob: build/*.{rpm,deb}
-    skip_cleanup: true
-    on:
-      tags: true
-      condition: -n "${OS}" && -n "${DIST}" && -n "${PACKAGECLOUD_TOKEN}"
-  - provider: packagecloud
-    username: tarantool
-    repository: "1_9"
-    token: ${PACKAGECLOUD_TOKEN}
-    dist: ${OS}/${DIST}
-    package_glob: build/*.{rpm,deb}
-    skip_cleanup: true
-    on:
-      tags: true
-      condition: -n "${OS}" && -n "${DIST}" && -n "${PACKAGECLOUD_TOKEN}"
-  - provider: packagecloud
-    username: tarantool
-    repository: "1_10"
-    token: ${PACKAGECLOUD_TOKEN}
-    dist: ${OS}/${DIST}
-    package_glob: build/*.{rpm,deb}
-    skip_cleanup: true
-    on:
-      tags: true
-      condition: -n "${OS}" && -n "${DIST}" && -n "${PACKAGECLOUD_TOKEN}"
-  - provider: packagecloud
-    username: tarantool
-    repository: "2x"
-    token: ${PACKAGECLOUD_TOKEN}
-    dist: ${OS}/${DIST}
-    package_glob: build/*.{rpm,deb}
-    skip_cleanup: true
-    on:
-      tags: true
-      condition: -n "${OS}" && -n "${DIST}" && -n "${PACKAGECLOUD_TOKEN}"
-  - provider: packagecloud
-    username: tarantool
-    repository: "2_2"
-    token: ${PACKAGECLOUD_TOKEN}
-    dist: ${OS}/${DIST}
-    package_glob: build/*.{rpm,deb}
-    skip_cleanup: true
-    on:
-      tags: true
-      condition: -n "${OS}" && -n "${DIST}" && -n "${PACKAGECLOUD_TOKEN}"
-  - provider: packagecloud
-    username: tarantool
-    repository: "2_3"
-    token: ${PACKAGECLOUD_TOKEN}
-    dist: ${OS}/${DIST}
-    package_glob: build/*.{rpm,deb}
-    skip_cleanup: true
-    on:
-      tags: true
-      condition: -n "${OS}" && -n "${DIST}" && -n "${PACKAGECLOUD_TOKEN}"
-  - provider: packagecloud
-    username: tarantool
-    repository: "2_4"
-    token: ${PACKAGECLOUD_TOKEN}
-    dist: ${OS}/${DIST}
-    package_glob: build/*.{rpm,deb}
-    skip_cleanup: true
-    on:
-      tags: true
-      condition: -n "${OS}" && -n "${DIST}" && -n "${PACKAGECLOUD_TOKEN}"
-
-notifications:
-  email:
-    recipients:
-      - build@tarantool.org
-    on_success: change
-    on_failure: always
diff --git a/Jenkinsfile b/Jenkinsfile
deleted file mode 100644
index 7cdcde97..00000000
--- a/Jenkinsfile
+++ /dev/null
@@ -1,8 +0,0 @@
-stage('Build'){
-    packpack = new org.tarantool.packpack()
-    node {
-        checkout scm
-        packpack.prepareSources()
-    }
-    packpack.packpackBuildMatrix('result')
-}
diff --git a/appveyor.yml b/appveyor.yml
deleted file mode 100644
index 87e461ff..00000000
--- a/appveyor.yml
+++ /dev/null
@@ -1,25 +0,0 @@
-environment:
-  matrix:
-    - PYTHON: "C:\\Python27"
-    - PYTHON: "C:\\Python27-x64"
-    - PYTHON: "C:\\Python34"
-    - PYTHON: "C:\\Python34-x64"
-    - PYTHON: "C:\\Python35"
-    - PYTHON: "C:\\Python35-x64"
-    - PYTHON: "C:\\Python36"
-    - PYTHON: "C:\\Python36-x64"
-    - PYTHON: "C:\\Python37"
-    - PYTHON: "C:\\Python37-x64"
-    - PYTHON: "C:\\Python38"
-    - PYTHON: "C:\\Python38-x64"
-
-install:
-  # install runtime dependencies
-  - "%PYTHON%\\python.exe -m pip install -r requirements.txt"
-  # install testing dependencies
-  - "%PYTHON%\\python.exe -m pip install -r requirements-test.txt"
-
-build: off
-
-test_script:
-  - "%PYTHON%\\python.exe setup.py test"
diff --git a/tox.ini b/tox.ini
deleted file mode 100644
index 2a9f9613..00000000
--- a/tox.ini
+++ /dev/null
@@ -1,14 +0,0 @@
-# Tox (http://tox.testrun.org/) is a tool for running tests
-# in multiple virtualenvs. This configuration file will run the
-# test suite on all supported python versions. To use it, "pip install tox"
-# and then run "tox" from this directory.
-
-[tox]
-envlist = py27, py36, pypy
-
-[testenv]
-commands = pytest
-deps =
-    pyyaml>=3.10
-    msgpack-python>=0.4.0
-    pytest>=3.0.0


Test patch:
diff --git a/test.sh b/test.sh
deleted file mode 100755
index 16bb73cc..00000000
--- a/test.sh
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/bin/sh
-
-set -exu # Strict shell (w/o -o pipefail)
-
-# Install tarantool.
-curl http://download.tarantool.org/tarantool/2x/gpgkey | sudo apt-key add -
-release=`lsb_release -c -s`
-echo "deb http://download.tarantool.org/tarantool/2x/ubuntu/ ${release} main" | sudo tee /etc/apt/sources.list.d/tarantool_2x.list
-sudo apt-get update > /dev/null
-sudo apt-get -q -y install tarantool
-
-# Install module requirements.
-#
-# Keep it in sync with requirements.txt.
-pip install "${PYTHON_MSGPACK:-msgpack==1.0.0}"
-python -c 'import msgpack; print(msgpack.version)'
-
-# Install testing dependencies.
-pip install pyyaml dbapi-compliance==1.15.0
-
-# Run tests.
-python setup.py test