Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1099 commits
Select commit Hold shift + click to select a range
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
5461c5f
Incremental content update
Mar 5, 2026
98757e0
Automated content update
Mar 5, 2026
39bbe7f
Incremental content update
Mar 5, 2026
d70d4c3
Incremental content update
Mar 6, 2026
f82074b
Automated content update
Mar 8, 2026
b51ab4d
Automated content update
Mar 11, 2026
72c8863
Automated content update
Mar 16, 2026
868486c
Automated content update
Mar 16, 2026
5bf0378
Automated content update
Mar 17, 2026
034ce2e
Incremental content update
Mar 17, 2026
5a3be2d
Incremental content update
Mar 17, 2026
0427832
Incremental content update
Mar 17, 2026
bb2f7df
Incremental content update
Mar 17, 2026
01bfce4
Incremental content update
Mar 18, 2026
68abc25
Incremental content update
Mar 18, 2026
68d6aea
Incremental content update
Mar 18, 2026
aa7bb62
Incremental content update
Mar 18, 2026
7eca85e
Incremental content update
Mar 18, 2026
3731744
Incremental content update
Mar 19, 2026
cf2baf7
Automated content update
Mar 19, 2026
f9876c1
Incremental content update
Mar 19, 2026
8e46b97
Incremental content update
Mar 19, 2026
01fb318
Incremental content update
Mar 19, 2026
e46e5cb
Automated content update
Mar 20, 2026
f05466e
Automated content update
Mar 20, 2026
9a3fa30
Automated content update
Mar 23, 2026
1dd7988
Automated content update
Mar 24, 2026
2ec53c4
Automated content update
Mar 25, 2026
a453fb8
Automated content update
Mar 27, 2026
7e15b4c
Automated content update
Mar 27, 2026
4036cec
Automated content update
Mar 27, 2026
bfe00f6
Automated content update
Mar 28, 2026
19d8b35
Automated content update
Mar 29, 2026
4b747de
Automated content update
Mar 30, 2026
b00e8e2
Automated content update
Mar 30, 2026
69a07d1
Automated content update
Mar 31, 2026
3b571c1
Automated content update
Apr 1, 2026
e1abc32
Automated content update
Apr 1, 2026
7d0218c
Automated content update
Apr 2, 2026
126452c
Automated content update
Apr 2, 2026
da8badd
Automated content update
Apr 5, 2026
d2b330e
Automated content update
Apr 5, 2026
f83f37a
Automated content update
Apr 6, 2026
e00fe15
Automated content update
Apr 7, 2026
85641fc
Automated content update
Apr 7, 2026
3d4e5d2
Automated content update
Apr 8, 2026
4adc39e
Automated content update
Apr 8, 2026
6162cfe
Automated content update
Apr 8, 2026
debbd02
Incremental content update
Apr 8, 2026
8697e17
Incremental content update
Apr 8, 2026
7278c9b
Incremental content update
Apr 9, 2026
e509bf7
Incremental content update
Apr 10, 2026
be4a69c
Automated content update
Apr 10, 2026
b540b18
Fix BKT params naming: use defaultBKTParams and experimentalBKTParams
mjyang001 Jan 27, 2026
a8d9c30
Merge pull request #109 from mjyang00001/content-staging
mjyang00001 Apr 10, 2026
b3aa29c
Incremental content update
Apr 10, 2026
20653d2
Incremental content update
Apr 11, 2026
6abfa91
Automated content update
Apr 11, 2026
4185b61
Automated content update
Apr 12, 2026
332d77b
Automated content update
Apr 12, 2026
41b1e66
Automated content update
Apr 12, 2026
d86f7ca
Automated content update
Apr 12, 2026
a1241b0
Automated content update
Apr 12, 2026
45dfdfc
Automated content update
Apr 12, 2026
8b7488c
Automated content update
Apr 16, 2026
faf9bf9
Automated content update
Apr 16, 2026
d396547
Automated content update
Apr 20, 2026
832c181
Automated content update
Apr 20, 2026
57ee224
Automated content update
Apr 20, 2026
4fe5448
Automated content update
Apr 21, 2026
648c86b
Automated content update
Apr 21, 2026
fa2265e
Automated content update
Apr 23, 2026
f34173f
Automated content update
Apr 25, 2026
ca11210
Automated content update
Apr 27, 2026
e433853
Automated content update
Apr 28, 2026
cae387d
Automated content update
Apr 29, 2026
5662fc6
Automated content update
Apr 29, 2026
aa3d9d4
Automated content update
Apr 29, 2026
012fc17
Automated content update
Apr 30, 2026
0ca7c29
Automated content update
Apr 30, 2026
75c2881
Automated content update
May 1, 2026
db02ee0
Automated content update
May 1, 2026
1902906
Automated content update
May 2, 2026
a4d0ed2
Automated content update
May 2, 2026
38a904e
Automated content update
May 2, 2026
6df0951
Automated content update
May 2, 2026
4e4ebe9
Automated content update
May 2, 2026
a134879
Automated content update
May 2, 2026
7839404
Automated content update
May 2, 2026
73c82ef
Automated content update
May 2, 2026
cdad355
Automated content update
May 2, 2026
6338833
Automated content update
May 2, 2026
393358b
Automated content update
May 2, 2026
84d4b7d
Automated content update
May 2, 2026
8032664
Automated content update
May 2, 2026
36d6095
Automated content update
May 2, 2026
2f20e78
Automated content update
May 2, 2026
7eb94ee
Automated content update
May 2, 2026
15267df
Automated content update
May 3, 2026
53baa92
Automated content update
May 3, 2026
48aff19
Automated content update
May 3, 2026
5cbedff
Automated content update
May 3, 2026
1fdbc46
Automated content update
May 3, 2026
193cf8b
Automated content update
May 3, 2026
0d36483
Automated content update
May 3, 2026
01767b4
Automated content update
May 3, 2026
026d2a4
Automated content update
May 3, 2026
fbcb96d
Automated content update
May 3, 2026
6203e61
Automated content update
May 3, 2026
1e0bf89
Automated content update
May 3, 2026
eff4068
Automated content update
May 3, 2026
ac885fc
Automated content update
May 3, 2026
37cdd0e
Automated content update
May 3, 2026
bacaa25
Automated content update
May 3, 2026
160c0a4
Automated content update
May 4, 2026
15690a4
Automated content update
May 6, 2026
bd2ad6e
Automated content update
May 6, 2026
365e5e6
Automated content update
May 7, 2026
0f58c0c
Automated content update
May 7, 2026
03dd601
Automated content update
May 8, 2026
ddb1a75
Automated content update
May 8, 2026
c269a93
Automated content update
May 11, 2026
ecfcd2e
Automated content update
May 13, 2026
ff830a9
Automated content update
May 14, 2026
0bba48c
Automated content update
May 24, 2026
1a39843
Automated content update
May 25, 2026
247d6c5
Automated content update
May 28, 2026
afff5b3
Automated content update
May 29, 2026
0cf56c9
Automated content update
May 30, 2026
6cbb432
Automated content update
Jun 1, 2026
2d1af4e
Automated content update
Jun 2, 2026
e32110a
Automated content update
Jun 2, 2026
177f88e
Automated content update
Jun 4, 2026
83f199b
Automated content update
Jun 5, 2026
73efafc
Automated content update
Jun 9, 2026
73a6e4e
Automated content update
Jun 9, 2026
6c211c6
Automated content update
Jun 10, 2026
352f2a2
Automated content update
Jun 10, 2026
a454df0
Automated content update
Jun 11, 2026
6bdb856
Automated content update
Jun 12, 2026
343cd3d
Automated content update
Jun 13, 2026
1ed4bbc
Automated content update
Jun 15, 2026
3a1ed52
Automated content update
Jun 16, 2026
e513f04
Automated content update
Jun 16, 2026
643fe88
Automated content update
Jun 18, 2026
f9a436b
Automated content update
Jun 19, 2026
a926d80
Automated content update
Jun 22, 2026
d5d1075
Automated content update
Jun 23, 2026
d2fd4b8
Automated content update
Jun 23, 2026
5bdf6e2
Automated content update
Jun 24, 2026
a80e076
Automated content update
Jun 24, 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