Skip to content

Commit d331aff

Browse files
committed
Merge branch 'crux-bphc:master' into master
2 parents 279f47d + 0d65d46 commit d331aff

65 files changed

Lines changed: 21323 additions & 28245 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.env.example

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,4 +22,3 @@ CHRONO_SECRET=""
2222
LOG_MODE="development" # if not set, defaults to NODE_ENV
2323
LOG_LEVEL="info"
2424
DB_LONG_RUNNING_QUERY_MS=2000
25-
SEARCH_SERVICE_URL="http://chrono:4713"

.env.testing

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,3 @@ GOOGLE_CLIENT_SECRET="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"
1313
JWT_PRIVATE_KEY="LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb3dJQkFBS0NBUUVBc3luWEt0RUtvdzFsaXZXd1dTVkdzVlQ2Nnl3RTZCZXpZRzM4TTJMTXNmRDAwSjhCCmNNalVreTdzRmxSN2pzV2NjRjk0Y0tIbXFPcEdlYy9LcDdFSUhJWFhrZFB3TncyRHltOE1rc1Z4WjlDUHpIU1kKTmptRzZ2akVlVUgxcEJGc1NaLzVoTGtldzNXd2NQVHNwWVgraVU5Qm82L2M0QVFEMG9qamUyZk1iRTNDK3hLTwpPckFYWkE0V1ZmTEZiL0pQbTgvQlJ6ODk0Z1pwSFg4Sk9oVmRFNjFkdzhsRGFSUXo4RzhoRjJOMlA1UnMwbGx3CnJxSkxadCtTZW5DSEt6eWNOYmJFMGNhMGFRZnpHcW9wUlNGS28vc21id3Jydi94a0ZXcEkxL2ZhUDhGMWEyY1MKSmQ5RVZ4M245NzN6ZVdFekZnOUFWTEVQMGZZdlNTQXJzWUNMbHdJREFRQUJBb0lCQUd3NWhnUVRLajI4UmU1ZQo0eHUyYkxHS0I5Z3ZTdmQzK1o3eVVUb3BJRVVNckpXb3R4SU4vbnE2Q1ZxanhjOUVoMjlKL0ZMdE9Zd25tRkxVCnRqSDl1a3lnZk10V0h2RGlkUTIvYnZUcDE4dENMTnJ3UTFIZUJpWENCOHpIano2QVY4MVJtVVFYSHdJckFWMzYKVlVqWFhCNU5oZlQrc29tUFkwKzE2TlFPcTJsdnZENUtoZ1VUYjdPM2V6cXQ5b0VZM3ZqTURhaU5mZ0poWndRbQpUcjkvV2k2OWxyNGtvWE80KzhrT3dDUFRlOWJYVFYxTTREcGpoM29CNTV3ZUJUNXUxK3IxZnJPdml6cFJCUTB2CjhvNHlEYjVGdTJqTDQyLzR2Z0t2VEczd0pPNVE3MVJ2bGNoSktRTjhuZFJJaU5rMUNadXJ5QjhRdWRpelpsKzkKcFFlbUFZRUNnWUVBNW1wM2N1NUdBK3cxY2s2amlhRWora1F0UmJ3V2VTall0S2hmTnhtNjRGZ0VNMCtlM2pXWQpXRnI3VVRYVE9CeGZ6UkZqeVBTUVBqcUJYc2hXajZzcURGMmVWa3h1V3YwdlpKc082YjBYV3BNVmtiQUx0M0UyCk5DNldhQjZYS3lubGlKcWU5aUQ4cHlRSSt2dzlJY2ZWMEZyOUdxSG81a05hRFoyOHhBKytqNmNDZ1lFQXh3NkkKRjhIajV1RkIyS2NheE5RUG1BcUI0QUUrdG1UbzF1Yk1kZUFDbFE5UWRkU01Sc2VvSk8yQzI4bnpLSGpvRlg1cQpxajJhVkYrbTlDZWFJRW5vVzhvS2MvODJreVNpVVo3WXUveWRaeE5IcDloVEhRNEE1QjNqaUdIZUsxVHZhdTV1CmZtcHhrY01zVE9wSlorb2FKbTU0cnVBZXlIaWRpTWRTN0VRN0lwRUNnWUFrUUdYd3NDcFYzYWovQmY1VzNnSnkKRXAzbzFkSFhXQ1RZTDVGamN1bmkrQllaR0pMUE5URjEzVUtqSVV2TkRUSEphczMvUlBNWXgwMnBZdTJ6aHVPRAp0SXIvMnVDVjhqV3RwM091TkxEaThEYzVoN0FnT1hDa3Z4dXMzL3M2c0VuTHQwQUJTMmxVeHFlZkRXWjAxU0wvCnVBRVFXcDd3ODNITXFKK1ZYVURIQ3dLQmdRQ3RZMjBNTktuTnJKenNtUEpxVE1XZ2pGYUF4dFRYajZKNXZ1U08KTUtoUEt0M05KVzFqSWZyRzM5UkNtdkNoYWwvT2lTVmtVUENqV2daVldrR1lxb2dwbkIzcTJIMnpRZy9aeE9ISgpMY3Yxd3dlQm5wOFhDZUdnMHFBbFpncGQrRWZyL3ZCa1VWZkh2aGhTanltTnlJOHF0c09Nb0ZCd0V4QTEybG5TCno4UXE0UUtCZ0UvQTdtM2ZLVlBTa25ma05iZSt2aENMbHEyMUFCTkE1bmZtbDFLUlNmZmhXQUJWNDZ5WnFHanMKa1RUUk00bWFpNmZ3YUkydGRDWmljcGd4OG5uSHFkM2RndVRMOURueVJSbWR0ZEoyWDAvOHpvcUdLUXlxU2g2VwpwUElhSmZ3UWk2UUU4RXJTRVNkZFl6U0J0Ykh4L0xWeE1QMWdENENabDhZNXkwMEdBNW41Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0t"
1414
JWT_PUBLIC_KEY="LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUFzeW5YS3RFS293MWxpdld3V1NWRwpzVlQ2Nnl3RTZCZXpZRzM4TTJMTXNmRDAwSjhCY01qVWt5N3NGbFI3anNXY2NGOTRjS0htcU9wR2VjL0twN0VJCkhJWFhrZFB3TncyRHltOE1rc1Z4WjlDUHpIU1lOam1HNnZqRWVVSDFwQkZzU1ovNWhMa2V3M1d3Y1BUc3BZWCsKaVU5Qm82L2M0QVFEMG9qamUyZk1iRTNDK3hLT09yQVhaQTRXVmZMRmIvSlBtOC9CUno4OTRnWnBIWDhKT2hWZApFNjFkdzhsRGFSUXo4RzhoRjJOMlA1UnMwbGx3cnFKTFp0K1NlbkNIS3p5Y05iYkUwY2EwYVFmekdxb3BSU0ZLCm8vc21id3Jydi94a0ZXcEkxL2ZhUDhGMWEyY1NKZDlFVngzbjk3M3plV0V6Rmc5QVZMRVAwZll2U1NBcnNZQ0wKbHdJREFRQUIKLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0t"
1515
CHRONO_SECRET="99fcf0561404319f865d52ec3d3d6239ccc1fbcd5f1f6e5c72cbfd3f5b6feff119ba5dc9a027f06e1ab5fcc39de6c71da6fc46c46b0206c06097394491f26b15"
16-
SEARCH_SERVICE_URL="http://chrono:4713"

