Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1480 commits
Select commit Hold shift + click to select a range
84fb6b8
chore: switch to outlined version of icon
b0ink Jun 3, 2026
7547d4c
refactor: reduce icon size to match original
b0ink Jun 3, 2026
68c51d2
chore: clarify tutorial change option
b0ink Jun 3, 2026
e13e69e
chore(release): 11.0.0-14
b0ink Jun 3, 2026
9654d93
chore: temporarily disable discussion prompts from inbox view
b0ink Jun 3, 2026
5495070
refactor: replace bootstrap container class with tailwind
b0ink Jun 3, 2026
cd47f5c
fix: display past due date on same day
b0ink Jun 3, 2026
be780b1
fix: prevent reload of task list component when switching back to das…
b0ink Jun 3, 2026
41ded4f
chore(release): 11.0.0-15
b0ink Jun 3, 2026
8fc4c54
chore: update icon for assess in portfolio
b0ink Jun 3, 2026
bc53487
chore: replace container with tailwind
b0ink Jun 3, 2026
7fdee2f
chore(release): 11.0.0-16
b0ink Jun 3, 2026
9e1ef8b
chore: increase stats bar size
b0ink Jun 3, 2026
99d546f
feat: support zip file submissions (#1240)
b0ink Jun 3, 2026
1827efa
chore(release): 11.0.0-17
b0ink Jun 3, 2026
f771156
chore: capitalise zip
b0ink Jun 3, 2026
528fd74
chore: capitalise zip
b0ink Jun 3, 2026
13b476a
chore(release): 11.0.0-18
b0ink Jun 3, 2026
54b1cf0
fix: ensure unit is fetched in unit task editor
b0ink Jun 3, 2026
82848dd
chore(release): 11.0.0-19
b0ink Jun 3, 2026
2febef9
chore: rebuild package-lock.json
b0ink Jun 3, 2026
0eb003a
chore: remove npm package
b0ink Jun 4, 2026
b46d607
refactor: migrate about modal to tailwind
b0ink Jun 4, 2026
189cbe8
chore(release): 11.0.0-20
b0ink Jun 4, 2026
3291640
chore: open github in new tab
b0ink Jun 4, 2026
532f185
fix: ensure unit dates map correctly
b0ink Jun 5, 2026
9a71dc0
chore: update actions/setup-node to v4
b0ink Jun 5, 2026
0ba04f9
chore: remove global cli install
b0ink Jun 5, 2026
91a52fe
chore: upgrade angular eslint packages
b0ink Jun 5, 2026
ed295a6
refactor: ensure new user cant escape welcome screen
b0ink Jun 5, 2026
26b4962
refactor: format codebase and implement lint checks (#1251)
b0ink Jun 8, 2026
b13b646
chore: update README
b0ink Jun 8, 2026
82e5175
chore(release): 11.0.0-21
b0ink Jun 8, 2026
2fa3b71
chore: fix portfolio submission date sorting
b0ink Jun 8, 2026
b55bcfc
feat: communications system (#1239)
b0ink Jun 9, 2026
5381b13
chore(release): 11.0.0-22
b0ink Jun 9, 2026
a9f2ef2
chore: update package-lock
b0ink Jun 9, 2026
9d71c05
chore: update package-lock
b0ink Jun 9, 2026
0348f06
chore: ignore formatting commit in git blame
b0ink Jun 10, 2026
ba7910a
fix: avoid loading rendering all students at the same time
b0ink Jun 10, 2026
df6a6ec
fix: apply status color
b0ink Jun 10, 2026
21d3e95
refactor: add skeleton ui to students and portfolios route
b0ink Jun 10, 2026
c812b8c
chore: default tooltip position to above elements
b0ink Jun 10, 2026
be0fcba
chore: improve task list padding
b0ink Jun 10, 2026
2f327f1
chore: add subtitle
b0ink Jun 10, 2026
7ebe61b
refactor: disable feedback submissions after deadline
b0ink Jun 10, 2026
ac015c5
refactor: rename tutor notes to moderation notes
b0ink Jun 10, 2026
8ce79a8
fix: ensure entire task list can be scrolled through
b0ink Jun 11, 2026
55ef4c0
feat: display list of tasks still being processed (#1264)
b0ink Jun 11, 2026
53d7862
refactor: sort angular and rxjs imports first
b0ink Jun 11, 2026
4f98942
chore(release): 11.0.0-23
b0ink Jun 11, 2026
84c2afe
chore: upgrade eslint
b0ink Jun 15, 2026
08a8eee
feat: upgrade gantt chart and add screenshotting ability (#1263)
b0ink Jun 15, 2026
578d0b1
chore: update angular to 21.2.17
b0ink Jun 16, 2026
3239d09
chore(deps-dev): bump @commitlint/config-conventional
dependabot[bot] Jun 16, 2026
cfa1079
refactor: compact task list when resized smaller
b0ink Jun 16, 2026
42fd95d
refactor: add project dashboard in portfolios progress view
b0ink Jun 16, 2026
f8d5142
fix: use either portfolio available field
b0ink Jun 16, 2026
39a62f1
refactor: add routing system to portfolios navigation
b0ink Jun 16, 2026
0a9e7e4
refactor: move charts to mat cards
b0ink Jun 16, 2026
4ff5562
feat: check access token expiry locally before attempting request (#1…
b0ink Jun 16, 2026
5c95b47
refactor: prevent camera running in background (#1210)
b0ink Jun 17, 2026
4cdae07
feat: submission history (#1269)
b0ink Jun 17, 2026
1ffc7ad
refactor: sort attributes (#1280)
b0ink Jun 17, 2026
6d00565
chore: ignore formatting commit from git blame
b0ink Jun 17, 2026
d6b7049
chore(release): 11.0.0-24
b0ink Jun 17, 2026
1fb4637
feat: add day of week to gantt chart
b0ink Jun 17, 2026
83b6d5e
fix: web calendar (#1282)
b0ink Jun 17, 2026
38c0e85
feat: show students name if viewing other project
b0ink Jun 18, 2026
7a754dc
feat: engagement passport (#1257)
b0ink Jun 18, 2026
e73d682
chore: inform staff that students can access engagements
b0ink Jun 18, 2026
1ba5d1e
fix: ensure dashboard dropdown switches from task details view
b0ink Jun 18, 2026
2ea216b
chore(release): 11.0.0-25
b0ink Jun 18, 2026
d48af37
chore(deps-dev): bump ip from 1.1.9 to 2.0.1
dependabot[bot] Jun 18, 2026
54751e0
Merge pull request #1281 from doubtfire-lms/dependabot/npm_and_yarn/i…
b0ink Jun 18, 2026
d356de3
chore: bump ngx-lottie from 11.0.2 to 21.2.0
b0ink Jun 18, 2026
73bb0f4
Merge pull request #1252 from doubtfire-lms/dependabot/npm_and_yarn/c…
b0ink Jun 18, 2026
e8ac2d1
Merge branch '11.0.x' into fix/double_fetch
b0ink Jun 18, 2026
0f49928
Merge pull request #1226 from cillynder/fix/double_fetch
b0ink Jun 18, 2026
edab092
chore: remove unused/deprecated bootstrap styles (#1266)
b0ink Jun 18, 2026
356b3b8
refactor: add staff notes header in portfolio view
b0ink Jun 18, 2026
5555e27
refactor: replace karma with vitest (#1274)
b0ink Jun 19, 2026
b5d57a5
chore: upgrade to angular 22
b0ink Jun 19, 2026
e300ac0
chore: upgrade material ui to 22
b0ink Jun 19, 2026
886d9b7
chore: upgrade angular eslint to 22
b0ink Jun 19, 2026
e2b718c
chore: suppress change detection eager warnings
b0ink Jun 19, 2026
ec4bab9
chore: update packages
b0ink Jun 19, 2026
1d228d5
ci: use node 22
b0ink Jun 19, 2026
f9357bb
build: use node 22
b0ink Jun 19, 2026
6790339
chore: update deps
b0ink Jun 19, 2026
4d02701
ci: update packages to support node 22
b0ink Jun 19, 2026
20d610e
chore: hotfix tooltip errors
b0ink Jun 19, 2026
e1f9baa
test: fix ci
b0ink Jun 19, 2026
7bcc446
chore: bump node requirement
b0ink Jun 19, 2026
43cd06c
Merge pull request #1289 from b0ink/chore/upgrade-angular-22
b0ink Jun 19, 2026
4583569
Merge pull request #1201 from b0ink/feat/overflow-task-claim-analytics
b0ink Jun 19, 2026
fc75fcb
chore: upgrade to tailwindcss 4 (#1292)
b0ink Jun 19, 2026
c76c68f
chore(deps): bump undici from 7.27.2 to 7.28.0
dependabot[bot] Jun 19, 2026
9ab5b39
chore(deps): bump undici from 7.27.2 to 7.28.0 (#1291)
b0ink Jun 19, 2026
550b867
fix: avoid converting colons in urls to emojis #706
b0ink Jun 19, 2026
a139ce5
chore(release): 11.0.0-26
b0ink Jun 19, 2026
cddf5a6
chore: revert debug code
b0ink Jun 19, 2026
1c20dd7
fix: center div
b0ink Jun 19, 2026
3eeedb2
refactor: enable strict templates
b0ink Jun 22, 2026
c66cbdb
chore: reenable extended diagnostics
b0ink Jun 22, 2026
af9ab4d
fix: close dialog after creating teachiing period
b0ink Jun 23, 2026
488f8f1
chore: remove unused table cell
b0ink Jun 23, 2026
d95c4ca
fix: use correct scorm url
b0ink Jun 23, 2026
aa2519a
refactor: improve comment timestamp
b0ink Jun 23, 2026
efb4e5d
fix: allow empty strings to fix create user dialog
b0ink Jun 23, 2026
03d0741
Merge pull request #1293 from b0ink/refactor/strict-templates
b0ink Jun 23, 2026
46f494c
fix: only show status icon if set
b0ink Jun 23, 2026
6cad43c
fix: ensure overseer assessment is valid before expanding
b0ink Jun 23, 2026
61b6fbd
refactor: improve pdf comment ui
b0ink Jun 23, 2026
1b066c0
fix: ensure user is authenticated before loading scorm
b0ink Jun 23, 2026
530c6a2
Merge pull request #1299 from b0ink/refactor/improve-discussion-comments
b0ink Jun 23, 2026
b4af5d1
fix: extend reply height to avoid text cutoff
b0ink Jun 23, 2026
7d420d9
chore: remove unused packages
b0ink Jun 24, 2026
3702ed2
Merge pull request #1300 from b0ink/chore/remove-unused-packages
b0ink Jun 24, 2026
15049b3
refactor: use sha265 for gravitar icons
b0ink Jun 24, 2026
598d9a9
chore(deps): bump ngx-skeleton-loader from 12.0.0 to 13.0.0
dependabot[bot] Jun 24, 2026
393eeac
Merge pull request #1297 from doubtfire-lms/dependabot/npm_and_yarn/n…
b0ink Jun 24, 2026
a281de2
chore: update outdated packages
b0ink Jun 24, 2026
47521ee
chore: lint tailwind classes
b0ink Jun 24, 2026
8091123
refactor: improve confirmation modal layout
b0ink Jun 24, 2026
a02fe9e
fix: truncate portfolio task list item correctly
b0ink Jun 24, 2026
5961860
fix: update husky hooks for v9
b0ink Jun 24, 2026
e43b96d
fix: hide quality pts if negative
b0ink Jun 24, 2026
d4f8cd3
refactor: improve grade and task quality workflow
b0ink Jun 24, 2026
c2b68ac
feat: customisable grades (#1271)
b0ink Jun 24, 2026
5717dcc
chore: restore base url and service worker
b0ink Jun 24, 2026
232d99b
chore(release): 11.0.0-27
b0ink Jun 24, 2026
c6a35d3
refactor: enable live updating for grade definitions
b0ink Jun 24, 2026
9091b56
chore(release): 11.0.0-28
b0ink Jun 24, 2026
9273c61
chore: update service worker font handling
macite Oct 18, 2025
68f755e
chore: cache google fonts stylesheet url
b0ink Jun 25, 2026
7704acf
Merge pull request #1306 from b0ink/fix/sw-font
b0ink Jun 25, 2026
97e80db
chore: remove bootstrap cache
b0ink Jun 25, 2026
865faa2
feat: sentry (#1305)
b0ink Jun 25, 2026
055942b
chore(release): 11.0.0-29
b0ink Jun 25, 2026
2d24ebc
fix: tunnel sentry requests
b0ink Jun 25, 2026
61c1f18
chore(release): 11.0.0-30
b0ink Jun 25, 2026
413e67b
chore: update tunnel url
b0ink Jun 25, 2026
4691119
chore(release): 11.0.0-31
b0ink Jun 25, 2026
b2a8cdd
fix: ensure sentry replays work
b0ink Jun 25, 2026
bc8e57e
chore(release): 11.0.0-32
b0ink Jun 25, 2026
bc35164
fix: ensure session replays are captured
b0ink Jun 25, 2026
9da199c
chore(release): 11.0.0-33
b0ink Jun 25, 2026
567c300
chore: update angular calendar
b0ink Jun 25, 2026
e347c78
chore(deps): bump @sentry/cli from 2.58.6 to 3.5.1
dependabot[bot] Jun 25, 2026
07ae992
chore(deps-dev): bump autoprefixer from 10.5.1 to 10.5.2
dependabot[bot] Jun 25, 2026
762d5a4
chore(deps-dev): bump @types/node from 26.0.0 to 26.0.1
dependabot[bot] Jun 25, 2026
601c9bb
chore(deps-dev): bump @angular/cli from 22.0.3 to 22.0.4
dependabot[bot] Jun 25, 2026
f17eaf8
chore(deps-dev): bump @angular/cli from 22.0.3 to 22.0.4 (#1311)
b0ink Jun 25, 2026
f4c4262
Merge pull request #1309 from doubtfire-lms/dependabot/npm_and_yarn/t…
b0ink Jun 25, 2026
b8e01f9
Merge pull request #1308 from doubtfire-lms/dependabot/npm_and_yarn/a…
b0ink Jun 25, 2026
c942c76
Merge pull request #1307 from doubtfire-lms/dependabot/npm_and_yarn/s…
b0ink Jun 25, 2026
21ab069
chore(deps-dev): bump @angular/build from 22.0.3 to 22.0.4
dependabot[bot] Jun 25, 2026
ac8f19c
Merge pull request #1310 from doubtfire-lms/dependabot/npm_and_yarn/a…
b0ink Jun 25, 2026
ea5602c
chore: update package-lock
b0ink Jun 25, 2026
8af5f5a
fix: align icons
b0ink Jun 25, 2026
f323fd3
chore: replace overseer tab with history
b0ink Jun 25, 2026
b227547
refactor: add view files button in history expansion
b0ink Jun 25, 2026
57cdde9
chore: shorten mod notes
b0ink Jun 25, 2026
ec8eef4
fix: set correct button size
b0ink Jun 25, 2026
7095486
chore(release): 11.0.0-34
b0ink Jun 25, 2026
caf4ab7
refactor: rename staff notes to student notes
b0ink Jun 25, 2026
aa0ffe8
ci: run typecheck
b0ink Jun 25, 2026
9c50023
refactor: migrate institution settings tabs into routes
b0ink Jun 25, 2026
b833a1c
feat: add skeleton loading ui to overseer image list
b0ink Jun 25, 2026
7b58c93
refactor: use outlined form fields
b0ink Jun 25, 2026
ed4dba4
fix: use correct api url
b0ink Jun 26, 2026
47ffe2b
feat: add skeleton ui for activities
b0ink Jun 26, 2026
ab1a401
fix: reveal tii threshold if tii enabled
b0ink Jun 26, 2026
efbac64
refactor: improve portfolios skeleton ui
b0ink Jun 26, 2026
3ca1404
chore: improve look of staff role selection
b0ink Jun 26, 2026
b86c95b
refactor: improve scorm comment ui
b0ink Jun 26, 2026
ce4e1e4
refactor: improve scorm extension comment ui
b0ink Jun 26, 2026
d96eeb5
chore: update angular 22.0.3
b0ink Jun 26, 2026
f829dbc
chore: update ngx-lottie
b0ink Jun 26, 2026
3d88294
chore: update packages
b0ink Jun 26, 2026
98fcb28
chore: update sentry
b0ink Jun 26, 2026
2c63e01
chore(release): 11.0.0-35
b0ink Jun 29, 2026
6afb62c
chore: fix padding
b0ink Jun 29, 2026
29be42b
chore(deps-dev): bump eslint from 10.5.0 to 10.6.0
dependabot[bot] Jun 29, 2026
dee3145
refactor: add skeleton ui and ensure route loads first
b0ink Jun 29, 2026
59c102d
fix: modify grey border
b0ink Jun 29, 2026
1e844bf
chore(release): 11.0.0-36
b0ink Jun 29, 2026
b28bc69
fix: fetch images on init
b0ink Jun 29, 2026
3bf0562
chore(release): 11.0.0-37
b0ink Jun 29, 2026
a431418
refactor: load route before loading unit and add skeleton ui
b0ink Jun 29, 2026
79ebf2e
chore(release): 11.0.0-38
b0ink Jun 29, 2026
88dac24
chore: disable observer only button for main convenors
b0ink Jun 29, 2026
ae4248e
Merge pull request #1321 from doubtfire-lms/dependabot/npm_and_yarn/e…
b0ink Jun 29, 2026
4c25af4
Merge branch '11.0.x' of https://github.com/doubtfire-lms/doubtfire-w…
b0ink Jun 29, 2026
c0f42e2
chore: remove test sentry dsn
b0ink Jun 30, 2026
518b58b
fix: dynamic hint sizing to prevent overlap
b0ink Jul 1, 2026
794775b
chore(release): 11.0.0-39
b0ink Jul 1, 2026
c17a6d2
fix: reveal overflow task claims to convenors only
b0ink Jul 1, 2026
9295f05
chore: reveal error in alert
b0ink Jul 1, 2026
8401f9d
chore(release): 11.0.0-40
b0ink Jul 1, 2026
db1294a
fix: tutorials route transition error
b0ink Jul 2, 2026
cfe04dc
fix: avoid repeated unit fetching
b0ink Jul 2, 2026
51794b8
fix: remove hash prefix
b0ink Jul 2, 2026
f16d9dc
fix: add padding when user cant view submission
b0ink Jul 2, 2026
85f228c
chore(release): 11.0.0-41
b0ink Jul 2, 2026
732aedd
feat: render ansi output to html
b0ink Jul 2, 2026
07a69c9
chore(deps-dev): bump postcss from 8.5.15 to 8.5.16
dependabot[bot] Jul 2, 2026
21f0b09
chore(deps): bump @tailwindcss/postcss from 4.3.1 to 4.3.2
dependabot[bot] Jul 2, 2026
26f51da
chore: always enforce curly braces
b0ink Jul 2, 2026
380f277
feat: collapse task comments in narrow screen sizes
b0ink Jul 3, 2026
c81e61e
fix: add tooltip to collapsed task list item
b0ink Jul 3, 2026
0af2d80
chore: reduce resizer bar width
b0ink Jul 3, 2026
27cf505
Merge pull request #1329 from b0ink/feat/task-dashboard-responsiveness
b0ink Jul 3, 2026
1f19605
chore(deps-dev): bump @typescript-eslint/parser from 8.62.0 to 8.62.1
dependabot[bot] Jul 3, 2026
095315b
fix: ensure project is valid
b0ink Jul 3, 2026
107bd4b
build: reuse same compile and strip sourcemaps before building image
b0ink Jul 3, 2026
b639b9e
chore(release): 11.0.0-42
b0ink Jul 3, 2026
be85d84
fix: regenerate ngsw cache after sourcemaps removed
b0ink Jul 3, 2026
c97e793
chore(release): 11.0.0-43
b0ink Jul 3, 2026
8a3ccb1
Merge pull request #1322 from doubtfire-lms/dependabot/npm_and_yarn/p…
b0ink Jul 6, 2026
d1d73c9
Merge pull request #1325 from doubtfire-lms/dependabot/npm_and_yarn/t…
b0ink Jul 6, 2026
9bfceb3
Merge pull request #1333 from doubtfire-lms/dependabot/npm_and_yarn/t…
b0ink Jul 6, 2026
ee4189c
chore: update package-lock
b0ink Jul 6, 2026
d6ecd44
fix: only call d2l mapping as convenor
b0ink Jul 6, 2026
f187174
chore: ensure student object has been mapped
b0ink Jul 6, 2026
51eaa16
refactor: center mat tab group and dont span full width
b0ink Jul 6, 2026
9479351
fix: reduce threshold for mobile view in inbox dashboard
b0ink Jul 6, 2026
59f389b
chore: indicate empty discussion prompts
b0ink Jul 7, 2026
322eef2
fix: persist portfolio filters in url
b0ink Jul 7, 2026
ceb8bbc
Merge pull request #1340 from b0ink/fix/portfolios-filters
b0ink Jul 7, 2026
a76cecf
feat: display submitted grade in portfolio view
b0ink Jul 7, 2026
c65279c
feat: add task list filters and sorting
b0ink Jul 7, 2026
dab681d
fix: lint
b0ink Jul 7, 2026
46100f5
feat: add label for starting tasks
b0ink Jul 7, 2026
1a60b99
refactor: improve filter dropdown ui
b0ink Jul 7, 2026
aa3c261
fix: use task weighting system as default sorting
b0ink Jul 7, 2026
a8a07a5
refactor: improve mat badge position
b0ink Jul 7, 2026
7311865
chore: rename default sorting to priority
b0ink Jul 7, 2026
eb87251
feat: show all tasks in task planner
b0ink Jul 7, 2026
3b5e693
fix: ensure accurate tutor views
b0ink Jul 8, 2026
a8ec0f6
chore: fix wording
b0ink Jul 8, 2026
e61ba7b
chore: reword feedback date to due date
b0ink Jul 8, 2026
f3dce94
chore(release): 11.0.0-44
b0ink Jul 8, 2026
acc3ac2
fix: dont reset task list sidebar when switching between project and …
b0ink Jul 9, 2026
4ebf29c
Merge pull request #1341 from b0ink/feat/task-list-filters
b0ink Jul 9, 2026
13ac09b
chore: move abbreviation sorting to the bottom
b0ink Jul 9, 2026
162520c
chore: ensure enter key doesnt dismiss dialog
b0ink Jul 9, 2026
0c8d87a
feat: add peer progress indicator (ppi) data contract, mock service, …
officialid130-13e13 Aug 5, 2026
ae671d1
feat: add loading, hidden, unavailable, disabled, stale and error sta…
David-Tenni Aug 7, 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
  •  
  •  
  •  
4 changes: 0 additions & 4 deletions .eslintignore

This file was deleted.

91 changes: 0 additions & 91 deletions .eslintrc.json

This file was deleted.

5 changes: 5 additions & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# 8 June 2026: Repository-wide formatting and lint configuration
26b4962794d16e90587fb179aab966b39459050c

# 17 June 2026: Repository-wide sorting of HTML attributes
1ffc7ad7b9dc18f22be32bf6313bfde97957dd2f
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Set the default behavior, in case people don't have core.autocrlf set.
* text=auto eol=lf
71 changes: 71 additions & 0 deletions .github/workflows/deployment-institution.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
name: create-institution-deployment
on:
push:
tags:
- 'v*'
workflow_dispatch:

jobs:
docker-web-server:
environment: deployment-secrets
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v6
with:
submodules: recursive
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v4
- name: Check custom institution deployment secrets
id: custom_config
env:
INSTITUTION_DOCKERHUB_USERNAME: ${{ secrets.INSTITUTION_DOCKERHUB_USERNAME }}
INSTITUTION_DOCKERHUB_TOKEN: ${{ secrets.INSTITUTION_DOCKERHUB_TOKEN }}
INSTITUTION: ${{ secrets.INSTITUTION }}
run: |
if [ -n "$INSTITUTION_DOCKERHUB_USERNAME" ] && [ -n "$INSTITUTION_DOCKERHUB_TOKEN" ] && [ -n "$INSTITUTION" ]; then
echo "enabled=true" >> "$GITHUB_OUTPUT"
else
echo "enabled=false" >> "$GITHUB_OUTPUT"
echo "Skipping custom institution Docker publish because one or more institution secrets are not set."
fi
- name: Login to DockerHub
uses: docker/login-action@v4
if: github.event_name != 'pull_request' && steps.custom_config.outputs.enabled == 'true'
with:
username: ${{ secrets.INSTITUTION_DOCKERHUB_USERNAME }}
password: ${{ secrets.INSTITUTION_DOCKERHUB_TOKEN }}
- name: Setup meta for custom institution web server
id: docker_meta
uses: docker/metadata-action@v6
if: steps.custom_config.outputs.enabled == 'true'
with:
images: ${{ secrets.INSTITUTION_DOCKERHUB_USERNAME }}/${{ secrets.INSTITUTION }}
tags: |
type=ref,event=tag
type=ref,event=branch
type=semver,pattern=prod-{{version}}
type=semver,pattern=prod-{{major}}.{{minor}}
type=semver,pattern=prod-{{major}}
- name: Build and push custom web server
id: docker_build
uses: docker/build-push-action@v7
if: steps.custom_config.outputs.enabled == 'true'
with:
file: deploy.Dockerfile
context: .
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.docker_meta.outputs.tags }}
labels: ${{ steps.docker_meta.outputs.labels }}
build-args: |
SENTRY_DSN=${{ secrets.SENTRY_DSN }}
SENTRY_ORG=${{ secrets.SENTRY_ORG }}
SENTRY_PROJECT=${{ secrets.SENTRY_PROJECT }}
SENTRY_RELEASE=${{ github.ref_name }}
SENTRY_DIST=${{ github.run_number }}
UPLOAD_SENTRY_SOURCEMAPS=true
secrets: |
sentry_auth_token=${{ secrets.SENTRY_AUTH_TOKEN }}
- name: Image digest
if: steps.custom_config.outputs.enabled == 'true'
run: echo ${{ steps.docker_build.outputs.digest }}
78 changes: 41 additions & 37 deletions .github/workflows/deployment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,56 +10,60 @@ on:
# deployment:
# workflow_dispatch:
jobs:
docker-deploy-development-image:
if: github.repository_owner == 'doubtfire-lms'
environment: deployment-secrets
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to DockerHub
uses: docker/login-action@v3
if: github.event_name != 'pull_request'
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Setup meta for development image
id: docker_meta
uses: docker/metadata-action@v5
with:
images: lmsdoubtfire/doubtfire-web
tags: |
type=semver,pattern={{major}}.{{minor}}.x-dev
- name: Build and push web server
id: docker_build
uses: docker/build-push-action@v5
with:
context: .
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.docker_meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
- name: Image digest
run: echo ${{ steps.docker_build.outputs.digest }}
# docker-deploy-development-image:
# if: github.repository_owner == 'doubtfire-lms'
# environment: deployment-secrets
# runs-on: ubuntu-latest
# steps:
# - name: Checkout code
# uses: actions/checkout@v4
# with:
# submodules: recursive
# - name: Set up Docker Buildx
# uses: docker/setup-buildx-action@v3
# - name: Login to DockerHub
# uses: docker/login-action@v3
# if: github.event_name != 'pull_request'
# with:
# username: ${{ secrets.DOCKERHUB_USERNAME }}
# password: ${{ secrets.DOCKERHUB_TOKEN }}
# - name: Setup meta for development image
# id: docker_meta
# uses: docker/metadata-action@v5
# with:
# images: lmsdoubtfire/doubtfire-web
# tags: |
# type=semver,pattern={{major}}.{{minor}}.x-dev
# - name: Build and push web server
# id: docker_build
# uses: docker/build-push-action@v5
# with:
# context: .
# push: ${{ github.event_name != 'pull_request' }}
# tags: ${{ steps.docker_meta.outputs.tags }}
# labels: ${{ steps.meta.outputs.labels }}
# - name: Image digest
# run: echo ${{ steps.docker_build.outputs.digest }}
docker-web-server:
if: github.repository_owner == 'doubtfire-lms'
environment: deployment-secrets
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v6
with:
submodules: recursive
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
uses: docker/setup-buildx-action@v4
- name: Login to DockerHub
uses: docker/login-action@v3
uses: docker/login-action@v4
if: github.event_name != 'pull_request'
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Setup meta for web server
id: docker_meta
uses: docker/metadata-action@v5
uses: docker/metadata-action@v6
with:
images: lmsdoubtfire/doubtfire-web
tags: |
Expand All @@ -70,7 +74,7 @@ jobs:
type=semver,pattern=prod-{{major}}
- name: Build and push web server
id: docker_build
uses: docker/build-push-action@v5
uses: docker/build-push-action@v7
with:
file: deploy.Dockerfile
context: .
Expand Down
23 changes: 23 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Lint CI

on:
push:
pull_request:

jobs:
lint:
runs-on: ubuntu-latest

strategy:
matrix:
node-version: [22]

steps:
- uses: actions/checkout@v6
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v5
with:
node-version: ${{ matrix.node-version }}
- run: npm ci
- run: npm run lint
- run: npm run typecheck
11 changes: 4 additions & 7 deletions .github/workflows/nodejs-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,13 @@ jobs:

strategy:
matrix:
node-version: [20]
node-version: [22]
steps:
- uses: actions/checkout@v4
- uses: browser-actions/setup-chrome@latest
- uses: actions/checkout@v6
- uses: browser-actions/setup-chrome@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
uses: actions/setup-node@v5
with:
node-version: ${{ matrix.node-version }}
- run: npm install -g @angular/cli
- run: npm ci
# - run: npm run lint
# - run: npm run test:ci
- run: npm run build --if-present
19 changes: 19 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: Test CI

on:
push:
pull_request:

jobs:
test:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v6
- name: Use Node.js 22
uses: actions/setup-node@v5
with:
node-version: 22
cache: npm
- run: npm ci
- run: npm run test:ci
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,12 @@ vendor/
.sass-cache*
.bundle*
tmp.scss
.vscode
.tscache
a.env
dist/
.angulardoc.json
.nx
.idea

# Sentry Config File
.sentryclirc
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "JPlag-Report-Viewer"]
path = JPlag-Report-Viewer
url = https://github.com/doubtfire-lms/jplag-report-viewer-static.git
5 changes: 1 addition & 4 deletions .husky/commit-msg
Original file line number Diff line number Diff line change
@@ -1,4 +1 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

npx --no-install commitlint --edit ""
npx --no-install commitlint --edit "$1"
2 changes: 0 additions & 2 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -1,2 +0,0 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
6 changes: 6 additions & 0 deletions .postcssrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"syntax": "postcss-scss",
"plugins": {
"@tailwindcss/postcss": {}
}
}
9 changes: 9 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,12 @@ yarn.lock
dist
build
e2e
CHANGELOG.md
JPlag-Report-Viewer/
.github/
karma/
Gruntfile.js
karma.conf.js
polyfills.ts
test.ts
main.ts
Loading