mirror of
				https://codeberg.org/yeentown/barkey.git
				synced 2025-11-03 23:14:13 +00:00 
			
		
		
		
	* Update config.yml * Update config.yml * Update config.yml * Update config.yml * Update config.yml
		
			
				
	
	
		
			192 lines
		
	
	
	
		
			5.2 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			192 lines
		
	
	
	
		
			5.2 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
version: 2.1
 | 
						|
 | 
						|
executors:
 | 
						|
  default:
 | 
						|
    working_directory: /tmp/workspace
 | 
						|
    docker:
 | 
						|
      - image: misskey/ci:latest
 | 
						|
      - image: circleci/mongo:latest
 | 
						|
  with-redis:
 | 
						|
    working_directory: /tmp/workspace
 | 
						|
    docker:
 | 
						|
      - image: misskey/ci:latest
 | 
						|
      - image: circleci/mongo:latest
 | 
						|
      - image: circleci/redis:latest
 | 
						|
  docker:
 | 
						|
    working_directory: /tmp/workspace
 | 
						|
    docker:
 | 
						|
      - image: docker:latest
 | 
						|
  alpine:
 | 
						|
    working_directory: /tmp/workspace
 | 
						|
    docker:
 | 
						|
      - image: alpine:latest
 | 
						|
 | 
						|
jobs:
 | 
						|
  ok:
 | 
						|
    executor: alpine
 | 
						|
    steps:
 | 
						|
      - run:
 | 
						|
          name: OK
 | 
						|
          command: |
 | 
						|
            echo -e '\033[0;32mOK\033[0;39m'
 | 
						|
  build:
 | 
						|
    executor: default
 | 
						|
    steps:
 | 
						|
      - checkout
 | 
						|
      - run:
 | 
						|
          name: Ensure yarn.lock
 | 
						|
          command: |
 | 
						|
            touch yarn.lock
 | 
						|
      - restore_cache:
 | 
						|
          name: Restore npm package caches
 | 
						|
          keys:
 | 
						|
            - yarn-v1-arch-{{ arch }}-env-{{ .Environment.variableName }}-package-{{ checksum "package.json" }}-lock-{{ checksum "yarn.lock" }}
 | 
						|
            - yarn-v1-arch-{{ arch }}-env-{{ .Environment.variableName }}-package-{{ checksum "package.json" }}-
 | 
						|
            - yarn-v1-arch-{{ arch }}-env-{{ .Environment.variableName }}-
 | 
						|
            - yarn-v1-arch-{{ arch }}-
 | 
						|
            - yarn-v1-
 | 
						|
      - run:
 | 
						|
          name: Install Dependencies
 | 
						|
          command: |
 | 
						|
            yarn install
 | 
						|
      - run:
 | 
						|
          name: Configure
 | 
						|
          command: |
 | 
						|
            cp .circleci/misskey/default.yml .config
 | 
						|
            cp .circleci/misskey/test.yml .config
 | 
						|
      - run:
 | 
						|
          name: Build
 | 
						|
          command: |
 | 
						|
            yarn build
 | 
						|
            touch yarn.lock
 | 
						|
      - save_cache:
 | 
						|
          name: Cache npm packages
 | 
						|
          key: yarn-v1-arch-{{ arch }}-env-{{ .Environment.variableName }}-package-{{ checksum "package.json" }}-lock-{{ checksum "yarn.lock" }}
 | 
						|
          paths:
 | 
						|
            - node_modules
 | 
						|
#      - store_artifacts:
 | 
						|
