Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
948 commits
Select commit Hold shift + click to select a range
792a71c
Automated content update
Jun 28, 2025
311da16
Automated content update
Jun 29, 2025
eab15af
Automated content update
Jun 30, 2025
7df4d5c
Automated content update
Jul 1, 2025
fba6767
Automated content update
Jul 2, 2025
7cec4a3
Automated content update
Jul 2, 2025
8cf81f5
Automated content update
Jul 3, 2025
81d8ac1
Automated content update
Jul 3, 2025
92f403c
Automated content update
Jul 4, 2025
aa5e414
Automated content update
Jul 5, 2025
aa3d737
Automated content update
Jul 6, 2025
1841f90
Automated content update
Jul 6, 2025
68e5fe0
Automated content update
Jul 7, 2025
8413d3e
Automated content update
Jul 8, 2025
b00dc8f
Automated content update
Jul 11, 2025
f6b1ce4
Automated content update
Jul 12, 2025
02e9ea0
Automated content update
Jul 13, 2025
d7d055c
Automated content update
Jul 14, 2025
a909716
Automated content update
Jul 14, 2025
a02b0f1
Automated content update
Jul 15, 2025
384a882
Automated content update
Jul 16, 2025
acea616
Automated content update
Jul 16, 2025
ef8f891
Automated content update
Jul 17, 2025
134606c
Automated content update
Jul 17, 2025
c1cfc9d
Automated content update
Jul 21, 2025
984d58a
Automated content update
Jul 22, 2025
892ae40
Automated content update
Jul 23, 2025
2960b50
Automated content update
Jul 24, 2025
722a2f6
Automated content update
Jul 24, 2025
5d2457c
Automated content update
Jul 28, 2025
5ff2909
Automated content update
Jul 30, 2025
da6d5b1
Automated content update
Jul 30, 2025
f2a60e0
Automated content update
Jul 30, 2025
6300c64
Automated content update
Jul 30, 2025
bea2388
Automated content update
Jul 30, 2025
6b340ec
Automated content update
Jul 30, 2025
1d71c8c
Automated content update
Jul 30, 2025
4533034
Automated content update
Aug 1, 2025
a4eb9f6
Automated content update
Aug 1, 2025
7908280
Update chemeq2
allyqwert Aug 1, 2025
7cf43b1
Automated content update
Aug 1, 2025
3020362
Automated content update
Aug 1, 2025
68fd5e8
Automated content update
Aug 1, 2025
3ac4495
Automated content update
Aug 1, 2025
4b54d2d
Automated content update
Aug 1, 2025
cc48d7c
Automated content update
Aug 1, 2025
ff514b2
Automated content update
Aug 1, 2025
505a41a
Automated content update
Aug 1, 2025
936feb1
Automated content update
Aug 1, 2025
a3b40b8
Automated content update
Aug 1, 2025
4389e1b
Manually update MC choice format
allyqwert Aug 1, 2025
dd720c3
Automated content update
Aug 1, 2025
34bd3bb
Automated content update
Aug 2, 2025
77c1ec1
Automated content update
Aug 2, 2025
5e3d272
Automated content update
Aug 3, 2025
e48561a
Automated content update
Aug 3, 2025
676ef0d
Automated content update
Aug 4, 2025
cc35c5f
Automated content update
Aug 4, 2025
0aeb4a8
Automated content update
Aug 9, 2025
46590e5
Automated content update
Aug 10, 2025
6ed59f4
Automated content update
Aug 11, 2025
95213c6
Automated content update
Aug 12, 2025
19589ec
Automated content update
Aug 12, 2025
43655c4
Automated content update
Aug 12, 2025
65b7b27
Automated content update
Aug 12, 2025
7b710b6
Automated content update
Aug 13, 2025
de138f3
Automated content update
Aug 14, 2025
62facaa
Automated content update
Aug 14, 2025
c51c399
Automated content update
Aug 14, 2025
21c5bf2
Automated content update
Aug 14, 2025
196d9df
Automated content update
Aug 16, 2025
6b14109
Automated content update
Aug 16, 2025
65f0a7f
Automated content update
Aug 16, 2025
142f3f8
Automated content update
Aug 16, 2025
5952507
Automated content update
Aug 16, 2025
80db91f
Automated content update
Aug 16, 2025
25cdd18
Automated content update
Aug 17, 2025
287e966
Automated content update
Aug 21, 2025
f7c1abd
Automated content update
Aug 21, 2025
3b712c5
Automated content update
Aug 23, 2025
3390cfb
Automated content update
Aug 24, 2025
f496adc
Automated content update
Aug 25, 2025
9b1051d
Automated content update
Aug 25, 2025
fc1faf0
Automated content update
Aug 27, 2025
059a1d3
Automated content update
Aug 28, 2025
20d42cc
Automated content update
Aug 28, 2025
908cd6f
Automated content update
Aug 29, 2025
ce458ab
Automated content update
Aug 29, 2025
06a6492
Automated content update
Aug 30, 2025
68f8e79
Automated content update
Aug 31, 2025
a713fca
Automated content update
Aug 31, 2025
10f8a64
Automated content update
Sep 1, 2025
56b1ce2
Automated content update
Sep 1, 2025
3fbcb57
Automated content update
Sep 2, 2025
584680f
Automated content update
Sep 2, 2025
46217fd
Automated content update
Sep 6, 2025
8ec53ac
Automated content update
Sep 16, 2025
b68f728
Automated content update
Sep 16, 2025
2051464
Automated content update
Sep 18, 2025
bdfed6f
Automated content update
Sep 18, 2025
b7c8e82
Automated content update
Sep 19, 2025
2649c95
Automated content update
Sep 20, 2025
781f9ec
Automated content update
Sep 21, 2025
ee15fcd
Automated content update
Sep 21, 2025
4c291b8
Automated content update
Sep 22, 2025
8852bbd
Automated content update
Sep 23, 2025
982bddc
Automated content update
Sep 23, 2025
6d861ca
Automated content update
Sep 26, 2025
6901144
Automated content update
Sep 29, 2025
dd0148d
Automated content update
Sep 30, 2025
a158f81
Automated content update
Sep 30, 2025
0f9be2f
Automated content update
Oct 1, 2025
83471c6
Automated content update
Oct 1, 2025
3e2c10c
Automated content update
Oct 2, 2025
dedeeb4
Automated content update
Oct 2, 2025
c1e0cbd
Automated content update
Oct 3, 2025
fea73e2
Automated content update
Oct 3, 2025
5b21877
Automated content update
Oct 4, 2025
45f98db
Automated content update
Oct 4, 2025
cf24ece
Automated content update
Oct 5, 2025
f8a8d74
Automated content update
Oct 6, 2025
60cd6bf
Automated content update
Oct 7, 2025
0bf977b
Automated content update
Oct 9, 2025
870d7e4
Automated content update
Oct 10, 2025
623626a
Automated content update
Oct 13, 2025
dcce4cc
Automated content update
Oct 13, 2025
7225d0c
Automated content update
Oct 13, 2025
9326478
Automated content update
Oct 13, 2025
22475f0
Automated content update
Oct 14, 2025
b5ef162
Automated content update
Oct 14, 2025
0f135fa
Automated content update
Oct 21, 2025
4c0e8b0
Automated content update
Oct 22, 2025
db9c611
Automated content update
Oct 24, 2025
a9b28fb
Automated content update
Oct 24, 2025
ef7defa
Automated content update
Oct 25, 2025
876a6e2
Automated content update
Oct 25, 2025
985aa65
Automated content update
Oct 26, 2025
e527b9f
Automated content update
Oct 26, 2025
6b2376b
Automated content update
Oct 27, 2025
363db86
Automated content update
Oct 28, 2025
033bff4
Automated content update
Oct 28, 2025
078c811
Automated content update
Oct 29, 2025
bcc0994
Automated content update
Oct 30, 2025
d161e66
Automated content update
Nov 3, 2025
08f73f2
Automated content update
Nov 4, 2025
5260573
Automated content update
Nov 4, 2025
f906723
Automated content update
Nov 4, 2025
ce38513
Automated content update
Nov 5, 2025
2627247
Automated content update
Nov 5, 2025
bcdc114
Automated content update
Nov 11, 2025
d6412de
Automated content update
Nov 11, 2025
91f3092
Automated content update
Nov 12, 2025
ecc3b13
Automated content update
Nov 12, 2025
ec09dcf
Automated content update
Nov 13, 2025
b78485a
Automated content update
Nov 16, 2025
f2653fd
Automated content update
Nov 18, 2025
985087d
Automated content update
Nov 18, 2025
47c8a9a
Automated content update
Nov 18, 2025
3636c89
Automated content update
Nov 19, 2025
d557b7d
Automated content update
Nov 20, 2025
c37f353
Automated content update
Nov 21, 2025
ae3dc7f
Automated content update
Nov 24, 2025
cd92c7a
Automated content update
Nov 25, 2025
fa24029
Automated content update
Nov 26, 2025
adbf1c3
Automated content update
Nov 26, 2025
7b39f56
Automated content update
Dec 2, 2025
7a42bad
Automated content update
Dec 2, 2025
70c952c
Automated content update
Dec 4, 2025
2c9ebe8
Automated content update
Dec 6, 2025
a99702b
Automated content update
Dec 7, 2025
a995ff1
Automated content update
Dec 10, 2025
76dc97b
Automated content update
Dec 11, 2025
acc7121
Automated content update
Dec 11, 2025
e4fa7de
Automated content update
Dec 11, 2025
62b063f
Automated content update
Dec 12, 2025
c62d2a7
Automated content update
Dec 22, 2025
11774fa
Automated content update
Dec 23, 2025
740d176
Automated content update
Dec 30, 2025
04887de
Automated content update
Dec 30, 2025
56264be
Automated content update
Dec 31, 2025
f6dc999
Automated content update
Dec 31, 2025
71ba351
Automated content update
Dec 31, 2025
8ed04c1
Automated content update
Dec 31, 2025
d012233
Automated content update
Dec 31, 2025
f2f8175
Automated content update
Jan 2, 2026
a62d37f
Automated content update
Jan 10, 2026
35c43d8
Automated content update
Jan 10, 2026
fa8f016
Automated content update
Jan 21, 2026
498f985
Automated content update
Jan 22, 2026
1140f3f
Automated content update
Jan 22, 2026
9d8eaf6
Automated content update
Jan 23, 2026
7dcd1d4
Automated content update
Jan 24, 2026
062786b
Automated content update
Jan 24, 2026
c82c62c
Automated content update
Jan 25, 2026
799b6ee
Automated content update
Jan 25, 2026
9f11cdf
Automated content update
Jan 26, 2026
4e44198
Automated content update
Jan 26, 2026
fbf5985
Automated content update
Jan 27, 2026
20fcb80
Automated content update
Jan 27, 2026
d9c384e
Automated content update
Jan 28, 2026
39b43f2
Automated content update
Jan 28, 2026
c592285
Automated content update
Jan 28, 2026
80d147c
Automated content update
Jan 28, 2026
4d11d9d
Fix BKT params naming: use defaultBKTParams and experimentalBKTParams
mjyang001 Jan 27, 2026
bb75cb4
Automated content update
Jan 29, 2026
f84cae9
Automated content update
Jan 30, 2026
a7b5e7e
Automated content update
Jan 30, 2026
282132f
Automated content update
Jan 30, 2026
8cc29cd
Automated content update
Jan 30, 2026
f4903b5
Automated content update
Jan 31, 2026
efa218f
Automated content update
Feb 2, 2026
9cec3f7
Automated content update
Feb 3, 2026
5ba9cf9
Automated content update
Feb 3, 2026
e5b429b
Automated content update
Feb 4, 2026
f4dd63d
Automated content update
Feb 7, 2026
f737dfb
Automated content update
Feb 8, 2026
ee02d8d
Automated content update
Feb 8, 2026
d83643f
Automated content update
Feb 9, 2026
36a0bad
Automated content update
Feb 11, 2026
792e709
Automated content update
Feb 12, 2026
6d8a622
Automated content update
Feb 14, 2026
95dba63
Automated content update
Feb 16, 2026
68a35d4
Merge pull request #93 from CAHLR/fix-bktparams-for-content-staging
allyqwert Feb 17, 2026
efec7a0
Automated content update
Feb 17, 2026
e894d7f
Automated content update
Feb 19, 2026
f0bf802
Automated content update
Feb 19, 2026
e413097
Automated content update
Feb 20, 2026
c9fc42d
Automated content update
Feb 20, 2026
2caea21
Update coursePlans.json
allyqwert Feb 20, 2026
52eee1e
Automated content update
Feb 20, 2026
e253f79
Automated content update
Feb 21, 2026
fc89553
Automated content update
Feb 22, 2026
fcaf913
Automated content update
Feb 22, 2026
c6690d4
Automated content update
Feb 23, 2026
127cec1
Automated content update
Feb 23, 2026
1b59173
Automated content update
Feb 23, 2026
839ff19
Automated content update
Feb 24, 2026
9719ef1
Automated content update
Feb 24, 2026
d16c26d
Automated content update
Feb 24, 2026
5cf5a1f
Automated content update
Feb 27, 2026
706ae36
Automated content update
Feb 28, 2026
dfddc05
Automated content update
Feb 28, 2026
8a1b39b
Automated content update
Mar 1, 2026
64a9d89
Automated content update
Mar 2, 2026
718d93c
Automated content update
Mar 3, 2026
307b006
Automated content update
Mar 3, 2026
655b826
Automated content update
Mar 4, 2026
8f62db8
Automated content update
Mar 4, 2026
787381f
Automated content update
Mar 5, 2026
895c507
Automated content update
Mar 5, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
Empty file added .gitconfig
Empty file.
206 changes: 127 additions & 79 deletions .github/workflows/deploy-content-staging.yml
Original file line number Diff line number Diff line change
@@ -1,87 +1,135 @@
name: Content Staging CI
name: Automated Content Update

