diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 000000000..864f80309 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,62 @@ +name: Test + +on: + push: + pull_request: + +jobs: + build: + + runs-on: ${{ matrix.runs-on }} + strategy: + matrix: + python-version: ["3.5", "3.6", "3.7", "3.8", "3.9", "3.10.0-beta.4", "pypy-3.6", "pypy-3.7"] + with-opt-deps: [false, true] + runs-on: [ubuntu-latest] + exclude: + # Some of the dependencies don't work on old Python versions + - python-version: "3.4" + with-opt-deps: true + - python-version: "3.5" + with-opt-deps: true + - python-version: "3.6" + with-opt-deps: true + - python-version: "pypy-3.6" + with-opt-deps: true + include: + - python-version: "3.4" + with-opt-deps: false + runs-on: ubuntu-18.04 + + steps: + - uses: actions/checkout@v2 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + + - name: Upgrade pip + run: | + python3 -m pip install --upgrade pip + + - name: Install optional dependencies + if: ${{ matrix.with-opt-deps }} + run: | + python3 -m pip install --upgrade pip + pip3 install -r requirements.txt + + - name: Install + run: | + python3 setup.py install + + - name: Test with unittest + run: | + supybot-test test -v --plugins-dir=./plugins/ --no-network + + - name: Test with irctest + if: "${{ matrix.with-opt-deps && matrix.python-version != 'pypy-3.7' }}" + run: | + git clone https://github.com/ProgVal/irctest.git + cd irctest + pip3 install -r requirements.txt + make limnoria diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index ef21b1c08..000000000 --- a/.travis.yml +++ /dev/null @@ -1,54 +0,0 @@ -language: python -sudo: true -install: - - if [ "$WITH_OPT_DEPS" = "true" ] ; then pip install -vr requirements.txt pytest; fi - - git clone https://github.com/ProgVal/irctest.git - - echo "y" | pip uninstall limnoria || true -# command to run tests, e.g. python setup.py test -script: - - echo $TRAVIS_PYTHON_VERSION - - python setup.py install - - supybot-test test -v --plugins-dir=./plugins/ --no-network - - if [ "$WITH_OPT_DEPS" = "true" ] -a [[ "$TRAVIS_PYTHON_VERSION" =~ ^3\.[4-9] ]] ; then cd irctest; pytest --controllers irctest.controllers.limnoria; fi -notifications: - email: false -matrix: - include: - - python: "3.4" - env: WITH_OPT_DEPS=false - dist: trusty - - python: "3.5" - env: WITH_OPT_DEPS=false - dist: trusty - - python: "3.6" - env: WITH_OPT_DEPS=false - dist: trusty - - - python: "3.7" - env: WITH_OPT_DEPS=false - dist: xenial - - python: "3.7" - env: WITH_OPT_DEPS=true - dist: xenial - - python: "3.8" - env: WITH_OPT_DEPS=true - dist: xenial - - python: "3.9" - env: WITH_OPT_DEPS=true - dist: xenial - - python: "nightly" - env: WITH_OPT_DEPS=true - dist: xenial - - - python: "pypy3" - env: WITH_OPT_DEPS=false - dist: trusty - - - python: "nightly" - env: WITH_OPT_DEPS=true - dist: xenial - - allow_failures: - - python: "pypy3" - env: WITH_OPT_DEPS=true - dist: xenial