From 56c6c5746e8bcda37fe42ca7b70abdc7c247ec26 Mon Sep 17 00:00:00 2001 From: Aniketh T S Date: Sun, 7 Jun 2026 00:21:17 +0530 Subject: [PATCH 1/2] implemented ci cd --- .github/workflows/ci.yml | 67 ++++++++++++++++++++++++++++++++++++++++ server/ruff.toml | 6 ++++ 2 files changed, 73 insertions(+) create mode 100644 .github/workflows/ci.yml create mode 100644 server/ruff.toml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..fc3a5cf --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,67 @@ +name: CI + +on: + push: + branches: [main, master] + pull_request: + branches: [main, master] + +jobs: + client: + name: Client — typecheck & build + runs-on: ubuntu-latest + + defaults: + run: + working-directory: client + + steps: + - uses: actions/checkout@v4 + + - uses: pnpm/action-setup@v4 + with: + version: 10 + + - uses: actions/setup-node@v4 + with: + node-version: 22 + cache: pnpm + cache-dependency-path: client/pnpm-lock.yaml + + - name: Install dependencies + run: pnpm install --frozen-lockfile + + - name: Svelte typecheck + run: pnpm check + + - name: Build + run: pnpm build + env: + PUBLIC_API_URL: http://localhost:8000 + + server: + name: Server — lint & typecheck + runs-on: ubuntu-latest + + defaults: + run: + working-directory: server + + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install uv + uses: astral-sh/setup-uv@v5 + + - name: Install dependencies + run: uv pip install --system -r requirements.txt + + - name: Install ruff + run: uv pip install --system ruff + + - name: Lint (ruff) + run: ruff check . diff --git a/server/ruff.toml b/server/ruff.toml new file mode 100644 index 0000000..a99b6ce --- /dev/null +++ b/server/ruff.toml @@ -0,0 +1,6 @@ +target-version = "py311" +line-length = 100 + +[lint] +select = ["E", "F", "W", "I"] +ignore = ["E501"] From dcd07e166e2716e8a92655ed35b25bc5ef585da1 Mon Sep 17 00:00:00 2001 From: Aniketh T S Date: Sun, 7 Jun 2026 00:25:17 +0530 Subject: [PATCH 2/2] added types/node --- .github/workflows/ci.yml | 5 ++-- client/package.json | 1 + client/pnpm-lock.yaml | 52 ++++++++++++++++++++++++++-------------- 3 files changed, 38 insertions(+), 20 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fc3a5cf..364bc24 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,6 +15,9 @@ jobs: run: working-directory: client + env: + PUBLIC_API_URL: http://localhost:8000 + steps: - uses: actions/checkout@v4 @@ -36,8 +39,6 @@ jobs: - name: Build run: pnpm build - env: - PUBLIC_API_URL: http://localhost:8000 server: name: Server — lint & typecheck diff --git a/client/package.json b/client/package.json index 5baf245..3e19942 100644 --- a/client/package.json +++ b/client/package.json @@ -12,6 +12,7 @@ "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch" }, "devDependencies": { + "@types/node": "^22.0.0", "@sveltejs/adapter-auto": "^7.0.1", "@sveltejs/kit": "^2.57.0", "@sveltejs/vite-plugin-svelte": "^7.0.0", diff --git a/client/pnpm-lock.yaml b/client/pnpm-lock.yaml index 2e1a11a..7a0776a 100644 --- a/client/pnpm-lock.yaml +++ b/client/pnpm-lock.yaml @@ -14,19 +14,22 @@ importers: devDependencies: '@sveltejs/adapter-auto': specifier: ^7.0.1 - version: 7.0.1(@sveltejs/kit@2.63.0(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.56.2)(vite@8.0.16(jiti@2.7.0)))(svelte@5.56.2)(typescript@6.0.3)(vite@8.0.16(jiti@2.7.0))) + version: 7.0.1(@sveltejs/kit@2.63.0(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.56.2)(vite@8.0.16(@types/node@22.19.19)(jiti@2.7.0)))(svelte@5.56.2)(typescript@6.0.3)(vite@8.0.16(@types/node@22.19.19)(jiti@2.7.0))) '@sveltejs/kit': specifier: ^2.57.0 - version: 2.63.0(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.56.2)(vite@8.0.16(jiti@2.7.0)))(svelte@5.56.2)(typescript@6.0.3)(vite@8.0.16(jiti@2.7.0)) + version: 2.63.0(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.56.2)(vite@8.0.16(@types/node@22.19.19)(jiti@2.7.0)))(svelte@5.56.2)(typescript@6.0.3)(vite@8.0.16(@types/node@22.19.19)(jiti@2.7.0)) '@sveltejs/vite-plugin-svelte': specifier: ^7.0.0 - version: 7.1.2(svelte@5.56.2)(vite@8.0.16(jiti@2.7.0)) + version: 7.1.2(svelte@5.56.2)(vite@8.0.16(@types/node@22.19.19)(jiti@2.7.0)) '@tailwindcss/typography': specifier: ^0.5.19 version: 0.5.19(tailwindcss@4.3.0) '@tailwindcss/vite': specifier: ^4.3.0 - version: 4.3.0(vite@8.0.16(jiti@2.7.0)) + version: 4.3.0(vite@8.0.16(@types/node@22.19.19)(jiti@2.7.0)) + '@types/node': + specifier: ^22.0.0 + version: 22.19.19 svelte: specifier: ^5.55.2 version: 5.56.2 @@ -41,7 +44,7 @@ importers: version: 6.0.3 vite: specifier: ^8.0.7 - version: 8.0.16(jiti@2.7.0) + version: 8.0.16(@types/node@22.19.19)(jiti@2.7.0) packages: @@ -333,6 +336,9 @@ packages: '@types/estree@1.0.9': resolution: {integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==} + '@types/node@22.19.19': + resolution: {integrity: sha512-dyh/xO2Fh5bYrfWaaqGrRQQGkNdmYw6AmaAUvYeUMNTWQtvb796ikLdmTchRmOlOiIJ1TDXfWgVx1QkUlQ6Hew==} + '@types/trusted-types@2.0.7': resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} @@ -591,6 +597,9 @@ packages: engines: {node: '>=14.17'} hasBin: true + undici-types@6.21.0: + resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} + util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} @@ -757,15 +766,15 @@ snapshots: dependencies: acorn: 8.16.0 - '@sveltejs/adapter-auto@7.0.1(@sveltejs/kit@2.63.0(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.56.2)(vite@8.0.16(jiti@2.7.0)))(svelte@5.56.2)(typescript@6.0.3)(vite@8.0.16(jiti@2.7.0)))': + '@sveltejs/adapter-auto@7.0.1(@sveltejs/kit@2.63.0(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.56.2)(vite@8.0.16(@types/node@22.19.19)(jiti@2.7.0)))(svelte@5.56.2)(typescript@6.0.3)(vite@8.0.16(@types/node@22.19.19)(jiti@2.7.0)))': dependencies: - '@sveltejs/kit': 2.63.0(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.56.2)(vite@8.0.16(jiti@2.7.0)))(svelte@5.56.2)(typescript@6.0.3)(vite@8.0.16(jiti@2.7.0)) + '@sveltejs/kit': 2.63.0(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.56.2)(vite@8.0.16(@types/node@22.19.19)(jiti@2.7.0)))(svelte@5.56.2)(typescript@6.0.3)(vite@8.0.16(@types/node@22.19.19)(jiti@2.7.0)) - '@sveltejs/kit@2.63.0(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.56.2)(vite@8.0.16(jiti@2.7.0)))(svelte@5.56.2)(typescript@6.0.3)(vite@8.0.16(jiti@2.7.0))': + '@sveltejs/kit@2.63.0(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.56.2)(vite@8.0.16(@types/node@22.19.19)(jiti@2.7.0)))(svelte@5.56.2)(typescript@6.0.3)(vite@8.0.16(@types/node@22.19.19)(jiti@2.7.0))': dependencies: '@standard-schema/spec': 1.1.0 '@sveltejs/acorn-typescript': 1.0.10(acorn@8.16.0) - '@sveltejs/vite-plugin-svelte': 7.1.2(svelte@5.56.2)(vite@8.0.16(jiti@2.7.0)) + '@sveltejs/vite-plugin-svelte': 7.1.2(svelte@5.56.2)(vite@8.0.16(@types/node@22.19.19)(jiti@2.7.0)) '@types/cookie': 0.6.0 acorn: 8.16.0 cookie: 0.6.0 @@ -777,20 +786,20 @@ snapshots: set-cookie-parser: 3.1.0 sirv: 3.0.2 svelte: 5.56.2 - vite: 8.0.16(jiti@2.7.0) + vite: 8.0.16(@types/node@22.19.19)(jiti@2.7.0) optionalDependencies: typescript: 6.0.3 '@sveltejs/load-config@0.1.1': {} - '@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.56.2)(vite@8.0.16(jiti@2.7.0))': + '@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.56.2)(vite@8.0.16(@types/node@22.19.19)(jiti@2.7.0))': dependencies: deepmerge: 4.3.1 magic-string: 0.30.21 obug: 2.1.2 svelte: 5.56.2 - vite: 8.0.16(jiti@2.7.0) - vitefu: 1.1.3(vite@8.0.16(jiti@2.7.0)) + vite: 8.0.16(@types/node@22.19.19)(jiti@2.7.0) + vitefu: 1.1.3(vite@8.0.16(@types/node@22.19.19)(jiti@2.7.0)) '@tailwindcss/node@4.3.0': dependencies: @@ -858,12 +867,12 @@ snapshots: postcss-selector-parser: 6.0.10 tailwindcss: 4.3.0 - '@tailwindcss/vite@4.3.0(vite@8.0.16(jiti@2.7.0))': + '@tailwindcss/vite@4.3.0(vite@8.0.16(@types/node@22.19.19)(jiti@2.7.0))': dependencies: '@tailwindcss/node': 4.3.0 '@tailwindcss/oxide': 4.3.0 tailwindcss: 4.3.0 - vite: 8.0.16(jiti@2.7.0) + vite: 8.0.16(@types/node@22.19.19)(jiti@2.7.0) '@tybys/wasm-util@0.10.2': dependencies: @@ -874,6 +883,10 @@ snapshots: '@types/estree@1.0.9': {} + '@types/node@22.19.19': + dependencies: + undici-types: 6.21.0 + '@types/trusted-types@2.0.7': {} acorn@8.16.0: {} @@ -1091,9 +1104,11 @@ snapshots: typescript@6.0.3: {} + undici-types@6.21.0: {} + util-deprecate@1.0.2: {} - vite@8.0.16(jiti@2.7.0): + vite@8.0.16(@types/node@22.19.19)(jiti@2.7.0): dependencies: lightningcss: 1.32.0 picomatch: 4.0.4 @@ -1101,11 +1116,12 @@ snapshots: rolldown: 1.0.3 tinyglobby: 0.2.17 optionalDependencies: + '@types/node': 22.19.19 fsevents: 2.3.3 jiti: 2.7.0 - vitefu@1.1.3(vite@8.0.16(jiti@2.7.0)): + vitefu@1.1.3(vite@8.0.16(@types/node@22.19.19)(jiti@2.7.0)): optionalDependencies: - vite: 8.0.16(jiti@2.7.0) + vite: 8.0.16(@types/node@22.19.19)(jiti@2.7.0) zimmerframe@1.1.4: {}