on:
push:
branches: [ content-staging ]

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
schedule:
- cron: '0 */12 * * *'

jobs:
buildAndDeploy:
update-content:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
with:
persist-credentials: false

- name: Add SSH private keys for submodule repositories
uses: webfactory/ssh-agent@v0.7.0
with:
ssh-private-key: |
${{ secrets.OATUTOR_CONTENT_DEPLOY_KEY }}

- run: git submodule update --init --recursive

- name: Save original git author and git email
run: |
echo "git_email=$(git log --format='%ae' HEAD^!)" >> $GITHUB_ENV
echo "git_name=$(git log --format='%an' HEAD^!)" >> $GITHUB_ENV

- name: Get build time
run: echo "build_timestamp=$(date +%s%3N)" >> $GITHUB_ENV

- uses: actions/setup-node@v2.4.1

- name: Change homepage in package.json
run: sed -i 's/place-holder/OATutor-Content-Staging/g' package.json

# - name: Do not log data
# run: sed -i 's/DO_LOG_DATA = true/DO_LOG_DATA = false/g' src/config/config.js

- name: Cache node modules
uses: actions/cache@v2
env:
cache-name: cache-node-modules
with:
# npm cache files are stored in `~/.npm` on Linux/macOS
path: ~/.npm
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build-
${{ runner.os }}-

