initial build/test steps for nodejs
This commit is contained in:
		@@ -10,6 +10,11 @@ executors:
 | 
			
		||||
      - image: cimg/python:3.11
 | 
			
		||||
    resource_class: small
 | 
			
		||||
 | 
			
		||||
  nodejs:
 | 
			
		||||
    docker:
 | 
			
		||||
      - image: node:18
 | 
			
		||||
    resource_class: small
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  python-test:
 | 
			
		||||
@@ -29,13 +34,76 @@ jobs:
 | 
			
		||||
      - 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
 | 
			
		||||
      - publish:
 | 
			
		||||
          requires: [test]
 | 
			
		||||
      - python-publish:
 | 
			
		||||
          requires: [python-test]
 | 
			
		||||
          filters:
 | 
			
		||||
            branches:
 | 
			
		||||
              only: main
 | 
			
		||||
 | 
			
		||||
      - nodejs-test
 | 
			
		||||
      - nodejs-publish:
 | 
			
		||||
          requires: [nodejs-test]
 | 
			
		||||
          filters:
 | 
			
		||||
            branches:
 | 
			
		||||
              only: main
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user