name: Check API v2 breaking changes on: workflow_call: permissions: contents: read env: API_KEY_PREFIX: ${{ secrets.CI_API_KEY_PREFIX }} API_PORT: ${{ vars.CI_API_V2_PORT }} API_URL: "http://localhost" CALCOM_LICENSE_KEY: ${{ secrets.CI_CALCOM_LICENSE_KEY }} DATABASE_URL: ${{ secrets.CI_DATABASE_URL }} DATABASE_READ_URL: ${{ secrets.CI_DATABASE_URL }} DATABASE_WRITE_URL: ${{ secrets.CI_DATABASE_URL }} JWT_SECRET: ${{ secrets.CI_JWT_SECRET }} NEXTAUTH_SECRET: ${{ secrets.CI_NEXTAUTH_SECRET }} NODE_ENV: ${{ vars.CI_NODE_ENV }} NODE_OPTIONS: --max-old-space-size=4096 REDIS_URL: "redis://localhost:6379" STRIPE_API_KEY: ${{ secrets.CI_STRIPE_PRIVATE_KEY }} STRIPE_WEBHOOK_SECRET: ${{ secrets.CI_STRIPE_WEBHOOK_SECRET }} WEB_APP_URL: "https://app.cal.com" jobs: check-api-v2-breaking-changes: name: Check API v2 breaking changes timeout-minutes: 10 runs-on: blacksmith-2vcpu-ubuntu-2404 steps: - uses: docker/login-action@v3 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - uses: actions/checkout@v4 - uses: ./.github/actions/dangerous-git-checkout - uses: ./.github/actions/yarn-install - name: Generate Swagger working-directory: apps/api/v2 run: yarn generate-swagger - name: Check API v2 breaking changes run: | docker run --rm \ -v "$PWD:/work" -w /work \ tufin/oasdiff:latest \ breaking \ https://raw.githubusercontent.com/calcom/cal.com/refs/heads/main/docs/api-reference/v2/openapi.json \ docs/api-reference/v2/openapi.json \ --fail-on ERR \ --err-ignore .github/oasdiff-err-ignore.txt