- name: Run CI install
run: npm ci

- name: Run build
run: npm run build
env:
REACT_APP_FIREBASE_CONFIG: ${{ secrets.STAGING_FIREBASE_CONFIG }}
CI: false
REACT_APP_BUILD_TYPE: "content-staging"
REACT_APP_MIDDLEWARE_URL: ${{ secrets.STAGING_MIDDLEWARE_URL }}
REACT_APP_COMMIT_HASH: ${{ github.sha }}
REACT_APP_BUILD_TIMESTAMP: ${{ env.build_timestamp }}

- uses: actions/checkout@v2
with:
repository: 'CAHLR/OATutor-Content-Staging'
ssh-key: ${{ secrets.CONTENT_STAGING_SSH_PRIVATE_KEY }}
ref: 'main'
path: 'content-staging-build'

- name: Push
run: |
cd content-staging-build
git rm -rf .
git clean -fxd
rsync -av ../build/ .
git add .
git config --local user.email "${{ env.git_email }}"
git config --local user.name "${{ env.git_name }}"
git diff --cached --quiet --exit-code && echo "no changes to platform, exiting early" && exit 0
git commit -m "deploy commit: CAHLR/OATutor@$GITHUB_SHA"
git push
- name: Checkout OATutor repository
uses: actions/checkout@v2
with:
ref: 'content-staging'
path: 'content-staging-build'
persist-credentials: true

