version: 2.1

orbs:
  node: circleci/node@5.2.0
  slack-compatible: example-org/notify@1.0.0

executors:
  linux-node:
    docker:
      - image: registry.example.invalid/ci/node:20
    resource_class: medium
  linux-python:
    docker:
      - image: registry.example.invalid/ci/python:3.12
    resource_class: small

jobs:
  lint:
    executor: linux-node
    steps:
      - checkout
      - node/install-packages
      - run: npm run lint

  docs:
    executor: linux-python
    steps:
      - checkout
      - run: python -m mkdocs build

workflows:
  default:
    jobs:
      - lint
      - docs:
          filters:
            branches:
              only:
                - main
                - /^docs\/.*/
