From e213dba0e5444d7c447db9a68984822b24d6d810 Mon Sep 17 00:00:00 2001 From: Rafi Arrafif Date: Sat, 31 Jan 2026 15:21:41 +0700 Subject: [PATCH 1/7] =?UTF-8?q?=F0=9F=91=B7=20ci:=20setup=20github=20runne?= =?UTF-8?q?r?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/ci.yaml | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index e69de29..8ab7bef 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -0,0 +1,29 @@ +name: Intergration Tests +on: + pull_request: + branches: + - main +jobs: + integration-tests: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Setup runtime environment (Bun) + uses: oven-sh/setup-bun@v1 + with: + bun-version: latest + + - name: Install depedencies + run: bun install --frozen-lockfile + + - name: Index route sync + run: bun run route:sync + + - name: Linting test + run: bun run lint + + - name: Build test + run: bun run build From dedafaa4dea091b3c44b7862601544058eab048a Mon Sep 17 00:00:00 2001 From: Rafi Arrafif Date: Sat, 31 Jan 2026 15:24:34 +0700 Subject: [PATCH 2/7] =?UTF-8?q?=F0=9F=A9=B9=20fix:=20minor=20linting=20iss?= =?UTF-8?q?ue?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/modules/media/index.ts | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 src/modules/media/index.ts diff --git a/src/modules/media/index.ts b/src/modules/media/index.ts new file mode 100644 index 0000000..00a7dee --- /dev/null +++ b/src/modules/media/index.ts @@ -0,0 +1,6 @@ +import Elysia from "elysia"; + +export const mediaModule = new Elysia({ prefix: "/media" }).get( + "/", + () => "Media Module", +); From d233ec757c8d7d6b4ea7a2b513302ca9613e3a9e Mon Sep 17 00:00:00 2001 From: Rafi Arrafif Date: Sat, 31 Jan 2026 15:26:38 +0700 Subject: [PATCH 3/7] =?UTF-8?q?=F0=9F=92=9A=20ci:=20fix=20CI=20error?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/ci.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 8ab7bef..6e32905 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -25,5 +25,8 @@ jobs: - name: Linting test run: bun run lint + - name: Generate prisma schema + run: bunx prisma generate + - name: Build test run: bun run build From 09c74b28abfeb509048e2032ed62ef8e49d31901 Mon Sep 17 00:00:00 2001 From: Rafi Arrafif Date: Sat, 31 Jan 2026 18:10:59 +0700 Subject: [PATCH 4/7] =?UTF-8?q?=F0=9F=92=9A=20ci:=20fix=20auto=20script=20?= =?UTF-8?q?causing=20CI=20failure?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/ci.yaml | 3 +++ package.json | 1 + scripts/create-dummy-system-account.ts | 10 ++++++++++ 3 files changed, 14 insertions(+) create mode 100644 scripts/create-dummy-system-account.ts diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 6e32905..3d133af 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -25,6 +25,9 @@ jobs: - name: Linting test run: bun run lint + - name: Create dummy system account + run: bun run dummy:systemaccount + - name: Generate prisma schema run: bunx prisma generate diff --git a/package.json b/package.json index 13ffa66..5f81bad 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,7 @@ "prisma:dbml": "bunx prisma db pull && bunx prisma dbml --output ./prisma/dbml/schema.dbml", "prisma:reset": "bunx prisma db push --force-reset", "prisma:seed": "bun run ./prisma/seed/index.ts", + "dummy:systemaccount": "bun run ./scripts/create-dummy-system-account.ts", "route:sync": "bun run ./scripts/sync-routes.ts", "env:publish": "bun run ./scripts/create-example-env.ts" }, diff --git a/scripts/create-dummy-system-account.ts b/scripts/create-dummy-system-account.ts new file mode 100644 index 0000000..daa870c --- /dev/null +++ b/scripts/create-dummy-system-account.ts @@ -0,0 +1,10 @@ +import { generateUUIDv7 } from "../src/helpers/databases/uuidv7"; +import { createFile } from "../src/helpers/files/createFile"; + +export const createDummySystemAccount = async () => { + await createFile(`export const SystemAccountId = "${generateUUIDv7()}";`, { + fileName: "system.ts", + targetDir: "src/config/account", + overwriteIfExists: true, + }); +}; From 83792848edf429c1465ba4332b1f2384dd3bb9fc Mon Sep 17 00:00:00 2001 From: Rafi Arrafif Date: Sat, 31 Jan 2026 18:41:09 +0700 Subject: [PATCH 5/7] =?UTF-8?q?=F0=9F=92=9A=20ci:=20fix=20auto=20script=20?= =?UTF-8?q?causing=20CI=20failure?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/create-dummy-system-account.ts | 18 ++++++++++++------ src/helpers/files/createFile/index.ts | 2 ++ 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/scripts/create-dummy-system-account.ts b/scripts/create-dummy-system-account.ts index daa870c..5a088c6 100644 --- a/scripts/create-dummy-system-account.ts +++ b/scripts/create-dummy-system-account.ts @@ -1,10 +1,16 @@ import { generateUUIDv7 } from "../src/helpers/databases/uuidv7"; import { createFile } from "../src/helpers/files/createFile"; -export const createDummySystemAccount = async () => { - await createFile(`export const SystemAccountId = "${generateUUIDv7()}";`, { - fileName: "system.ts", - targetDir: "src/config/account", - overwriteIfExists: true, - }); +const createDummySystemAccount = async () => { + const file = await createFile( + `export const SystemAccountId = "${generateUUIDv7()}";`, + { + fileName: "system.ts", + targetDir: "src/config/account", + overwriteIfExists: true, + }, + ); + console.log(`Dummy system account created with id in file: ${file}`); }; + +createDummySystemAccount(); diff --git a/src/helpers/files/createFile/index.ts b/src/helpers/files/createFile/index.ts index 11f0416..c483f63 100644 --- a/src/helpers/files/createFile/index.ts +++ b/src/helpers/files/createFile/index.ts @@ -25,4 +25,6 @@ export const createFile = async (content: string, config: CreateFileConfig) => { // Write content to the file await fs.promises.writeFile(targetFile, content, "utf8"); + + return targetFile; }; From 48b0f7b8a37815508d4f7797d51a100fcb1c094b Mon Sep 17 00:00:00 2001 From: Rafi Arrafif Date: Sun, 1 Feb 2026 11:12:39 +0700 Subject: [PATCH 6/7] =?UTF-8?q?=F0=9F=92=9A=20ci:=20adjust=20workflow=20fo?= =?UTF-8?q?r=20gitea?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/ci.yml | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 .gitea/workflows/ci.yml diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml new file mode 100644 index 0000000..b62529a --- /dev/null +++ b/.gitea/workflows/ci.yml @@ -0,0 +1,37 @@ +name: Integration Tests + +on: + pull_request: + branches: + - main + +jobs: + integration-tests: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Setup runtime environment (Bun) + uses: oven-sh/setup-bun@v1 + with: + bun-version: latest + + - name: Install dependencies + run: bun install --frozen-lockfile + + - name: Index route sync + run: bun run route:sync + + - name: Linting test + run: bun run lint + + - name: Create dummy system account + run: bun run dummy:systemaccount + + - name: Generate prisma schema + run: bunx prisma generate + + - name: Build test + run: bun run build From f9427c577cccce87ce38694b2cdf0436087959d6 Mon Sep 17 00:00:00 2001 From: Rafi Arrafif Date: Sun, 1 Feb 2026 11:48:15 +0700 Subject: [PATCH 7/7] =?UTF-8?q?=F0=9F=92=9A=20ci:=20add=20node=20setup=20f?= =?UTF-8?q?or=20gitea=20ci?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/ci.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index b62529a..8119bc2 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -13,6 +13,11 @@ jobs: - name: Checkout repository uses: actions/checkout@v4 + - name: Setup Node (required by Prisma) + uses: actions/setup-node@v4 + with: + node-version: "24.13.0" + - name: Setup runtime environment (Bun) uses: oven-sh/setup-bun@v1 with: