It's confusing to have six different checks, all called "CI". This gives them unique names to help devs navigate the checks.
78 lines
2.1 KiB
YAML
78 lines
2.1 KiB
YAML
name: Migrations check
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
pull_request:
|
|
push:
|
|
branches:
|
|
- master
|
|
|
|
jobs:
|
|
check_migrations:
|
|
name: check migrations
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
matrix:
|
|
os: [ ubuntu-18.04 ]
|
|
python-version: [ 3.8 ]
|
|
|
|
steps:
|
|
- name: Checkout repo
|
|
uses: actions/checkout@v2
|
|
|
|
- name: Setup Python ${{ matrix.python-version }}
|
|
uses: actions/setup-python@v2
|
|
with:
|
|
python-version: ${{ matrix.python-version }}
|
|
|
|
- name: Install system Packages
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y libxmlsec1-dev
|
|
|
|
- name: Get pip cache dir
|
|
id: pip-cache-dir
|
|
run: |
|
|
echo "::set-output name=dir::$(pip cache dir)"
|
|
|
|
- name: Cache pip dependencies
|
|
id: cache-dependencies
|
|
uses: actions/cache@v2
|
|
with:
|
|
path: ${{ steps.pip-cache-dir.outputs.dir }}
|
|
key: ${{ runner.os }}-pip-${{ hashFiles('requirements/edx/development.txt') }}
|
|
restore-keys: ${{ runner.os }}-pip-
|
|
|
|
- name: Install Python dependencies
|
|
run: |
|
|
pip install -r requirements/pip.txt
|
|
pip install -r requirements/edx/development.txt
|
|
pip uninstall -y mysqlclient
|
|
pip install --no-binary mysqlclient mysqlclient
|
|
pip uninstall -y xmlsec
|
|
pip install --no-binary xmlsec xmlsec
|
|
|
|
- name: Initiate Services
|
|
run: |
|
|
sudo systemctl start mongod
|
|
sudo /etc/init.d/mysql start
|
|
|
|
- name: Reset mysql password
|
|
run: |
|
|
cat <<EOF | mysql -h 127.0.0.1 -u root --password=root
|
|
UPDATE mysql.user SET authentication_string = null WHERE user = 'root';
|
|
FLUSH PRIVILEGES;
|
|
EOF
|
|
|
|
- name: Run Tests
|
|
env:
|
|
LMS_CFG: lms/envs/bok_choy.yml
|
|
run: |
|
|
echo "CREATE DATABASE IF NOT EXISTS edxtest;" | mysql -u root
|
|
echo "CREATE DATABASE IF NOT EXISTS student_module_history_test;" | mysql -u root
|
|
|
|
echo "Running the LMS migrations."
|
|
./manage.py lms --settings bok_choy migrate
|
|
echo "Running the CMS migrations."
|
|
./manage.py cms --settings bok_choy migrate
|