Visual hotfixes & CI/CD
Build & Push Docker Images / test-backend (push) Successful in 22s
Build & Push Docker Images / test-frontend (push) Successful in 23s
Build & Push Docker Images / build-backend (push) Successful in 18s
Build & Push Docker Images / build-frontend (push) Successful in 30s
Build & Push Docker Images / test-backend (push) Successful in 22s
Build & Push Docker Images / test-frontend (push) Successful in 23s
Build & Push Docker Images / build-backend (push) Successful in 18s
Build & Push Docker Images / build-frontend (push) Successful in 30s
This commit is contained in:
@@ -1,54 +0,0 @@
|
||||
{
|
||||
"permissions": {
|
||||
"allow": [
|
||||
"Bash(npm run:*)",
|
||||
"Bash(npm install *)",
|
||||
"Bash(npm test *)",
|
||||
"Bash(npx vitest *)",
|
||||
"Bash(./node_modules/.bin/vitest run *)",
|
||||
"Bash(git -C /home/f80ans0/Projects/Webs/FarmaFinder remote -v)",
|
||||
"Bash(grep -E \"^\\(express|sqlite3|bcrypt|axios|cors|redis|connect-sqlite3|express-session|express-rate-limit\\)$\")",
|
||||
"Bash(grep -E \"^\\(react-leaflet|leaflet\\)$\")",
|
||||
"Bash(grep -E \"^\\(connect-sqlite3|express-rate-limit\\)$\")",
|
||||
"Bash(node --check server.js)",
|
||||
"Bash(node --input-type=module -e ' *)",
|
||||
"Bash(node *)",
|
||||
"Bash(kill 1043357 1043372 1043383 1043384 1043416 1043417 1043457 1043463 1043479 1061932)",
|
||||
"Bash(NODE_OPTIONS=--experimental-vm-modules npx jest)",
|
||||
"Bash(npx vite *)",
|
||||
"Bash(curl -sL -o /tmp/ref-nav.png \"https://theuistudio.com/blog/wp-content/uploads/2025/09/image-8.png\")",
|
||||
"WebFetch(domain:dev.to)",
|
||||
"Bash(command -v npx node java)",
|
||||
"Bash(npx --version)",
|
||||
"Bash(npx cap *)",
|
||||
"Bash(pacman -Si jdk17-openjdk)",
|
||||
"Bash(yay -Si android-sdk-cmdline-tools-latest)",
|
||||
"Bash(sudo pacman -S --needed --noconfirm jdk17-openjdk)",
|
||||
"Bash(sudo -n pacman -S --needed --noconfirm jdk17-openjdk)",
|
||||
"Bash(java -version)",
|
||||
"Read(//opt/android-sdk/**)",
|
||||
"Read(//usr/lib/jvm/**)",
|
||||
"Bash(getent group *)",
|
||||
"Bash(cat)",
|
||||
"Bash(grep -q '^android/local.properties$' /home/anunez/Projects/FarmaFinder/.gitignore)",
|
||||
"Bash(JAVA_HOME=/usr/lib/jvm/java-17-openjdk ANDROID_HOME=/opt/android-sdk ANDROID_SDK_ROOT=/opt/android-sdk PATH=/usr/lib/jvm/java-17-openjdk/bin:/opt/android-sdk/cmdline-tools/latest/bin:/opt/android-sdk/platform-tools:__TRACKED_VAR__ ./gradlew --no-daemon assembleDebug)",
|
||||
"Bash(shred -u /tmp/.farmafinder-keystore-pass)",
|
||||
"Read(//tmp/**)",
|
||||
"Bash(JAVA_HOME=/usr/lib/jvm/java-17-openjdk /usr/lib/jvm/java-17-openjdk/bin/jarsigner -verify -verbose:summary /home/anunez/Projects/FarmaFinder/android/app/build/outputs/bundle/release/app-release.aab)",
|
||||
"Bash(openssl pkcs7 *)",
|
||||
"Bash(openssl x509 *)",
|
||||
"Bash(/opt/android-sdk/build-tools/34.0.0/apksigner verify *)",
|
||||
"Bash(npm ci *)",
|
||||
"Bash(xxd)",
|
||||
"WebFetch(domain:raw.githubusercontent.com)",
|
||||
"Bash(git add *)",
|
||||
"Bash(git commit *)",
|
||||
"Bash(git push *)",
|
||||
"WebFetch(domain:github.com)",
|
||||
"WebSearch",
|
||||
"WebFetch(domain:developers.google.com)",
|
||||
"WebFetch(domain:cocoapods.org)",
|
||||
"Bash(git check-ignore *)"
|
||||
]
|
||||
}
|
||||
}
|
||||
+20
-22
@@ -20,13 +20,12 @@ trigger_map:
|
||||
workflow: deploy_android
|
||||
|
||||
workflows:
|
||||
# ── Shared setup ──────────────────────────────────────────
|
||||
_setup:
|
||||
steps:
|
||||
- activate-ssh-key@4:
|
||||
- activate-ssh-key@5:
|
||||
run_if: '{{getenv "SSH_RSA_PRIVATE_KEY" | ne ""}}'
|
||||
- git-clone@8: {}
|
||||
- nvm@1:
|
||||
- git-clone@9: {}
|
||||
- setup-node@1:
|
||||
inputs:
|
||||
- node_version: "20"
|
||||
- script@1:
|
||||
@@ -35,11 +34,10 @@ workflows:
|
||||
- content: |
|
||||
#!/bin/bash
|
||||
set -ex
|
||||
npm install
|
||||
npm install --prefix frontend
|
||||
npm ci
|
||||
npm ci --prefix frontend
|
||||
npm run build --prefix frontend
|
||||
|
||||
# ── Android test / PR build ──────────────────────────────
|
||||
test:
|
||||
before_run:
|
||||
- _setup
|
||||
@@ -61,14 +59,13 @@ workflows:
|
||||
"platforms;android-36" \
|
||||
"build-tools;36.0.0" \
|
||||
"platform-tools" || true
|
||||
- android-build@1:
|
||||
- android-build@2:
|
||||
title: Build Android APK (debug)
|
||||
inputs:
|
||||
- project_location: android
|
||||
- module: app
|
||||
- variant: debug
|
||||
|
||||
# ── iOS test / PR build (simulator) ──────────────────────
|
||||
test_ios:
|
||||
before_run:
|
||||
- _setup
|
||||
@@ -83,7 +80,7 @@ workflows:
|
||||
- cocoapods-install@2:
|
||||
inputs:
|
||||
- podfile_path: ios/App/Podfile
|
||||
- xcode-archive@4:
|
||||
- xcode-archive@5:
|
||||
title: Build iOS (simulator)
|
||||
inputs:
|
||||
- project_path: ios/App/App.xcodeproj
|
||||
@@ -93,7 +90,6 @@ workflows:
|
||||
- output_tool: xcodebuild
|
||||
- cache_level: swift
|
||||
|
||||
# ── iOS deploy ───────────────────────────────────────────
|
||||
deploy_ios:
|
||||
before_run:
|
||||
- _setup
|
||||
@@ -109,7 +105,7 @@ workflows:
|
||||
inputs:
|
||||
- podfile_path: ios/App/Podfile
|
||||
- certificate-and-profile-installer@1: {}
|
||||
- xcode-archive@4:
|
||||
- xcode-archive@5:
|
||||
title: Archive iOS (release)
|
||||
inputs:
|
||||
- project_path: ios/App/App.xcodeproj
|
||||
@@ -119,9 +115,8 @@ workflows:
|
||||
- output_tool: xcodebuild
|
||||
- export_method: app-store
|
||||
- cache_level: swift
|
||||
- deploy-to-bitrise-io@2: {}
|
||||
- deploy-to-bitrise-io@4: {}
|
||||
|
||||
# ── Android deploy ───────────────────────────────────────
|
||||
deploy_android:
|
||||
before_run:
|
||||
- _setup
|
||||
@@ -143,20 +138,21 @@ workflows:
|
||||
"platforms;android-36" \
|
||||
"build-tools;36.0.0" \
|
||||
"platform-tools" || true
|
||||
- android-build@1:
|
||||
- android-build@2:
|
||||
title: Build Android AAB (release)
|
||||
inputs:
|
||||
- project_location: android
|
||||
- module: app
|
||||
- variant: release
|
||||
- deploy-to-bitrise-io@2: {}
|
||||
- sign-apk@1:
|
||||
inputs:
|
||||
- use_apk_signer: "true"
|
||||
- deploy-to-bitrise-io@4: {}
|
||||
|
||||
# ── Combined deploy (default branch push) ────────────────
|
||||
deploy:
|
||||
before_run:
|
||||
- _setup
|
||||
steps:
|
||||
# Android
|
||||
- script@1:
|
||||
title: Sync Android native project
|
||||
inputs:
|
||||
@@ -174,13 +170,15 @@ workflows:
|
||||
"platforms;android-36" \
|
||||
"build-tools;36.0.0" \
|
||||
"platform-tools" || true
|
||||
- android-build@1:
|
||||
- android-build@2:
|
||||
title: Build Android AAB (release)
|
||||
inputs:
|
||||
- project_location: android
|
||||
- module: app
|
||||
- variant: release
|
||||
# iOS
|
||||
- sign-apk@1:
|
||||
inputs:
|
||||
- use_apk_signer: "true"
|
||||
- script@1:
|
||||
title: Sync iOS native project
|
||||
inputs:
|
||||
@@ -192,7 +190,7 @@ workflows:
|
||||
inputs:
|
||||
- podfile_path: ios/App/Podfile
|
||||
- certificate-and-profile-installer@1: {}
|
||||
- xcode-archive@4:
|
||||
- xcode-archive@5:
|
||||
title: Archive iOS (release)
|
||||
inputs:
|
||||
- project_path: ios/App/App.xcodeproj
|
||||
@@ -202,4 +200,4 @@ workflows:
|
||||
- output_tool: xcodebuild
|
||||
- export_method: app-store
|
||||
- cache_level: swift
|
||||
- deploy-to-bitrise-io@2: {}
|
||||
- deploy-to-bitrise-io@4: {}
|
||||
@@ -290,7 +290,7 @@
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.app {
|
||||
padding: 1rem 1rem calc(7rem + env(safe-area-inset-bottom));
|
||||
padding: calc(3.55rem + env(safe-area-inset-top)) 1rem calc(7rem + env(safe-area-inset-bottom));
|
||||
}
|
||||
|
||||
.app-header h1 {
|
||||
|
||||
@@ -9,8 +9,10 @@
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
position: sticky;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
z-index: 50;
|
||||
padding: calc(0.65rem + env(safe-area-inset-top)) 1rem 0.65rem;
|
||||
background: var(--glass-bg);
|
||||
|
||||
@@ -3,12 +3,11 @@
|
||||
============================================================ */
|
||||
|
||||
.home-container {
|
||||
min-height: 100dvh;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
padding: 2rem 1.5rem calc(5rem + env(safe-area-inset-bottom));
|
||||
padding: 2rem 1.5rem;
|
||||
gap: 2.5rem;
|
||||
animation: fadeInUp 0.7s ease-out;
|
||||
}
|
||||
@@ -266,10 +265,10 @@
|
||||
/* ── Responsive ─────────────────────────────────────────── */
|
||||
@media (max-width: 640px) {
|
||||
.home-container {
|
||||
padding: 1.5rem 1rem calc(6rem + env(safe-area-inset-bottom));
|
||||
padding: 1.5rem 1rem;
|
||||
gap: 1.75rem;
|
||||
justify-content: flex-start;
|
||||
padding-top: 2.5rem;
|
||||
padding-top: 0.5rem;
|
||||
}
|
||||
|
||||
.home-grid {
|
||||
|
||||
Reference in New Issue
Block a user