aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastien Castiel <sebastien@castiel.me>2024-01-16 13:49:37 -0500
committerSebastien Castiel <sebastien@castiel.me>2024-01-16 13:55:34 -0500
commit6b6d58e95ec018c695e9d865b8136319ad93e825 (patch)
treef3e7ad099f942fad1080a3d537fab59cf1372ae9
parentd809e10d1923fe29351a4c969eaa3468baf15397 (diff)
Add GitHub actions
-rw-r--r--.github/workflows/ci.yml36
-rw-r--r--.prettierignore1
-rw-r--r--package-lock.json2
-rw-r--r--package.json4
-rw-r--r--src/app/groups/[groupId]/expenses/page.tsx7
-rw-r--r--src/components/donation-button.tsx5
6 files changed, 50 insertions, 5 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
new file mode 100644
index 0000000..6b81bbb
--- /dev/null
+++ b/.github/workflows/ci.yml
@@ -0,0 +1,36 @@
+name: CI
+
+on:
+ push:
+ branches: ['main']
+ pull_request:
+ branches: ['main']
+
+jobs:
+ checks:
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Check out repository
+ uses: actions/checkout@v3
+
+ - name: Set up Node.js
+ uses: actions/setup-node@v3
+ with:
+ node-version: 18
+ cache: 'npm'
+
+ - name: Install dependencies
+ run: npm ci --ignore-scripts
+
+ - name: Generate Prisma client
+ run: npx prisma generate
+
+ - name: Check TypeScript types
+ run: npm run check-types
+
+ - name: Check ESLint
+ run: npm run lint
+
+ - name: Check Prettier formatting
+ run: npm run check-formatting
diff --git a/.prettierignore b/.prettierignore
new file mode 100644
index 0000000..505542f
--- /dev/null
+++ b/.prettierignore
@@ -0,0 +1 @@
+src/components/ui \ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
index 94af5ae..bf150ff 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -10,7 +10,7 @@
"hasInstallScript": true,
"dependencies": {
"@hookform/resolvers": "^3.3.2",
- "@prisma/client": "5.6.0",
+ "@prisma/client": "^5.6.0",
"@radix-ui/react-checkbox": "^1.0.4",
"@radix-ui/react-collapsible": "^1.0.3",
"@radix-ui/react-dialog": "^1.0.5",
diff --git a/package.json b/package.json
index e98e6fc..26c8c79 100644
--- a/package.json
+++ b/package.json
@@ -7,13 +7,15 @@
"build": "next build",
"start": "next start",
"lint": "next lint",
+ "check-types": "tsc --noEmit",
+ "check-formatting": "prettier -c src",
"postinstall": "prisma migrate deploy && prisma generate",
"build-image": "./scripts/build-image.sh",
"start-container": "docker compose --env-file container.env up"
},
"dependencies": {
"@hookform/resolvers": "^3.3.2",
- "@prisma/client": "5.6.0",
+ "@prisma/client": "^5.6.0",
"@radix-ui/react-checkbox": "^1.0.4",
"@radix-ui/react-collapsible": "^1.0.3",
"@radix-ui/react-dialog": "^1.0.5",
diff --git a/src/app/groups/[groupId]/expenses/page.tsx b/src/app/groups/[groupId]/expenses/page.tsx
index bd4f600..3ef84e3 100644
--- a/src/app/groups/[groupId]/expenses/page.tsx
+++ b/src/app/groups/[groupId]/expenses/page.tsx
@@ -10,7 +10,7 @@ import {
} from '@/components/ui/card'
import { Skeleton } from '@/components/ui/skeleton'
import { getGroup, getGroupExpenses } from '@/lib/api'
-import { Download, DownloadCloud, Plus } from 'lucide-react'
+import { Download, Plus } from 'lucide-react'
import { Metadata } from 'next'
import Link from 'next/link'
import { notFound } from 'next/navigation'
@@ -40,7 +40,10 @@ export default async function GroupExpensesPage({
</CardHeader>
<CardHeader className="p-4 sm:p-6 flex flex-row space-y-0 gap-2">
<Button variant="secondary" size="icon" asChild>
- <Link href={`/groups/${groupId}/expenses/export/json`} target="_blank">
+ <Link
+ href={`/groups/${groupId}/expenses/export/json`}
+ target="_blank"
+ >
<Download className="w-4 h-4" />
</Link>
</Button>
diff --git a/src/components/donation-button.tsx b/src/components/donation-button.tsx
index 5518ce8..b2c360c 100644
--- a/src/components/donation-button.tsx
+++ b/src/components/donation-button.tsx
@@ -112,7 +112,10 @@ function DonationForm({ donationUrl }: Props) {
</p>
</div>
<div className="mt-4 text-center">
- <Button asChild className="bg-pink-700 hover:bg-pink-600 dark:bg-pink-500 dark:hover:bg-pink-600">
+ <Button
+ asChild
+ className="bg-pink-700 hover:bg-pink-600 dark:bg-pink-500 dark:hover:bg-pink-600"
+ >
<a href={donationUrl} target="_blank">
<Heart className="w-4 h-4 mr-2" /> Support us
</a>