Skip to content

Various

Various #934

Workflow file for this run

name: CI
on:
# Trigger the workflow on push or pull request events but only for the master branch
push:
branches: [ master ]
pull_request:
branches: [ master ]
# Allow running this workflow manually from the Actions tab
workflow_dispatch:
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install PostgreSQL 16
run: |
sudo sh -c 'echo "deb https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
sudo apt-get install -y postgresql-16
- name: Start PostgreSQL
run: |
sudo systemctl cat [email protected]
sudo systemctl start [email protected]
sudo systemctl status [email protected]
ls -la /var/run/postgresql/
- name: Set libpq environment variables
run: echo PGPORT=5433 >>$GITHUB_ENV
- name: Create the database user
run: sudo -E -u postgres createuser --superuser $(whoami)
- name: Create the test database
run: createdb liberapay_tests
- name: Create the test database schema
run: DATABASE_URL=liberapay_tests ./recreate-schema.sh test
- name: Install Python 3.11
uses: actions/setup-python@v4
with:
python-version: '3.11'
- name: Install Python 3.12
uses: actions/setup-python@v4
with:
python-version: '3.12'
- name: Cache the .tox directory to speed things up
uses: actions/cache@v3
with:
path: .tox
key: test-${{ runner.os }}-${{ hashFiles('requirements_*.txt') }}
- name: Enable expensive tests, on the master branch only
if: ${{ env.GITHUB_HEAD_REF == 'master' }}
run: |
rm -rfv tests/py/fixtures
echo LIBERAPAY_I18N_TEST=yes >> $GITHUB_ENV
- name: Install tox
run: pip install tox
- name: Write liberapay environment file for tests
run: echo 'DATABASE_URL="port=5433 dbname=liberapay_tests"' >tests/local.env
- name: Run the tests
run: tox
- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v3