Compare commits

..

2 Commits

Author SHA1 Message Date
Gitea Actions
ae0bb9e04d ci: Bump version to 0.15.2 [skip ci] 2026-02-18 10:46:29 +05:00
b83c37b977 deploy fixes
All checks were successful
Deploy to Test Environment / deploy-to-test (push) Successful in 25m45s
2026-02-17 21:44:34 -08:00
6 changed files with 40 additions and 7 deletions

View File

@@ -59,6 +59,8 @@ GITHUB_CLIENT_SECRET=
# AI/ML Services
# ===================
# REQUIRED: Google Gemini API key for flyer OCR processing
# NOTE: Test/staging environment deliberately OMITS this to preserve free API quota.
# Production has a working key. Deploy warnings in test are expected and safe to ignore.
GEMINI_API_KEY=your-gemini-api-key
# ===================

View File

@@ -81,8 +81,24 @@ jobs:
- name: TypeScript Type-Check
run: npm run type-check
- name: Prettier Check
run: npx prettier --check . || true
- name: Prettier Auto-Fix
run: |
echo "--- Running Prettier auto-fix for test/staging deployment ---"
# Auto-format all files
npx prettier --write .
# Check if any files were changed
if ! git diff --quiet; then
echo "📝 Prettier made formatting changes. Committing..."
git config --global user.name 'Gitea Actions'
git config --global user.email 'actions@gitea.projectium.com'
git add .
git commit -m "style: auto-format code via Prettier [skip ci]"
git push
echo "✅ Formatting changes committed and pushed."
else
echo "✅ No formatting changes needed."
fi
- name: Lint Check
run: npm run lint || true

View File

@@ -123,6 +123,8 @@ node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
**Get API Key**: [Google AI Studio](https://aistudio.google.com/app/apikey)
**Test Environment Note**: The test/staging environment **deliberately omits** `GEMINI_API_KEY` to preserve free API quota. This is intentional - the API has strict daily limits on the free tier, and we want to reserve tokens for production use. AI features will be non-functional in test, but all other features can be tested normally. Deploy warnings about missing `GEMINI_API_KEY` in test logs are expected and safe to ignore.
### Google Services
| Variable | Required | Description |

4
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{
"name": "flyer-crawler",
"version": "0.15.1",
"version": "0.15.2",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "flyer-crawler",
"version": "0.15.1",
"version": "0.15.2",
"dependencies": {
"@bull-board/api": "^6.14.2",
"@bull-board/express": "^6.14.2",

View File

@@ -1,7 +1,7 @@
{
"name": "flyer-crawler",
"private": true,
"version": "0.15.1",
"version": "0.15.2",
"type": "module",
"engines": {
"node": ">=18.0.0"

View File

@@ -39,6 +39,18 @@ const shouldUploadSourceMaps =
process.env.VITE_SENTRY_DSN &&
process.env.SENTRY_AUTH_TOKEN;
/**
* Determines the Sentry project name based on environment.
* Test/staging deployments use 'flyer-crawler-frontend-test'.
* Production uses 'flyer-crawler-frontend'.
*/
const getSentryProject = () => {
const environment = process.env.VITE_SENTRY_ENVIRONMENT || process.env.NODE_ENV;
return environment === 'test' || environment === 'staging'
? 'flyer-crawler-frontend-test'
: 'flyer-crawler-frontend';
};
/**
* This is the main configuration file for Vite and the Vitest 'unit' test project.
* When running `vitest`, it is orchestrated by `vitest.workspace.ts`, which
@@ -61,9 +73,10 @@ export default defineConfig({
// URL of the Bugsink instance (Sentry-compatible)
url: process.env.SENTRY_URL,
// Org and project are required by the API but Bugsink ignores them
// Org and project names for Bugsink
// Project name changes based on environment (test vs production)
org: 'flyer-crawler',
project: 'flyer-crawler-frontend',
project: getSentryProject(),
// Auth token from environment variable
authToken: process.env.SENTRY_AUTH_TOKEN,