.github/workflows/build.yml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,13 @@ name: Build code
33
on:
44
pull_request:
55
types: [ labeled ]
6+
push:
7+
branches: [ master ]
68
merge_group:
79

810
jobs:
911
build:
10-
if: ${{ github.event.label.name == 'ready' }}
12+
if: ${{ github.event.label.name == 'ready' || github.event_name == 'push' || github.event_name == 'merge_group' }}
1113
runs-on: self-hosted
1214
steps:
1315
- name: Checkout
@@ -16,13 +18,13 @@ jobs:
1618
- name: Install Node.js
1719
uses: actions/setup-node@v3
1820
with:
19-
node-version: 22.17.0
21+
node-version: 24.14.1
2022

2123
- uses: pnpm/action-setup@v2
2224
name: Install pnpm
2325
id: pnpm-install
2426
with:
25-
version: 10.13.1
27+
version: 11.8.0
2628
run_install: false
2729

2830
- name: Get pnpm store directory

.github/workflows/linting.yml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,13 @@ name: Lint code and check formatting with BiomeJS
33
on:
44
pull_request:
55
types: [ labeled ]
6+
push:
7+
branches: [ master ]
68
merge_group:
79

810
jobs:
911
linting:
10-
if: ${{ github.event.label.name == 'ready' }}
12+
if: ${{ github.event.label.name == 'ready' || github.event_name == 'push' || github.event_name == 'merge_group' }}
1113
runs-on: self-hosted
1214
steps:
1315
- name: Checkout
@@ -16,13 +18,13 @@ jobs:
1618
- name: Install Node.js
1719
uses: actions/setup-node@v3
1820
with:
19-
node-version: 22.17.0
21+
node-version: 24.14.1
2022

2123
- uses: pnpm/action-setup@v2
2224
name: Install pnpm
2325
id: pnpm-install
2426
with:
25-
version: 10.13.1
27+
version: 11.8.0
2628
run_install: false
2729

