Merge pull request #1164 from jutur/security-warehouse-transfers-rbac… #43
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
| name: Generate OpenAPI SDK Types | |
| on: | |
| push: | |
| branches: | |
| - main | |
| - develop | |
| paths: | |
| - 'packages/server/src/**/*.ts' | |
| - 'packages/server/src/**/*.dto.ts' | |
| - '!packages/server/src/**/*.spec.ts' | |
| - '!packages/server/src/**/*.test.ts' | |
| workflow_dispatch: | |
| defaults: | |
| run: | |
| shell: 'bash' | |
| env: | |
| # Database configuration | |
| DB_HOST: 127.0.0.1 | |
| DB_USER: root | |
| DB_PASSWORD: root | |
| DB_CHARSET: utf8 | |
| SYSTEM_DB_NAME: bigcapital_system | |
| TENANT_DB_NAME_PERFIX: bigcapital_tenant_ | |
| # Redis configuration | |
| REDIS_HOST: 127.0.0.1 | |
| REDIS_PORT: 6379 | |
| # Queue configuration | |
| QUEUE_HOST: 127.0.0.1 | |
| QUEUE_PORT: 6379 | |
| # App configuration | |
| APP_JWT_SECRET: test-jwt-secret-for-openapi-generation | |
| JWT_SECRET: test-jwt-secret-for-openapi-generation | |
| BASE_URL: http://localhost:3000 | |
| # Feature flags | |
| SIGNUP_DISABLED: 'false' | |
| SIGNUP_EMAIL_CONFIRMATION: 'false' | |
| THROTTLE_GLOBAL_TTL: 60000 | |
| THROTTLE_GLOBAL_LIMIT: 300 | |
| THROTTLE_AUTH_TTL: 60000 | |
| THROTTLE_AUTH_LIMIT: 30 | |
| # Optional services (empty for OpenAPI generation) | |
| MAIL_HOST: '' | |
| MAIL_PORT: '' | |
| MAIL_USERNAME: '' | |
| MAIL_PASSWORD: '' | |
| MAIL_FROM_NAME: '' | |
| MAIL_FROM_ADDRESS: '' | |
| GOTENBERG_URL: '' | |
| GOTENBERG_DOCS_URL: '' | |
| PLAID_CLIENT_ID: '' | |
| PLAID_SECRET: '' | |
| LEMONSQUEEZY_API_KEY: '' | |
| S3_ACCESS_KEY_ID: '' | |
| S3_SECRET_ACCESS_KEY: '' | |
| S3_BUCKET: '' | |
| POSTHOG_API_KEY: '' | |
| STRIPE_PAYMENT_SECRET_KEY: '' | |
| OPEN_EXCHANGE_RATE_APP_ID: '' | |
| BULLBOARD_ENABLED: 'false' | |
| BULLBOARD_USERNAME: '' | |
| BULLBOARD_PASSWORD: '' | |
| jobs: | |
| generate-openapi: | |
| name: Generate OpenAPI and SDK Types | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| services: | |
| mysql: | |
| image: mysql:8.0 | |
| env: | |
| MYSQL_ROOT_PASSWORD: root | |
| MYSQL_DATABASE: bigcapital_system | |
| ports: | |
| - 3306:3306 | |
| options: >- | |
| --health-cmd="mysqladmin ping --silent" | |
| --health-interval=10s | |
| --health-timeout=5s | |
| --health-retries=10 | |
| redis: | |
| image: redis:7-alpine | |
| ports: | |
| - 6379:6379 | |
| options: >- | |
| --health-cmd="redis-cli ping" | |
| --health-interval=10s | |
| --health-timeout=5s | |
| --health-retries=10 | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Install pnpm | |
| uses: pnpm/action-setup@v4 | |
| with: | |
| version: 9 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '18' | |
| cache: 'pnpm' | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Build shared packages | |
| run: pnpm run build --scope "@bigcapital/utils" --scope "@bigcapital/email-components" --scope "@bigcapital/pdf-templates" | |
| - name: Generate OpenAPI spec and SDK types | |
| run: pnpm run generate:sdk-types | |
| - name: Check for changes | |
| id: check-changes | |
| run: | | |
| if git diff --quiet shared/sdk-ts/; then | |
| echo "has_changes=false" >> $GITHUB_OUTPUT | |
| else | |
| echo "has_changes=true" >> $GITHUB_OUTPUT | |
| fi | |
| - name: Create Pull Request | |
| if: steps.check-changes.outputs.has_changes == 'true' | |
| uses: peter-evans/create-pull-request@v6 | |
| with: | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| commit-message: 'chore(sdk): update OpenAPI spec and generated types' | |
| title: 'chore(sdk): update OpenAPI spec and generated types' | |
| body: | | |
| ## Summary | |
| Automated update of OpenAPI specification and generated TypeScript SDK types. | |
| This PR was automatically generated by the `generate-openapi.yml` workflow due to server code changes. | |
| ## Changes | |
| - Updated `shared/sdk-ts/openapi.json` | |
| - Regenerated `shared/sdk-ts/src/schema.ts` | |
| ## Test plan | |
| - [ ] Verify the generated types compile correctly | |
| - [ ] Check that no breaking changes were introduced to the API types | |
| branch: chore/update-openapi-sdk-types | |
| base: ${{ github.ref_name }} | |
| labels: | | |
| automated | |
| sdk | |
| delete-branch: true |