Skip to content

Fix issue where players added or removed from friend or foe lists did not have games updated #2346

Fix issue where players added or removed from friend or foe lists did not have games updated

Fix issue where players added or removed from friend or foe lists did not have games updated #2346

Workflow file for this run

# Run unit tests
name: Test
on:
push:
branches:
- master
- develop
pull_request:
schedule:
- cron: '0 0 * * *'
env:
FAF_DB_VERSION: v133
FLYWAY_VERSION: 7.5.4
jobs:
# Tests
unit-test:
runs-on: ubuntu-latest
services:
faf-db:
image: mariadb:10.6
ports:
- 3306:3306
options: >-
--health-cmd "mysqladmin ping --silent"
--health-interval 10s
--health-timeout 5s
--health-retries 5
env:
MYSQL_ROOT_PASSWORD: banana
MYSQL_DATABASE: faf
MYSQL_USER: faf-python-server
MYSQL_PASSWORD: banana
faf-rabbitmq:
image: rabbitmq:3.9-alpine
ports:
- 5672:5672
options: >-
--name faf-rabbitmq
--health-cmd "rabbitmq-diagnostics check_running --silent"
--health-interval 10s
--health-timeout 5s
--health-retries 5
env:
RABBITMQ_PID_FILE: /var/lib/rabbitmq/pid
RABBITMQ_DEFAULT_USER: admin
RABBITMQ_DEFAULT_PASS: banana
RABBITMQ_DEFAULT_VHOST: /
steps:
- uses: actions/checkout@v3
- name: Cache hypothesis examples
uses: actions/cache@v3
with:
path: .hypothesis
key: .hypothesis
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: Run flyway db migrations
env:
FLYWAY_URL: jdbc:mysql://localhost/faf?useSSL=false
FLYWAY_USER: root
FLYWAY_PASSWORD: banana
FLYWAY_LOCATIONS: filesystem:db/migrations
run: |
git clone --depth 1 --branch ${FAF_DB_VERSION} https://github.com/FAForever/db
wget -qO- https://repo1.maven.org/maven2/org/flywaydb/flyway-commandline/${FLYWAY_VERSION}/flyway-commandline-${FLYWAY_VERSION}-linux-x64.tar.gz | tar xz
flyway-${FLYWAY_VERSION}/flyway migrate
- name: Setup RabbitMQ
run: ./.github/workflows/scripts/init-rabbitmq.sh
- name: Install dependencies with pipenv
run: |
pip install pipenv==2023.4.20
pipenv sync --dev
pipenv run pip install pytest-github-actions-annotate-failures
- name: Run tests
if: ${{ github.event_name != 'schedule' }}
run: pipenv run tests --cov-report=xml --color=yes -m ""
- name: Run hypothesis tests with many examples
if: ${{ github.event_name == 'schedule' }}
run: pipenv run tests -m "hypothesis" --hypothesis-profile nightly
- name: Report coverage
if: ${{ github.event_name != 'schedule' }}
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: coverage.xml
fail_ci_if_error: true
- name: Check documentation
run: PYTHONWARNINGS='error::UserWarning' pipenv run pdoc3 server >/dev/null
docker-build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Build docker image
run: docker build --build-arg GITHUB_REF -t test_image .
- name: Test image
run: |
docker run --rm -d -p 8001:8001 test_image
nc -z localhost 8001