Skip to content

build: capturing new migrations. #24307

build: capturing new migrations.

build: capturing new migrations. #24307

#name: Check Django Migrations
#
#on:
# workflow_dispatch:
# pull_request:
# push:
# branches:
# - master
#
#jobs:
# check_migrations:
# name: check migrations
# runs-on: ${{ matrix.os }}
# strategy:
# matrix:
# os: [ ubuntu-20.04 ]
# python-version: [ 3.8 ]
# # 'pinned' is used to install the latest patch version of Django
# # within the global constraint i.e. Django==3.2.21 in current case
# # because we have global constraint of Django<4.2
# django-version: ["pinned", "4.2"]
# mongo-version: ["4"]
# mysql-version: ["5.7", "8"]
# # excluding mysql5.7 with Django 4.2 since Django 4.2 has
# # dropped support for MySQL<8
# exclude:
# - django-version: "4.2"
# mysql-version: "5.7"
# services:
# mongo:
# image: mongo:${{ matrix.mongo-version }}
# ports:
# - 27017:27017
# # Note: Calling mongo here only works with mongo 4, in newer versions of mongo
# # we'll have to use `mongosh`
# options: >-
# --health-cmd "mongo --quiet --eval 'db.runCommand(\"ping\")'"
# --health-interval 10s
# --health-timeout 5s
# --health-retries 3
# mysql:
# image: mysql:${{ matrix.mysql-version }}
# ports:
# - 3306:3306
# env:
# MYSQL_DATABASE: "edxapp"
# MYSQL_USER: "edxapp001"
# MYSQL_PASSWORD: "password"
# MYSQL_RANDOM_ROOT_PASSWORD: true
# options: >-
# --health-cmd "mysqladmin ping"
# --health-interval 10s
# --health-timeout 5s
# --health-retries 3
# steps:
# - name: Setup mongodb user
# run: |
# mongosh edxapp --eval '
# db.createUser(
# {
# user: "edxapp",
# pwd: "password",
# roles: [
# { role: "readWrite", db: "edxapp" },
# ]
# }
# );
# '
#
# - name: Verify mongo and mysql db credentials
# run: |
# mysql -h 127.0.0.1 -uedxapp001 -ppassword -e "select 1;" edxapp
# mongosh --host 127.0.0.1 --username edxapp --password password --eval 'use edxapp; db.adminCommand("ping");' edxapp
#
# - 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
# make ubuntu-requirements
#
# - 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: Install Python dependencies
# run: |
# make dev-requirements
# if [[ "${{ matrix.django-version }}" != "pinned" ]]; then
# pip install "django~=${{ matrix.django-version }}.0"
# pip check # fail if this test-reqs/Django combination is broken
# fi
#
# - name: list installed package versions
# run: |
# sudo pip freeze
#
# - name: Run Tests
# env:
# LMS_CFG: lms/envs/minimal.yml
# # This is from the LMS dir on purpose since we don't need anything different for the CMS yet.
# STUDIO_CFG: lms/envs/minimal.yml
# run: |
# echo "Running the LMS migrations."
# ./manage.py lms migrate
# echo "Running the CMS migrations."
# ./manage.py cms migrate
#
# # This job aggregates test results. It's the required check for branch protection.
# # https://github.com/marketplace/actions/alls-green#why
# # https://github.com/orgs/community/discussions/33579
# success:
# name: Migrations checks successful
# if: always()
# needs:
# - check_migrations
# runs-on: ubuntu-latest
# steps:
# - name: Decide whether the needed jobs succeeded or failed
# # uses: re-actors/alls-green@v1.2.1
# uses: re-actors/alls-green@05ac9388f0aebcb5727afa17fcccfecd6f8ec5fe
# with:
# jobs: ${{ toJSON(needs) }}