Update test #2218
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: [push, pull_request] | |
jobs: | |
test: | |
name: Test | |
env: | |
python-version: "3.10.x" | |
pg-version: "14" | |
postgis-version: "3.2" | |
redis-version: "6.2" | |
node-version: "12" | |
elastic-version: "7.17.6" | |
rpindexer-version: "7.5.0" | |
mailroom-version: "7.5.36" | |
DJANGO_SETTINGS_MODULE: temba.settings_ci | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v1 | |
- name: Install PostgreSQL and PostGIS | |
uses: nyaruka/[email protected] | |
with: | |
postgresql version: ${{ env.pg-version }} | |
postgis version: ${{ env.postgis-version }} | |
postgresql db: temba | |
postgresql user: temba | |
postgresql password: temba | |
postgresql arguments: "--jit=off" | |
- name: Install Linux packages | |
run: | | |
sudo apt update | |
sudo apt install -y --no-install-recommends libgdal-dev gettext ffmpeg | |
- name: Install Python | |
uses: actions/setup-python@v1 | |
with: | |
python-version: ${{ env.python-version }} | |
- name: Install Poetry | |
uses: snok/install-poetry@v1 | |
with: | |
virtualenvs-in-project: true | |
- name: Install Redis | |
uses: zhulik/[email protected] | |
with: | |
redis version: ${{ env.redis-version }} | |
- name: Install ElasticSearch | |
uses: nyaruka/elasticsearch-action@master | |
with: | |
elastic version: ${{ env.elastic-version }} | |
- name: Install Node | |
uses: actions/setup-node@v1 | |
with: | |
node-version: ${{ env.node-version }} | |
- name: Initialize environment | |
run: | | |
poetry install | |
yarn install | |
sudo yarn global add less | |
ln -s ${{ github.workspace }}/temba/settings.py.dev ${{ github.workspace }}/temba/settings.py | |
poetry run ./manage.py migrate | |
# fetch and extract rp-indexer | |
wget https://github.com/nyaruka/rp-indexer/releases/download/v${{ env.rpindexer-version }}/rp-indexer_${{ env.rpindexer-version }}_linux_amd64.tar.gz | |
tar -xvf rp-indexer_${{ env.rpindexer-version }}_linux_amd64.tar.gz rp-indexer | |
# fetch, extract and start mailroom | |
wget https://github.com/nyaruka/mailroom/releases/download/v${{ env.mailroom-version }}/mailroom_${{ env.mailroom-version }}_linux_amd64.tar.gz | |
tar -xvf mailroom_${{ env.mailroom-version }}_linux_amd64.tar.gz mailroom | |
./mailroom -db=postgres://temba:temba@localhost:5432/temba?sslmode=disable -redis=redis://localhost:6379/10 -log-level=info > mailroom.log & | |
- name: Run pre-test checks | |
run: | | |
# test that everything is well formatted, no missing migrations etc | |
poetry run ./code_check.py --debug | |
# check we can collect and compress all static files | |
poetry run ./manage.py collectstatic --noinput --verbosity=0 | |
poetry run ./manage.py compress --extension=".haml" --settings=temba.settings_compress | |
- name: Run tests | |
run: | | |
poetry run coverage run manage.py test --keepdb --noinput --verbosity=2 | |
poetry run coverage report -i | |
poetry run coverage xml | |
- name: Mailroom log | |
if: failure() | |
run: cat mailroom.log |