version: 2.1 jobs: test: docker: - image: cimg/python:3.10.9 steps: - checkout - run: name: Pull Submodules command: | git submodule init git submodule update --remote - run: name: Install deps command: make dev-install - run: name: Linting command: make format-check - run: name: Run tests command: make test - run: name: Generate OpenAPI schema command: make openapi-generate build: docker: - image: cimg/python:3.10.9 steps: - checkout - run: name: Pull Submodules command: | git submodule init git submodule update --remote - run: name: Install deps command: make install - run: name: Run migrations command: make setup - run: name: Build database command: make build-db deploy: machine: image: ubuntu-2204:2023.10.1 resource_class: large steps: - checkout - run: name: Pull Submodules command: | git submodule init git submodule update --remote - add_ssh_keys: fingerprints: - "d3:5f:9d:68:ea:12:9a:42:d3:d3:e1:db:b0:6a:fc:d2" - run: name: Generate new data, push to PokeAPI/api-data's staging branch, if master open a Pull Request towards PokeAPI/api-data's master branch command: bash -x Resources/scripts/updater.sh workflows: version: 2 test-and-deploy: jobs: - test - build - deploy: requires: - test - build filters: branches: only: - master - staging weekly: jobs: - test - build - deploy: requires: - test triggers: - schedule: cron: "0 0 * * 1" filters: branches: only: - staging