Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
413 commits
Select commit Hold shift + click to select a range
99c8547
test: ensure pdf with excessive text wrapping has correct page count
b0ink Jul 3, 2026
fc40bde
fix: run lualatex a third time to ensure correct page references
b0ink Jul 3, 2026
25bcafc
fix: ensure admins can manage communications
b0ink Jul 4, 2026
8d2cd59
chore(release): 11.0.0-30
b0ink Jul 4, 2026
c6f1592
Merge pull request #644 from b0ink/fix/pdf-page-count
b0ink Jul 6, 2026
0eb873e
chore(release): 11.0.0-31
b0ink Jul 8, 2026
05a44fa
feat: add rediscuss status
b0ink Jul 9, 2026
1732604
chore: add coverpage css
b0ink Jul 13, 2026
dc76a5a
Merge pull request #645 from b0ink/feat/rediscuss-status
b0ink Jul 13, 2026
6196b11
docs: update development and deployment documentation
b0ink Jul 15, 2026
444b0f7
docs: restore env var config
b0ink Jul 15, 2026
b3ef36a
chore: extend observer only permissions
b0ink Jul 15, 2026
7640a36
feat: prompt for admin password when creating initial account
b0ink Jul 16, 2026
610daa3
chore: set default password in ci
b0ink Jul 16, 2026
923701d
chore: fix rubocop
b0ink Jul 16, 2026
18123d4
chore: only prompt for admin password in production
b0ink Jul 16, 2026
a21daf8
feat: support word document submission (#647)
b0ink Jul 16, 2026
b48edb7
chore(release): 11.0.0-32
b0ink Jul 16, 2026
a87b250
feat: content management system (#642)
b0ink Jul 19, 2026
184e01a
chore(release): 11.0.0-33
b0ink Jul 19, 2026
4f60eff
fix: pass saml settings correctly to logout response
b0ink Jul 20, 2026
2141fd6
feat: track last access to site and unit
b0ink Jul 22, 2026
50fc821
feat: add last sign in and last unit access communication conditions
b0ink Jul 22, 2026
8973496
Merge pull request #649 from b0ink/feat/last-access-tracking
b0ink Jul 22, 2026
f26c9c5
fix: prevent deleting task definitions used as prerequisites
b0ink Jul 23, 2026
2b3752a
fix: allow unit deletion with task prerequisites
b0ink Jul 24, 2026
4818049
fix: iterate sentry exception interface values correctly
b0ink Jul 24, 2026
d512955
Merge pull request #652 from b0ink/fix/block-task-deletion-prerequisites
b0ink Jul 24, 2026
9630a3e
Merge pull request #654 from b0ink/fix/sentry-reporting
b0ink Jul 24, 2026
f6dfd80
feat: discuss timeout (#646)
b0ink Jul 24, 2026
86753d5
refactor: serve only the content files that are being requested (#655)
b0ink Jul 24, 2026
a535d40
chore(release): 11.0.0-34
b0ink Jul 24, 2026
a8da36c
fix: enable youtube embeds
b0ink Jul 24, 2026
8d8b17c
chore(release): 11.0.0-35
b0ink Jul 24, 2026
bf457a1
fix: normalize upload requirement file keys on save (#653)
b0ink Jul 24, 2026
90d362e
feat: communication condition to check if student has portfolio (#651)
b0ink Jul 24, 2026
328b358
chore(release): 11.0.0-36
b0ink Jul 24, 2026
8df3ea9
fix: pass saml settings correctly to logout response (#648)
b0ink Jul 24, 2026
59641bd
feat: automated engagement stamps (#650)
b0ink Jul 24, 2026
c91418e
chore(release): 11.0.0-37
b0ink Jul 24, 2026
df3bc30
fix: ensure feedback templates rollover to new unit
b0ink Jul 27, 2026
8b11923
Merge pull request #656 from b0ink/fix/rollover-feedback-templates
b0ink Jul 27, 2026
1f83995
refactor: improve overseer step error handling
b0ink Jul 28, 2026
60a039a
chore(release): 11.0.0-38
b0ink Jul 28, 2026
c8bd418
fix: only record discussion after successful transition
b0ink Jul 28, 2026
fd2f926
chore(release): 11.0.0-39
b0ink Jul 28, 2026
1757731
feat: enable unit content download
b0ink Jul 30, 2026
a321cc1
chore(release): 11.0.0-40
b0ink Jul 30, 2026
57f0bfa
Merge pull request #662 from b0ink/fix/administrator-access
b0ink Jul 30, 2026
cf974a4
chore(release): 11.0.0-41
b0ink Jul 30, 2026
9b624d6
fix: ensure screenshots embedded in markdown compiles correctly
b0ink Jul 31, 2026
ba90b58
Merge pull request #663 from b0ink/fix/markdown-images
b0ink Jul 31, 2026
277506d
chore(release): 11.0.0-42
b0ink Jul 31, 2026
6f02a33
feat: group engagement (#658)
b0ink Aug 3, 2026
a60fdb6
chore(release): 11.0.0-43
b0ink Aug 3, 2026
76f3ff1
fix: ensure correct context is found for learning chips import
b0ink Aug 3, 2026
6c3b3e0
feat: bulk upload staff notes
b0ink Aug 3, 2026
3e0f32d
feat: bulk upload staff notes (#665)
b0ink Aug 3, 2026
dd833a4
chore(release): 11.0.0-44
b0ink Aug 8, 2026
5db6234
Merge pull request #664 from b0ink/fix/feedback-chip-import
b0ink Aug 10, 2026
70f8f73
Merge branch '11.0.x' into fix/cve-2025-61594-uri-credential-leakage
b0ink Aug 11, 2026
70faf42
chore: fix rubocop
b0ink Aug 11, 2026
e174878
Merge pull request #633 from 224599437/fix/cve-2025-61594-uri-credent…
b0ink Aug 11, 2026
919b6ab
fix: address uri mitigation and cors regressions
b0ink Aug 11, 2026
a9649c7
fix: validate user input (#668)
b0ink Aug 11, 2026
c9beda2
chore(release): 11.0.0-45
b0ink Aug 12, 2026
c3da5be
fix: extend valid character list
b0ink Aug 17, 2026
5f29d96
chore(release): 11.0.0-46
b0ink Aug 17, 2026
ed719ab
fix: support full width commas
b0ink Aug 17, 2026
16a488a
chore(release): 11.0.0-47
b0ink Aug 17, 2026
bfa41bf
feat: add separate breaks for different campuses (#670)
b0ink Aug 17, 2026
c4864e8
chore(release): 11.0.0-48
b0ink Aug 17, 2026
c089777
feat: tutorial duration (#672)
b0ink Aug 17, 2026
1be12fb
chore(release): 11.0.0-49
b0ink Aug 17, 2026
cb959bf
fix: remove default json value
b0ink Aug 17, 2026
57ee1d4
chore(release): 11.0.0-50
b0ink Aug 17, 2026
cb9af9d
fix: allow admins to manage staff in units they are not part of
b0ink Aug 19, 2026
6177441
Merge pull request #674 from b0ink/fix/admin-employment-access
b0ink Aug 19, 2026
18bff9e
feat: allow staff to delete engagement stamps within window
b0ink Aug 19, 2026
6725f75
fix: avoid creating portfolio path unless intended
b0ink Aug 19, 2026
d902b9d
refactor: fetch result for single rule
b0ink Aug 19, 2026
e7da47c
test: ensure rules are ordered by position
b0ink Aug 19, 2026
6ef341d
Merge pull request #676 from b0ink/refactor/improve-communication-set…
b0ink Aug 20, 2026
599fab5
Merge pull request #673 from b0ink/feat/export-comm-rules
b0ink Aug 20, 2026
38ee332
feat: track teaching breaks in days with an optional label
b0ink Aug 20, 2026
1f34ba0
Merge pull request #677 from b0ink/feat/breaks-days
b0ink Aug 20, 2026
6ab06e9
Merge pull request #678 from b0ink/feat/group-communication-condition
b0ink Aug 20, 2026
19ff041
feat: allow staff to delete engagement stamps within window (#675)
b0ink Aug 20, 2026
016f7f7
chore(release): 11.0.0-51
b0ink Aug 20, 2026
569bc55
fix: ensure discuss timeout emails are not sent to withdrawn students
b0ink Aug 21, 2026
7bb5b59
chore: ensure bulk feedback does not notify withdrawn students
b0ink Aug 21, 2026
2802603
chore(release): 11.0.0-52
b0ink Aug 21, 2026
0c01c15
refactor: replace comment read receipts with per-task cursors (#659)
b0ink Aug 24, 2026
e5833bb
chore(release): 11.0.0-53
b0ink Aug 24, 2026
be022d4
fix: show group overseer reports across member tasks (#669)
b0ink Aug 27, 2026
ef41d86
feat: ensure rules are reordered when deleted
b0ink Aug 28, 2026
0b44135
Merge branch '11.0.x' of https://github.com/doubtfire-lms/doubtfire-a…
b0ink Aug 28, 2026
db2859e
fix: rubocop
b0ink Aug 28, 2026
bbab019
feat: store aggregated task status to serve immediately
b0ink Sep 2, 2026
07b68ca
feat: option to pause week count per teaching period break (#680)
b0ink Sep 2, 2026
c8d67de
Merge pull request #679 from b0ink/refactor/improve-task-status-query
b0ink Sep 2, 2026
ade4de3
chore(release): 11.0.0-54
b0ink Sep 3, 2026
d6fcdef
fix: catch tutorials with no campus set
b0ink Sep 3, 2026
5359c94
feat: statistics endpoint
b0ink Sep 3, 2026
a1cf60a
chore(release): 11.0.0-55
b0ink Sep 3, 2026
ad7964f
Merge pull request #681 from b0ink/fix/nil-campus-timezone
b0ink Sep 3, 2026
753ef9e
chore(release): 11.0.0-56
b0ink Sep 3, 2026
0338a9d
fix: ensure blank passwords do not create empty user
b0ink Sep 4, 2026
566a6b0
fix: init disk space endpoint config outside of overseer
b0ink Sep 4, 2026
a53433a
Merge pull request #682 from b0ink/fix/task-status-chart-student-count
b0ink Sep 4, 2026
f981d35
Merge branch '11.0.x' into fix/blank-password-check
b0ink Sep 4, 2026
fa1da37
fix: ensure blank passwords do not create empty user (#683)
b0ink Sep 4, 2026
96cdf31
chore(release): 11.0.0-57
b0ink Sep 4, 2026
d3c623d
fix: handle concurrently cleared submission history markers
b0ink Sep 8, 2026
53695e9
fix: use redis for production cache
b0ink Sep 8, 2026
1ac4a6f
test: fix task cache
b0ink Sep 9, 2026
e3e66de
Merge pull request #685 from b0ink/fix/redis-cache-race
b0ink Sep 14, 2026
ed5390a
chore(release): 11.0.0-58
b0ink Sep 14, 2026
571a699
refactor: caddy file serving (#667)
b0ink Sep 14, 2026
e541948
chore(release): 11.0.0-59
b0ink Sep 14, 2026
c4c7a34
fix: ensure unique email seed
b0ink Sep 15, 2026
a49205e
feat: expose waiting_since date on inbox tasks
b0ink Sep 15, 2026
a8ae905
fix: allow students to submit tasks locked to a tutorial stream
b0ink Sep 16, 2026
6b2f1c9
test: cover student submission on stream-locked tasks
b0ink Sep 16, 2026
4f57a67
test: ensure task results in rff
b0ink Sep 16, 2026
47cdd26
chore: rename success messages
b0ink Sep 16, 2026
d44acf2
feat: authorise jplag report downloads for the caddy file server
b0ink Sep 16, 2026
3a42be6
chore: include unit code in jplag report download name
b0ink Sep 16, 2026
238b6a7
fix: prioritise unit staff role for owned projects
b0ink Sep 16, 2026
aac3a8c
fix: prioritise unit staff role for owned projects (#688)
b0ink Sep 16, 2026
e7da860
fix: prevent discussion timeout notifications outside of active teach…
b0ink Sep 17, 2026
b27d9ca
feat: disable jobs outside of currently active teaching period (#689)
b0ink Sep 17, 2026
19e0850
chore(release): 11.0.0-60
b0ink Sep 17, 2026
06a8b48
fix: advance comment cursor past authored comments
b0ink Sep 20, 2026
caaa1ac
fix: advance comment cursor past authored comments (#693)
b0ink Sep 21, 2026
bb23ee7
chore(release): 11.0.0-61
b0ink Sep 21, 2026
e00c3e2
Merge pull request #686 from b0ink/feat/waiting-since-field
b0ink Sep 21, 2026
2627ac8
feat: view inbox as another tutor
b0ink Sep 22, 2026
5cccd3e
Merge pull request #696 from b0ink/feat/view-inbox-as
b0ink Sep 22, 2026
bb7571c
fix: teaching period authentication
b0ink Sep 22, 2026
9c58d3e
Add target grade stats to task completion snapshot API (#694)
audreypho Sep 22, 2026
638182e
chore(release): 11.0.0-62
b0ink Sep 22, 2026
caa8fa1
fix: avoid sending full error message in task comments (#695)
b0ink Sep 23, 2026
c9c5d9a
feat: resumable uploads
b0ink Sep 23, 2026
e4b4db6
feat: automate lti syncing and add moodle course data (#690)
b0ink Sep 23, 2026
14b3d19
chore(release): 11.0.0-63
b0ink Sep 23, 2026
80ca5b0
fix: teaching period authentication (#697)
b0ink Sep 24, 2026
f74ad77
Merge pull request #699 from b0ink/feat/resumable-uploads
b0ink Sep 24, 2026
cf50d95
chore(release): 11.0.0-64
b0ink Sep 24, 2026
68530ee
fix: store batch feedback chunks as separate files instead of locking
b0ink Sep 24, 2026
b734947
refactor: share user identity lookup across SAML, LTI and LMS imports
b0ink Sep 24, 2026
e21f52b
Merge pull request #700 from b0ink/fix/resumable-uploads-chunks
b0ink Sep 24, 2026
4dade69
chore(release): 11.0.0-65
b0ink Sep 24, 2026
0f34f4e
feat: detect accounts linked to a different login id
b0ink Sep 24, 2026
55cef4d
fix: rotate refresh token when signing in near expiry
JBarazani Sep 24, 2026
1c2f157
Merge pull request #702 from JBarazani/fix/refresh-token-rotation
b0ink Sep 27, 2026
a82b291
fix: rollover unit content
b0ink Sep 27, 2026
aab3256
feat: rollover per-grade target dates and include them in task csv
b0ink Sep 27, 2026
bebbb1a
feat: configure batch feedback chunk size
b0ink Sep 27, 2026
b7de688
Merge pull request #703 from b0ink/fix/unit-content-rollover
b0ink Sep 27, 2026
9da7b41
Merge pull request #704 from b0ink/feat/export-grade-due-dates
b0ink Sep 28, 2026
c8b3349
Merge pull request #705 from b0ink/feat/batch-feedback-size-env-var
b0ink Sep 28, 2026
3284b55
chore: raise alert on username change using same login id
b0ink Sep 28, 2026
572d765
chore(release): 11.0.0-66
b0ink Sep 28, 2026
ecf6a94
Merge pull request #701 from b0ink/refactor/identity-matcher
b0ink Sep 28, 2026
c5e3744
chore(release): 11.0.0-67
b0ink Sep 28, 2026
61e8ba9
fix: handle large jpeg submissions
b0ink Oct 14, 2026
f396e85
test: add test image with large pixel count
b0ink Oct 14, 2026
3516c39
Merge pull request #706 from b0ink/fix/large-jpeg-submission-processing
b0ink Oct 15, 2026
a910807
chore: automatically set student id from lti
b0ink Oct 15, 2026
06cc24c
chore(release): 11.0.0-68
b0ink Oct 15, 2026
50a36ab
fix: count students once per task status across tutorial streams
b0ink Oct 15, 2026
a065b0e
feat: name downloaded submission files after upload requirements
b0ink Oct 15, 2026
42a9b4d
Merge pull request #708 from b0ink/feat/student-count-stats
b0ink Oct 15, 2026
7887181
fix: skip missing submissions
b0ink Oct 15, 2026
43e11e7
fix: skip withdrawn projects
b0ink Oct 15, 2026
bcfe90a
Merge pull request #709 from b0ink/feat/plain-text-communication-emails
b0ink Oct 15, 2026
86614eb
feat: name downloaded submission files after upload requirements (#707)
b0ink Oct 16, 2026
5ddf9bd
fix: ensure submission date is saved correctly
b0ink Oct 16, 2026
446a303
fix: check prerequisites for tasks with no upload requirement
b0ink Oct 16, 2026
175b4ca
Merge pull request #710 from b0ink/fix/pdf-submission-date
b0ink Oct 16, 2026
099dd35
Merge pull request #712 from b0ink/fix/prereq-check-no-upload-req
b0ink Oct 16, 2026
c7a1669
chore(release): 11.0.0-69
b0ink Oct 16, 2026
88215b8
refactor: fetch lms tab course data in a single moodle request
b0ink Oct 20, 2026
fd84098
chore(release): 11.0.0-70
b0ink Oct 20, 2026
eff4c7f
Merge pull request #713 from b0ink/refactor/discussion-deadline-end-o…
b0ink Oct 20, 2026
2ce78de
fix: define \lt and \gt for notebook pdf compilation
b0ink Oct 21, 2026
03a5f23
test: cover \lt in notebook pdf generation
b0ink Oct 21, 2026
6b0b18e
feat: resolve template variable for main convenor name
b0ink Oct 21, 2026
d6d3e6d
fix: support docx files in learning summary report uploads (#714)
b0ink Oct 21, 2026
a350abf
chore(release): 11.0.0-71
b0ink Oct 21, 2026
690d1ff
fix: file permissions
b0ink Oct 21, 2026
c0d398e
chore(release): 11.0.0-72
b0ink Oct 21, 2026
500b645
chore: add sortable descriptive gotenberg work directory names
b0ink Oct 21, 2026
049e583
chore: add sortable descriptive gotenberg work directory names (#715)
b0ink Oct 21, 2026
598639e
fix: add missing task status colors for pdf gen
b0ink Oct 22, 2026
e7ca3c6
test: ensure coverage of missing task status colors in pdf gen
b0ink Oct 22, 2026
0b66ead
chore: match portfolio pdf status colors to web palette
b0ink Oct 22, 2026
fa8c1c4
Merge pull request #717 from b0ink/fix/missing-pdf-task-status-colors
b0ink Oct 22, 2026
265c00a
chore(release): 11.0.0-73
b0ink Oct 22, 2026
f037ddc
chore: update alpine image to latest for jplag
b0ink Oct 22, 2026
63ef0cc
fix: remove obsolete hash fragments from notification links
b0ink Oct 22, 2026
4d9327a
test: cover portfolio pdf generation with an empty task description
b0ink Oct 22, 2026
a2745ea
fix: show placeholder for empty task descriptions in portfolio pdfs
b0ink Oct 22, 2026
dd30dc7
Merge pull request #719 from b0ink/fix/href-links
b0ink Oct 22, 2026
1d17b87
Merge pull request #720 from b0ink/fix/pdfgen-empty-task-description
b0ink Oct 22, 2026
2e2d49c
Merge pull request #718 from b0ink/fix/redact-failed-pdf-gen-sentry
b0ink Oct 22, 2026
8a7d5fc
chore(release): 11.0.0-74
b0ink Oct 22, 2026
6554728
test: cover docx draft learning summary in generated portfolio
b0ink Oct 22, 2026
f4e402f
fix: restrict global learning outcome changes to admins
b0ink Oct 23, 2026
ed123c4
refactor: add better logging to the submission history migration
b0ink Oct 23, 2026
1fc7cf0
fix: ensure authentication for tii group attachment api
b0ink Oct 23, 2026
a7ad239
fix: restrict global learning outcome changes to admins (#721)
b0ink Oct 23, 2026
1d149d7
Merge pull request #716 from b0ink/feat/last-teaching-date
b0ink Oct 23, 2026
2b7ee3c
fix: ensure authentication for tii group attachment api (#722)
b0ink Oct 23, 2026
386e6c9
chore(release): 11.0.0-75
b0ink Oct 23, 2026
6bbfbb4
fix: prevent students from grading their own tasks
b0ink Oct 24, 2026
161450a
fix: restrict tutor feedback moderation to mentors, convenors and adm…
b0ink Oct 25, 2026
9c1f74e
fix: prevent students from grading their own tasks (#724)
b0ink Oct 25, 2026
c1cfdff
chore: upgrade rails to 8.0.5.1
b0ink Oct 25, 2026
0a2ee1c
fix: bump ruby-saml to 1.18.1
b0ink Oct 25, 2026
e97bc27
feat: split submission processing and other jobs into parallel serial…
b0ink Oct 25, 2026
fe9af93
chore(release): 11.0.0-76
b0ink Oct 25, 2026
adf16f2
chore: upgrade rails to 8.0.5.1 (#725)
b0ink Oct 25, 2026
6ca6e0b
chore(release): 11.0.0-77
b0ink Oct 25, 2026
ef24b3c
fix: require authentication for scorm extension routes
b0ink Oct 25, 2026
5dc654f
Merge pull request #726 from b0ink/fix/scorm-extension-authentication
b0ink Oct 25, 2026
7846be6
fix: require authentication for Turnitin EULA acceptance
b0ink Oct 25, 2026
e8e0a13
Merge pull request #728 from b0ink/fix/turnitin-eula-authentication
b0ink Oct 25, 2026
ca9e274
fix: prevent pdfgen from claiming sidekiq-owned submissions (#730)
b0ink Oct 26, 2026
b47c050
fix: whitelist similarity languages and avoid shell execution (#727)
b0ink Oct 26, 2026
aaaff74
feat: setting to restrict task submissions and status changes to staf…
b0ink Oct 26, 2026
f61a01c
refactor: improve naming of overseer work directory
b0ink Oct 26, 2026
5d02218
feat: allow staff to reuse submissions for feedback (#732)
b0ink Oct 26, 2026
770c49a
feat: enable sentry for sidekiq (#698)
b0ink Oct 26, 2026
98746fd
refactor: add unit code to work dir name (#733)
b0ink Oct 26, 2026
b9a1009
feat: support image and pdf attachments in staff notes (#734)
b0ink Oct 26, 2026
bd3ec15
chore(release): 11.0.0-78
b0ink Oct 26, 2026
84f366f
fix: skip docker login job if vars not set
b0ink Oct 26, 2026
cd2a07c
chore(release): 11.0.0-79
b0ink Oct 26, 2026
914ddf3
chore(release): 11.0.0
b0ink Oct 26, 2026
4675793
fix: allow task title punctuation and clarify validation errors (#735)
b0ink Oct 26, 2026
65d4233
chore(release): 11.0.1
b0ink Oct 26, 2026
b644fa2
refactor: format test files (#736)
b0ink Oct 27, 2026
94d5b40
chore: ignore format commit in git blame
b0ink Oct 27, 2026
9255dfa
Merge branch '11.1.x' into pr-634
b0ink Oct 27, 2026
c5b898f
feat: add env vars for rack attack configuration
b0ink Oct 27, 2026
a5281df
fix: disable rack attack inbetween standard tests
b0ink Oct 27, 2026
1aec2ed
test: extend coverage for rack attack
b0ink Oct 27, 2026
f7dc3aa
chore: sort gemfile
b0ink Oct 27, 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
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .ci-setup/crontab
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ BASH_ENV=/container.env
PATH=/tmp/texlive/bin/x86_64-linux:/tmp/texlive/bin/aarch64-linux:/usr/local/bundle/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/bundle/bin

10,15,20,25,30,35,40,45,50,55 * * * * /doubtfire/lib/shell/generate_pdfs.sh
0,10,20,30,40,50 * * * * /doubtfire/lib/shell/send_overseer_notifications.sh
0 5 * * * /doubtfire/lib/shell/check_plagiarism.sh
0 8 * * * /doubtfire/lib/shell/portfolio_autogen_check.sh
0 7 * * 1 /doubtfire/lib/shell/send_weekly_emails.sh
Expand Down
5 changes: 5 additions & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Jan 11 2022: Repository wide format (support zeitwerk mode loader)
f4050e826af83166e45b0b4f2af14179b40305dd

# Oct 27 2026: Rubocop formatting of test files
b644fa2fa51e44e6cf81035cb4ec61015c0f464c
37 changes: 30 additions & 7 deletions .github/workflows/push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,16 +22,18 @@ env:
DF_TEST_DB_DATABASE: "doubtfire-test"
DF_TEST_DB_USERNAME: "dfire"
DF_TEST_DB_PASSWORD: "pwd"
OVERSEER_ENABLED: "0"
OVERSEER_ENABLED: "true"
DF_ENCRYPTION_PRIMARY_KEY: "AMLOMYA5GV8B4fTK3VKMhVGn8WdvUW8g"
DF_ENCRYPTION_DETERMINISTIC_KEY: "anlmuJ6cB3bN3biXRbYvmPsC5ALPFqGG"
DF_ENCRYPTION_KEY_DERIVATION_SALT: "hzPR8D4qpOnAg7VeAhkhWw6JmmzKJB10"
DF_REDIS_SIDEKIQ_URL: "redis://redis:6379/0"
LATEX_CONTAINER_NAME: doubtfire-texlive
LATEX_BUILD_PATH: /texlive/shell/latex_build.sh
DF_JPLAG_REPORT_DIR: /jplag/results
LTI_SHARED_API_SECRET: "abc123"
GOTENBERG_IMAGE: doubtfire-gotenberg-development:local
GOTENBERG_FALLBACK_VOLUME_CONTAINER: doubtfire-gotenberg-volumes
LTI_SHARED_API_SECRET: "3e46c34bd730233ac1d503059f3aa92ef5e2dc15614f5cc9ba6bb2a9196476a9"
LTI_ENABLED: true
DF_INITIAL_ADMIN_PASSWORD: "password"

jobs:
unit-tests:
Expand Down Expand Up @@ -64,6 +66,16 @@ jobs:
tags: doubtfire-texlive-development:local
cache-from: type=gha,scope=texlive
cache-to: type=gha,mode=max,scope=texlive
- name: Build Gotenberg image
uses: docker/build-push-action@v5
with:
context: .
file: gotenberg.Dockerfile
push: false
load: true
tags: doubtfire-gotenberg-development:local
cache-from: type=gha,scope=gotenberg
cache-to: type=gha,mode=max,scope=gotenberg
- name: Build JPlag image
uses: docker/build-push-action@v5
with:
Expand Down Expand Up @@ -104,14 +116,20 @@ jobs:
-v ${{ github.workspace }}:/doubtfire
-v /var/run/docker.sock:/var/run/docker.sock
run: docker exec -t ${{ env.LATEX_CONTAINER_NAME }} lualatex -v
- name: Start Gotenberg volume container
run: >
docker run --detach
--name ${{ env.GOTENBERG_FALLBACK_VOLUME_CONTAINER }}
--network none
--volume ${{ github.workspace }}/tmp/gotenberg:/workdir/gotenberg
alpine sleep infinity
- name: Start JPlag service
uses: maus007/docker-run-action-fork@207a4e2a8ebf7e4b985656ba990b1e53715dce2a
with:
image: doubtfire-jplag-development:local
options: >
--name jplag
-v ${{ github.workspace }}/student-work:/student-work
-v ${{ github.workspace }}/jplag/results:${{ env.DF_JPLAG_REPORT_DIR }}
-v ${{ github.workspace }}/tmp/jplag:/tmp/jplag
-v ${{ github.workspace }}/test_files/submissions/jplag:/test_files
--detach
Expand Down Expand Up @@ -152,9 +170,11 @@ jobs:
-e DF_REDIS_SIDEKIQ_URL
-e LATEX_CONTAINER_NAME
-e LATEX_BUILD_PATH
-e DF_JPLAG_REPORT_DIR
-e GOTENBERG_IMAGE
-e GOTENBERG_FALLBACK_VOLUME_CONTAINER
-e LTI_SHARED_API_SECRET
-e LTI_ENABLED
-e DF_INITIAL_ADMIN_PASSWORD
run: bundle exec rake db:populate
- name: Run unit tests
uses: maus007/docker-run-action-fork@207a4e2a8ebf7e4b985656ba990b1e53715dce2a
Expand All @@ -164,7 +184,6 @@ jobs:
-v ${{ github.workspace }}:/doubtfire
-v ${{ github.workspace }}/student-work:/student-work
-v /var/run/docker.sock:/var/run/docker.sock
-v ${{ github.workspace }}/jplag/results:${{ env.DF_JPLAG_REPORT_DIR }}
-v ${{ github.workspace }}/tmp/jplag:/tmp/jplag
-e RAILS_ENV
-e DF_STUDENT_WORK_DIR
Expand All @@ -185,11 +204,15 @@ jobs:
-e DF_REDIS_SIDEKIQ_URL
-e LATEX_CONTAINER_NAME
-e LATEX_BUILD_PATH
-e DF_JPLAG_REPORT_DIR
-e GOTENBERG_IMAGE
-e GOTENBERG_FALLBACK_VOLUME_CONTAINER
-e LTI_SHARED_API_SECRET
-e LTI_ENABLED
run: TERM=xterm bundle exec rails test
- name: Stop TexLive service
run: docker rm -f ${{ env.LATEX_CONTAINER_NAME }}
- name: Stop JPlag service
run: docker rm -f jplag
- name: Stop Gotenberg volume container
if: always()
run: docker rm -f ${{ env.GOTENBERG_FALLBACK_VOLUME_CONTAINER }}
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,9 @@ student-work/
.DS_Store
.env
.env*
/config/credentials/*.yml.enc
/config/credentials/*.key
/config/master.key

# IDE configs
.idea/
Expand Down
Loading