From 7efe1082bc67686574f20013a1fc427c7a1abd23 Mon Sep 17 00:00:00 2001 From: Griatch Date: Sun, 17 May 2020 10:55:13 +0200 Subject: [PATCH] Revert "Stop github-action experiment for now" This reverts commit c13f53397e75d22d523f36ac979f3b69170a4899. --- .github/workflows/pythonpackage.yml | 76 +++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 .github/workflows/pythonpackage.yml diff --git a/.github/workflows/pythonpackage.yml b/.github/workflows/pythonpackage.yml new file mode 100644 index 0000000000..3f511d9732 --- /dev/null +++ b/.github/workflows/pythonpackage.yml @@ -0,0 +1,76 @@ +# This Evennia workflow will install Python dependencies, run tests with a variety of Python versions +# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions + +name: Evennia test-suite and coveralls + +on: + push: + branches: [ master, develop ] + pull_request: + branches: [ master, develop ] + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + python-version: [3.7, 3.8] + TESTING_DB: [sqlite3, postgresql, mysql] + steps: + - uses: actions/checkout@v2 + - uses: harmon758/postgresql-action@v1 + with: + postgresql version: '10.7' + postgresql db: postgres + - uses: mirromutth/mysql-action@v1.1 + with: + mysql version: '8.0' + mysql root password: 'root' + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + + - name: Setup PostgreSQL database + if: ${{ matrix.TESTING_DB == 'postgresql' }} + run: | + psql --version + psql -U postgres -c "CREATE DATABASE evennia;" + psql -U postgres -c "CREATE USER evennia WITH PASSWORD 'password';" + psql -U postgres -c "ALTER USER evennia CREATEDB;" + - name: Setup MySQL database + if: ${{ matrix.TESTING_DB == 'mysql' }} + run: | + mysql --version + mysql -u root -e "CREATE DATABASE evennia CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;" + mysql -u root -e "CREATE USER 'evennia'@'localhost' IDENTIFIED BY 'password';" + mysql -u root -e "GRANT ALL ON *.* TO 'evennia'@'localhost' IDENTIFIED BY 'password';" + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install wheel + pip install psycopg2-binary + pip install mysqlclient + pip install coveralls + pip install codacy-coverage + pip install -e . + pip install -r requirements_extra.txt + - name: Set up evennia + run: | + evennia --init testing_mygame + cp .travis/${{ matrix.TESTING_DB }}_settings.py testing_mygame/server/conf/settings.py + cd testing_mygame + evennia migrate + evennia collectstatic --noinput + - name: run test + run: | + coverage run --source=../evennia --omit=*/migrations/*,*/urls.py,*/test*.py,*.sh,*.txt,*.md,*.pyc,*.service ../bin/unix/evennia test --settings=settings --keepdb evennia + + # we only want to run coverall once, so we only do it for one of the matrix combinations + - name: run coverall + if: ${{ matrix.TESTING_DB == 'sqlite3' && matrix.python-version == 3.7 }} + run: | + coveralls + coverage xml + python-codacy-coverage -r coverage.xml