feat: собрать пример REST API на FastAPI по образцу js-fastify-rest-a… #1
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: Contract Tests | |
| # Отдельным workflow, а не шагом в основном: проверка идёт снаружи, по | |
| # спеке, и выкинуть её должно быть просто — удалением одного файла и цели | |
| # contract-test в Makefile. | |
| # | |
| # Ловит то, чего не видят ни тесты, ни проверка запросов: применена ли | |
| # авторизация, не отдаёт ли API статусы, которых нет в контракте, и не | |
| # падает ли он в 5xx на краевых входах. Все три вида находок здесь уже | |
| # были, и все три исправлены. | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| branches: | |
| - main | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} | |
| jobs: | |
| schemathesis: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: astral-sh/setup-uv@v10 | |
| - uses: actions/setup-node@v7 | |
| with: | |
| node-version: 22.x | |
| cache: npm | |
| - name: Install | |
| run: make install | |
| - name: Run contract tests | |
| run: make contract-test |