Add multi-method tax engine with FX-ready pricing hierarchy (#317) #204
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Issue #152 — Verify the production artifact builds and the server starts. | |
| # | |
| # Builds with dev dependencies, compiles TypeScript, reinstalls production-only | |
| # dependencies (matching the Docker runtime image), then starts the built server | |
| # and asserts GET /health returns 200. | |
| name: Production build smoke | |
| on: | |
| push: | |
| branches: | |
| - main | |
| - develop | |
| pull_request: | |
| types: [opened, synchronize, reopened] | |
| jobs: | |
| production-smoke: | |
| name: Production build smoke check | |
| runs-on: ubuntu-latest | |
| services: | |
| postgres: | |
| image: postgres:14.4 | |
| env: | |
| POSTGRES_USER: prod_smoke_user | |
| POSTGRES_PASSWORD: prod_smoke_pass | |
| POSTGRES_DB: prod_smoke_db | |
| ports: | |
| - 5432:5432 | |
| options: >- | |
| --health-cmd="pg_isready -U prod_smoke_user" | |
| --health-interval=10s | |
| --health-timeout=5s | |
| --health-retries=5 | |
| env: | |
| NODE_ENV: test | |
| PORT: 3001 | |
| DATABASE_URL: postgresql://prod_smoke_user:prod_smoke_pass@localhost:5432/prod_smoke_db | |
| STELLAR_NETWORK: testnet | |
| STELLAR_RPC_URL: https://soroban-testnet.stellar.org | |
| STELLAR_AGENT_SECRET_KEY: SXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | |
| VAULT_CONTRACT_ID: CDUMMYVAULTCONTRACTID | |
| USDC_TOKEN_ADDRESS: CDUMMYUSDC | |
| ANTHROPIC_API_KEY: sk-ant-smoke-key | |
| JWT_SEED: a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2 | |
| JWT_SESSION_TTL_HOURS: '24' | |
| JWT_NONCE_TTL_MS: '300000' | |
| JWT_CLEANUP_INTERVAL_MS: '86400000' | |
| WALLET_ENCRYPTION_KEY: a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2 | |
| TWILIO_AUTH_TOKEN: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '22' | |
| cache: npm | |
| - name: Install dependencies (build) | |
| run: npm ci | |
| - name: Generate Prisma client | |
| run: npx prisma generate | |
| - name: Apply database migrations | |
| run: npx prisma migrate deploy | |
| - name: Build production artifact | |
| run: npm run build | |
| - name: Install production dependencies only | |
| run: npm ci --omit=dev | |
| - name: Regenerate Prisma client for production install | |
| run: npx prisma@5.22.0 generate | |
| - name: Run startup smoke check (/health) | |
| run: npm run smoke |