2830
- name: Get pnpm store directory

.github/workflows/pipeline.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
run: |
1212
cd /home/ubuntu/clones
1313
cd chronofactorem-rewrite-draft
14-
git pull
14+
GIT_SSH_COMMAND="ssh -i /home/ubuntu/.ssh/gh-actions -o IdentitiesOnly=yes" git pull
1515
docker compose --profile ingestion down
1616
docker compose --profile prod down
1717
docker compose --profile prod up --build -d

.gitignore

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
.idea/
2-
.vscode/
2+
.vscode/*
3+
!.vscode/extensions.json
34
node_modules/
45
build/
56
tmp/
@@ -8,4 +9,5 @@ temp/
89
postgres
910
logs
1011
nginx.prod.conf
11-
backend/data
12+
backend/data
13+
mise.toml

.vscode/extensions.json

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"recommendations": [
3+
"fronterior.biome-monorepo",
4+
"bradlc.vscode-tailwindcss",
5+
"typescriptteam.native-preview"
6+
]
7+
}

README.md

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,14 @@
44

55
## Steps for setup:
66

7-
1. Install [nvm](https://github.com/nvm-sh/nvm) and install Node v22.17.0 LTS using `nvm install v22.17.0`. If you're using a different Node version manager, do the equivalent.
8-
2. Activate Node v22.17.0 using `nvm use v22.17.0`.
7+
1. Install [nvm](https://github.com/nvm-sh/nvm) and install Node v24.14.0 LTS using `nvm install v24.14.1`. If you're using a different Node version manager, do the equivalent.
8+
2. Activate Node v24.14.1 using `nvm use v24.14.1`.
99
3. Install pnpm, using `npm i -g pnpm`.
1010
4. Install the packages in this repo by running `pnpm i -r` in the root of this repository.
1111

12+
> [!tip]
13+
> Typescript 7 is now out, and we find the Typescript 7 dev experience to be quite a bit faster than the default in VSCode. We recommend installing the plugins in `.vscode` and setting them up to enable TS7 support.
14+
1215
Check [.env.example](./.env.example) for an example env file. It can be arbitrary, though we recommend using:
1316

1417
```
@@ -36,7 +39,6 @@ CHRONO_SECRET="99fcf0561404319f865d52ec3d3d6239ccc1fbcd5f1f6e5c72cbfd3f5b6feff11
3639
LOG_MODE="development"
3740
LOG_LEVEL="info"
3841
DB_LONG_RUNNING_QUERY_MS=2000
39-
SEARCH_SERVICE_URL="http://chrono:4713"
4042
```
4143

4244
Obviously, we'll use different creds in production.
@@ -184,11 +186,3 @@ If something goes wrong, and you need to overwrite the course data for a semeste
184186
**NOTE:** This same `db` container is used in `dev` and `prod`
185187

186188
**NOTE:** This same `ingestion` container is the container that runs the ingestion script.
187-
188-
## Search service
189-
190-
For course & timetable search, we'll be using https://github.com/crux-bphc/search-service/. Both the Docker Compose configurations are set to run on the same network (named `chrono_net`).
191-
192-
Make sure to set the `CHRONO_PORT` environment variable in the search service to an unused port (such as 4713). Then, set the `SEARCH_SERVICE_URL` environment variable here to `http://chrono:XXXX`, replacing `XXXX` with the previously set port.
193-
194-
Before adding any timetables to the search service, you'll need to add the relevant courses to the search service indexes. A sample way to do this is using https://github.com/crux-bphc/search-service/blob/master/chrono/utils.py.

backend/biome.json

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,9 @@
11
{
22
"root": false,
3-
"$schema": "https://biomejs.dev/schemas/2.1.1/schema.json",
4-
"extends": [
5-
"../biome.json"
6-
],
3+
"$schema": "https://biomejs.dev/schemas/2.5.0/schema.json",
4+
"extends": ["../biome.json"],
75
"files": {
8-
"includes": [
9-
"src/**"
10-
]
6+
"includes": ["src/**"]
117
},
128
"formatter": {
139
"indentStyle": "space"
@@ -31,4 +27,4 @@
3127
}
3228
}
3329
}
34-
}
30+
}

backend/docker/dev/Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
FROM node:22.17.0-bookworm-slim
1+
FROM node:24.14.1-bookworm-slim
22
ENV NODE_ENV development
33

4-
RUN corepack enable pnpm && corepack install -g pnpm@latest-10
4+
RUN corepack enable pnpm && corepack install -g pnpm@latest-11
55

66
WORKDIR /usr/local/app
77
COPY --chown=node:node ./package.json ./

0 commit comments

Comments
 (0)