- name: Clone OATutor-Tooling repository
run: git clone https://github.com/CAHLR/OATutor-Tooling.git /home/runner/work/OATutor-Tooling

- name: Install distutils and build tools
run: |
sudo apt-get update
sudo apt-get install -y python3-distutils build-essential meson ninja-build python3-dev

- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: '3.11'

- name: Upgrade pip and install Python dependencies
run: |
pip install --upgrade pip
pip install --prefer-binary -r /home/runner/work/OATutor-Tooling/content_script/requirements.txt

- name: Create credentials JSON file
run: echo "${{ secrets.OATUTOR_JSON_KEY }}" | base64 --decode > /home/runner/work/oatutor-askoski-705644bfdf34.json

- name: Set environment variable for spreadsheet key
run: echo "URL_SPREADSHEET_KEY=${{ secrets.URL_SPREADSHEET_KEY }}" >> $GITHUB_ENV

- name: Remove existing content
run: rm -rf content-staging-build/src/content-sources/oatutor/*

- name: Create Content Directory
run: mkdir -p content-staging-build/src/content-sources/oatutor/Content

- name: Run content update script
run: |
cd content-staging-build/src/content-sources/oatutor/Content
python3 /home/runner/work/OATutor-Tooling/content_script/final.py online full

- name: Move and prepare files
run: |
cd content-staging-build/src/content-sources/oatutor
mv "OpenStax Content" "content-pool"
mkdir -p bkt-params
mv bktParams.json bkt-params/defaultBKTParams.json
cp bkt-params/defaultBKTParams.json bkt-params/experimentalBKTParams.json

- name: Run Node.js preprocessing script
run: |
cd content-staging-build/src/tools
node preprocessProblemPool.js

- name: Configure Git
run: |
cd content-staging-build
git config user.email "generic@example.com"
git config user.name "Generic User"

- name: Commit and push changes
run: |
cd content-staging-build
git add .
if git diff-index --quiet HEAD; then
echo "No changes to commit"
else
git commit -m "Automated content update"
git push origin content-staging
fi
env:
GITHUB_TOKEN: ${{ secrets.CONTENT_STAGING_PAT }}

- name: Change homepage in package.json
run: |
cd content-staging-build
sed -i 's/place-holder/OATutor-Content-Staging/g' package.json

- name: Run CI install
run: |
cd content-staging-build
npm ci

- name: Run build
run: |
cd content-staging-build
npm run build
env:
REACT_APP_FIREBASE_CONFIG: ${{ secrets.STAGING_FIREBASE_CONFIG }}
CI: false
REACT_APP_BUILD_TYPE: "content-staging"
REACT_APP_MIDDLEWARE_URL: ${{ secrets.STAGING_MIDDLEWARE_URL }}
REACT_APP_COMMIT_HASH: ${{ github.sha }}
REACT_APP_BUILD_TIMESTAMP: ${{ env.build_timestamp }}

- name: Checkout Content Staging
uses: actions/checkout@v3
with:
repository: 'CAHLR/OATutor-Content-Staging'
ref: 'main'
token: ${{ secrets.CONTENT_STAGING_PAT }}
path: 'content-staging-deploy'

- name: Save original git author and git email
run: |
echo "git_email=$(git log --format='%ae' HEAD^!)" >> $GITHUB_ENV
echo "git_name=$(git log --format='%an' HEAD^!)" >> $GITHUB_ENV

- name: Push changes
run: |
cd content-staging-deploy
git rm -rf .
git clean -fxd
rsync -av ../content-staging-build/build/ .
git add .
git config --global user.email "${{ env.git_email || 'oatutor@example.com' }}"
git config --global user.name "${{ env.git_name || 'OATutor' }}"
git diff --cached --quiet --exit-code && echo "no changes to platform, exiting early" && exit 0
git commit -m "deploy commit: CAHLR/OATutor@$GITHUB_SHA"
git push
env:
GITHUB_TOKEN: ${{ secrets.CONTENT_STAGING_PAT }}
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ credentials-secret.js
service-account-credentials.json
sheets-service-account.json
oatutor-firebase-adminsdk.json
oatutor-askoski-705644bfdf34.json

# Misc.
**/.vscode
Expand Down
3 changes: 0 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,3 +0,0 @@
[submodule "src/content-sources/oatutor"]
path = src/content-sources/oatutor
url = git@github.com:CAHLR/OATutor-Content.git
8 changes: 8 additions & 0 deletions logs/updateContent-2023-03-20_05-41-23.log
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
[Error: ENOENT: no such file or directory, stat '/research/home/oatutor/dev/OATutor-Content-Staging/public/static/images/figures'] {
errno: -2,
code: 'ENOENT',
syscall: 'stat',
path: '/research/home/oatutor/dev/OATutor-Content-Staging/public/static/images/figures'
}
error removing existing figures
writing to pool file...
Loading