test: Test both mysql 5.7 and 8 in one workflow.
Now that we're using standard service containers, we can use a matrix to test both the current supported versions in one job. This should also make it easier to test with future versions as we get ready to upgrade.
This commit is contained in:
76
.github/workflows/migrations-check-mysql8.yml
vendored
76
.github/workflows/migrations-check-mysql8.yml
vendored
@@ -1,76 +0,0 @@
|
||||
name: Migrations check on MySql 8.0
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
pull_request:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
|
||||
jobs:
|
||||
check_migrations:
|
||||
name: check migrations mysql8
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
matrix:
|
||||
os: [ ubuntu-20.04 ]
|
||||
python-version: [ 3.8 ]
|
||||
|
||||
steps:
|
||||
- name: Checkout repo
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Setup Python ${{ matrix.python-version }}
|
||||
uses: actions/setup-python@v4
|
||||
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@v3
|
||||
with:
|
||||
path: ${{ steps.pip-cache-dir.outputs.dir }}
|
||||
key: ${{ runner.os }}-pip-${{ hashFiles('requirements/edx/development.txt') }}
|
||||
restore-keys: ${{ runner.os }}-pip-
|
||||
|
||||
- name: Ubuntu and sql Versions
|
||||
run: |
|
||||
lsb_release -a
|
||||
mysql -V
|
||||
|
||||
- name: Install Python dependencies
|
||||
run: |
|
||||
make dev-requirements
|
||||
|
||||
- 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
|
||||
2
.github/workflows/migrations-check.yml
vendored
2
.github/workflows/migrations-check.yml
vendored
@@ -16,7 +16,7 @@ jobs:
|
||||
os: [ ubuntu-20.04 ]
|
||||
python-version: [ 3.8 ]
|
||||
mongo-version: ["4"]
|
||||
mysql-version: ["5.7"]
|
||||
mysql-version: ["5.7", "8"]
|
||||
services:
|
||||
mongo:
|
||||
image: mongo:${{ matrix.mongo-version }}
|
||||
|
||||
Reference in New Issue
Block a user