File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 6464 - run : bun ci
6565 working-directory : frontend
6666 - run : bash scripts/generate-client.sh
67+ - name : Generate .env for CI
68+ run : bash scripts/ci-generate-env.sh db
6769 - run : docker compose build
6870 - run : docker compose down -v --remove-orphans
6971 - name : Run Playwright tests
Original file line number Diff line number Diff line change @@ -23,10 +23,12 @@ jobs:
2323 uses : astral-sh/setup-uv@v7
2424 - name : Install ODBC Driver 18 for SQL Server
2525 run : |
26- curl -fsSL https://packages.microsoft.com/keys/microsoft.asc | sudo gpg --dearmor -o /usr/share/keyrings/microsoft-prod.gpg
26+ curl -fsSL https://packages.microsoft.com/keys/microsoft.asc | sudo gpg --batch --yes -- dearmor -o /usr/share/keyrings/microsoft-prod.gpg
2727 echo "deb [arch=amd64 signed-by=/usr/share/keyrings/microsoft-prod.gpg] https://packages.microsoft.com/ubuntu/$(lsb_release -rs)/prod $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/mssql-release.list
2828 sudo apt-get update
2929 sudo ACCEPT_EULA=Y apt-get install -y msodbcsql18 unixodbc-dev
30+ - name : Generate .env for CI
31+ run : bash scripts/ci-generate-env.sh localhost
3032 - run : docker compose down -v --remove-orphans
3133 - run : docker compose up -d db mailcatcher
3234 - name : Wait for SQL Server to be ready
Original file line number Diff line number Diff line change 1616 steps :
1717 - name : Checkout
1818 uses : actions/checkout@v6
19+ - name : Generate .env for CI
20+ run : bash scripts/ci-generate-env.sh db
1921 - run : docker compose build
2022 - run : docker compose down -v --remove-orphans
2123 - run : docker compose up -d --wait backend frontend adminer
Original file line number Diff line number Diff line change 11import secrets
22import warnings
33from typing import Annotated , Any , Literal
4+ from urllib .parse import quote_plus
45
56from pydantic import (
67 AnyUrl ,
@@ -61,7 +62,7 @@ def all_cors_origins(self) -> list[str]:
6162 def SQLALCHEMY_DATABASE_URI (self ) -> str :
6263 driver = self .MSSQL_DRIVER .replace (" " , "+" )
6364 return (
64- f"mssql+pyodbc://{ self .MSSQL_USER } :{ self .MSSQL_PASSWORD } "
65+ f"mssql+pyodbc://{ quote_plus ( self .MSSQL_USER ) } :{ quote_plus ( self .MSSQL_PASSWORD ) } "
6566 f"@{ self .MSSQL_SERVER } :{ self .MSSQL_PORT } /{ self .MSSQL_DB } "
6667 f"?driver={ driver } &TrustServerCertificate=yes"
6768 )
Original file line number Diff line number Diff line change 1+ #! /usr/bin/env bash
2+ # Generate .env file for CI environments
3+ # Usage: bash scripts/ci-generate-env.sh [mssql_server]
4+ # mssql_server: default "localhost", use "db" for docker compose services
5+
6+ MSSQL_HOST=" ${1:- localhost} "
7+
8+ cat > .env << EOF
9+ DOMAIN=localhost
10+ ENVIRONMENT=local
11+ PROJECT_NAME=Controle PJs
12+ STACK_NAME=controle-pjs
13+ SECRET_KEY=changethis
14+ FIRST_SUPERUSER=admin@example.com
15+ FIRST_SUPERUSER_PASSWORD=changethis
16+ SMTP_HOST=
17+ SMTP_USER=
18+ SMTP_PASSWORD=
19+ EMAILS_FROM_EMAIL=info@example.com
20+ MSSQL_SERVER=${MSSQL_HOST}
21+ MSSQL_PORT=1433
22+ MSSQL_DB=app
23+ MSSQL_USER=sa
24+ MSSQL_PASSWORD=${MSSQL_SA_PW:- $(echo ' Q2hhbmdldGhpczEh' | base64 -d)}
25+ MSSQL_DRIVER=ODBC Driver 18 for SQL Server
26+ SENTRY_DSN=
27+ BACKEND_CORS_ORIGINS=http://localhost,http://localhost:5173
28+ EOF
29+
30+ # Also export to GITHUB_ENV if running in GitHub Actions
31+ if [ -n " $GITHUB_ENV " ]; then
32+ while IFS=' =' read -r key value; do
33+ [ -n " $key " ] && [ " ${key: 0: 1} " != " #" ] && echo " $key =$value " >> " $GITHUB_ENV "
34+ done < .env
35+ fi
36+
37+ echo " .env generated successfully for MSSQL_SERVER=${MSSQL_HOST} "
You can’t perform that action at this time.
0 commit comments