From 2dd6292cce6be0ae0373066d6c82edf69c4513da Mon Sep 17 00:00:00 2001 From: Wille Marcel Date: Mon, 2 Nov 2020 21:55:00 -0300 Subject: [PATCH 1/2] Use GitHub actions to run tests --- .github/workflows/django.yml | 59 ++++++++++++++++++++++++++++++++++++ requirements/local.txt | 1 - requirements/test.txt | 1 + 3 files changed, 60 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/django.yml diff --git a/.github/workflows/django.yml b/.github/workflows/django.yml new file mode 100644 index 00000000..08d96c58 --- /dev/null +++ b/.github/workflows/django.yml @@ -0,0 +1,59 @@ +name: Django CI + +on: + [push, pull_request] + +jobs: + build: + runs-on: ubuntu-latest + strategy: + max-parallel: 4 + matrix: + python-version: [3.6, 3.7, 3.8] + + steps: + - uses: actions/checkout@v2 + - name: Setup PostgreSQL with Postgis + uses: huaxk/postgis-action@v1.0.0 + with: + postgresql version: latest + postgresql db: osmcha + postgresql user: ${{ secrets.POSTGRES_USER }} + postgresql password: ${{ secrets.POSTGRES_PASSWORD }} + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + - name: Install Dependencies + run: | + sudo apt-get install -y binutils libproj-dev python3-gdal libgeos-dev libyaml-dev + python -m pip install --upgrade pip + pip install --upgrade coveralls + pip install -r requirements/test.txt + - name: Run Tests + run: | + coverage run manage.py test --settings=config.settings.tests + env: + OAUTH_OSM_KEY: ${{ secrets.OAUTH_OSM_KEY }} + OAUTH_OSM_SECRET: ${{ secrets.OAUTH_OSM_SECRET }} + POSTGRES_USER: ${{ secrets.POSTGRES_USER }} + POSTGRES_PASSWORD: ${{ secrets.POSTGRES_PASSWORD }} + - name: Upload Coverage + run: coveralls + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + COVERALLS_FLAG_NAME: ${{ matrix.test-name }} + COVERALLS_PARALLEL: true + + coveralls: + name: Finish Coveralls + needs: build + runs-on: ubuntu-latest + container: python:3-slim + steps: + - name: Finished + run: | + pip install --upgrade coveralls + coveralls --finish + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/requirements/local.txt b/requirements/local.txt index 8d761b35..d2042be4 100644 --- a/requirements/local.txt +++ b/requirements/local.txt @@ -1,7 +1,6 @@ # Local development dependencies go here -r test.txt django-extensions==3.0.9 -coverage==5.3 Sphinx==3.2.1 Werkzeug==1.0.1 diff --git a/requirements/test.txt b/requirements/test.txt index 51254e9a..7b1e5ea0 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -1,5 +1,6 @@ # Test dependencies go here. -r base.txt flake8==3.8.4 +coverage==5.3 django-test-plus==1.4.0 factory-boy==3.1.0 From 54345c5138355a672d82ddbaf969958b4dbf189e Mon Sep 17 00:00:00 2001 From: Wille Marcel Date: Tue, 3 Nov 2020 06:41:44 -0300 Subject: [PATCH 2/2] remove travis + set pull_request_target instead of push events --- .github/workflows/django.yml | 2 +- .travis.yml | 38 ------------------------------------ 2 files changed, 1 insertion(+), 39 deletions(-) delete mode 100644 .travis.yml diff --git a/.github/workflows/django.yml b/.github/workflows/django.yml index 08d96c58..8a4fdb91 100644 --- a/.github/workflows/django.yml +++ b/.github/workflows/django.yml @@ -1,7 +1,7 @@ name: Django CI on: - [push, pull_request] + [pull_request, pull_request_target] jobs: build: diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 3679a7b8..00000000 --- a/.travis.yml +++ /dev/null @@ -1,38 +0,0 @@ -language: python -dist: xenial -sudo: false -python: - - "3.8" - - "3.7" - - "3.6" - - "3.5" - -addons: - postgresql: "9.5" - apt: - packages: - - postgresql-9.5-postgis-2.4 - - binutils - - libproj-dev - - python3-gdal - - libgeos-dev - - libyaml-dev - - libgnutls28-dev - -install: - - "pip install coveralls" - - "pip install -r requirements/test.txt" - -before_script: - - psql -c 'create database osmcha;' -U postgres - - psql -c 'CREATE EXTENSION postgis;' -U postgres -d osmcha - - psql -c 'CREATE EXTENSION postgis_topology;' -U postgres -d osmcha - -script: -- coverage run manage.py test --settings=config.settings.tests - -after_success: - - coveralls - -notifications: - email: false