--- version: 2.1 orbs: python: circleci/python@2.1.1 executors: python: docker: - image: cimg/python:3.11 resource_class: small nodejs: docker: - image: node:18 resource_class: small jobs: python-test: executor: python working_directory: ./py/lib steps: - run: | : \ && pip install -e . \ && pytest \ ; python-publish: executor: python steps: - checkout - python/dist - run: pip install twine && twine upload dist/* nodesjs-test: executor: nodejs working_directory: ./zx/lib steps: - checkout - restore_cache: name: restore pnpm cache keys: - pnpm-packages-{{ checksum "pnpm-lock.yaml" }} - run: name: pnpm install command: | corepack enable corepack prepare pnpm@latest-8 --activate pnpm config set store-dir .pnpm-store pnpm install - save_cache: name: save pnpm cache key: pnpm-packages-{{ checksum "pnpm-lock.yaml" }} paths: - .pnpm-store - run: pnpm test - run: pnpm lint nodesjs-publish: executor: nodejs working_directory: ./zx/lib steps: - checkout - restore_cache: name: restore pnpm cache keys: - pnpm-packages-{{ checksum "pnpm-lock.yaml" }} - run: name: pnpm install command: | corepack enable corepack prepare pnpm@latest-8 --activate pnpm config set store-dir .pnpm-store pnpm install - save_cache: name: save pnpm cache key: pnpm-packages-{{ checksum "pnpm-lock.yaml" }} paths: - .pnpm-store - run: pnpm build - run: pnpm version $(git describe --tags) workflows: build: jobs: - python-test - python-publish: requires: [python-test] filters: branches: only: main - nodejs-test - nodejs-publish: requires: [nodejs-test] filters: branches: only: main