build: run ShellCheck
Adds a ShellCheck check to edx-platform PRs and master,
using the shared workflow & template from the .github repo.
This will become a "required" check once it passes for 2 straight weeks on master.
Brings all existing shell scripts into compliance with ShellCheck.
was recently enabled by default in mysqldump, but the generation of
histogram statistics fails in devstack during this script's mysqldump
commands. The SQL statement and output of the failure:
mysql> SELECT \
COLUMN_NAME, JSON_EXTRACT(HISTOGRAM, '$."number-of-buckets-specified"') \
FROM information_schema.COLUMN_STATISTICS \
WHERE \
SCHEMA_NAME = 'edxtest' AND \
TABLE_NAME = 'agreements_integritysignature';
ERROR 1109 (42S02): Unknown table 'COLUMN_STATISTICS' in information_schema
In the script used to create the bok-choy database cache files, we've been passing in the parameters to omit timestamps that change for every run in some of the mysqldump commands but not all of them. Use them consistently so we can stop creating new redundant automated bok-choy DB cache PRs on almost every merge to edx-platform.
The Catalog model is unmanaged, meaning no corresponding table exists in the database. When dumpdata tries to dump this model, it chokes because there's no table to read from.
This is a clone (copy) of CSMH's declaration and methods with an added
id of UnsignedBigInAutoField
We should be able to delete the save_history code, but needs testing.
Add error logging when capa failures happen
Put StudentModuleHistory into its own database
Bump out the primary key on CSMHE
This gives us a gap to backfill as needed.
Since the new table's pk is an unsigned bigint, even for people who don't
consolidate CSMH into CSMHE, the lost rows are unlikely to matter.
Remove StudentModuleHistory cleaner
This will ensure a clean database for new runs, and will likewise
allow for the serversonly / testsonly approach for developing
bok-choy acceptance tests. The cleaner model will completely
rebuild the edxtest database for any new test run. This will
not be a costly maneuver because of our test cache.