#          path: built
 | 
						|
      - persist_to_workspace:
 | 
						|
          root: .
 | 
						|
          paths:
 | 
						|
            - .
 | 
						|
  test:
 | 
						|
    parameters:
 | 
						|
      executor:
 | 
						|
        type: string
 | 
						|
        default: "default"
 | 
						|
      without_redis:
 | 
						|
        type: boolean
 | 
						|
        default: false
 | 
						|
    executor: <<parameters.executor>>
 | 
						|
    steps:
 | 
						|
      - attach_workspace:
 | 
						|
          at: /tmp/workspace
 | 
						|
      - when:
 | 
						|
          condition: <<parameters.without_redis>>
 | 
						|
          steps:
 | 
						|
            - run:
 | 
						|
                name: Configure
 | 
						|
                command: |
 | 
						|
                  mv .config/test.yml .config/test_redis.yml
 | 
						|
                  touch .config/test.yml
 | 
						|
                  cat .config/test_redis.yml | while IFS= read line; do if [[ "$line" = '# __REDIS__' ]]; then break; else echo "$line" >> .config/test.yml; fi; done
 | 
						|
      - run:
 | 
						|
          name: Test
 | 
						|
          command: |
 | 
						|
            yarn test
 | 
						|
            touch yarn.lock
 | 
						|
      - save_cache:
 | 
						|
          name: Cache npm packages
 | 
						|
          key: yarn-v1-arch-{{ arch }}-env-{{ .Environment.variableName }}-package-{{ checksum "package.json" }}-lock-{{ checksum "yarn.lock" }}
 | 
						|
          paths:
 | 
						|
            - node_modules
 | 
						|
  docker:
 | 
						|
    parameters:
 | 
						|
      with_deploy:
 | 
						|
        type: boolean
 | 
						|
        default: false
 | 
						|
    executor: docker
 | 
						|
    steps:
 | 
						|
      - checkout
 | 
						|
      - setup_remote_docker
 | 
						|
      - run:
 | 
						|
          name: Build
 | 
						|
          command: |
 | 
						|
            docker build -t misskey/misskey .
 | 
						|
      - when:
 | 
						|
          condition: <<parameters.with_deploy>>
 | 
						|
          steps:
 | 
						|
            - run:
 | 
						|
                name: Deploy
 | 
						|
                command: |
 | 
						|
                  if [ "$DOCKERHUB_USERNAME$DOCKERHUB_PASSWORD" ]
 | 
						|
                   then
 | 
						|
                    apk update && apk add jq
 | 
						|
                    docker tag misskey/misskey misskey/misskey:$(cat package.json | jq -r .version)
 | 
						|
                    docker login -u $DOCKERHUB_USERNAME -p $DOCKERHUB_PASSWORD
 | 
						|
                    docker push misskey/misskey
 | 
						|
                   else
 | 
						|
                    echo -e '\033[0;33mAborted deploying to Docker Hub\033[0;39m'
 | 
						|
                  fi
 | 
						|
 | 
						|
workflows:
 | 
						|
  version: 2
 | 
						|
  nodejs:
 | 
						|
    jobs:
 | 
						|
      - ok:
 | 
						|
          filters:
 | 
						|
            branches:
 | 
						|
              only:
 | 
						|
                - l10n_develop
 | 
						|
                - imgbot
 | 
						|
                - patch-autogen
 | 
						|
      - build:
 | 
						|
          filters:
 | 
						|
            branches:
 | 
						|
              ignore:
 | 
						|
                - l10n_develop
 | 
						|
                - imgbot
 | 
						|
                - patch-autogen
 | 
						|
      - test:
 | 
						|
          executor: with-redis
 | 
						|
          requires:
 | 
						|
            - build
 | 
						|
          filters:
 | 
						|
            branches:
 | 
						|
              ignore:
 | 
						|
#                - master
 | 
						|
                - l10n_develop
 | 
						|
                - imgbot
 | 
						|
                - patch-autogen
 | 
						|
      - test:
 | 
						|
          without_redis: true
 | 
						|
          requires:
 | 
						|
            - build
 | 
						|
          filters:
 | 
						|
#            branches:
 | 
						|
#              only: master
 | 
						|
            branches:
 | 
						|
              ignore:
 | 
						|
#                - master
 | 
						|
                - l10n_develop
 | 
						|
                - imgbot
 | 
						|
                - patch-autogen
 | 
						|
  docker:
 | 
						|
    jobs:
 | 
						|
      - hold:
 | 
						|
          type: approval
 | 
						|
          filters:
 | 
						|
            branches:
 | 
						|
              ignore: master
 | 
						|
      - docker:
 | 
						|
          requires:
 | 
						|
            - hold
 | 
						|
          filters:
 | 
						|
            branches:
 | 
						|
              ignore: master
 | 
						|
      - docker:
 | 
						|
          with_deploy: true
 | 
						|
          filters:
 | 
						|
            branches:
 | 
						|
              only: master
 |