Merge branch 'develop' of https://github.com/syuilo/misskey into develop
This commit is contained in:
		
						commit
						3720a7fbe0
					
				
					 5 changed files with 111 additions and 41 deletions
				
			
		|  | @ -1,60 +1,129 @@ | ||||||
| version: 2 | version: 2.1 | ||||||
| 
 | 
 | ||||||
| general: | general: | ||||||
|   branches: |   branches: | ||||||
|     ignore: |     ignore: | ||||||
|       - l10n_develop |       - l10n_develop | ||||||
|  |       - imgbot | ||||||
|  | 
 | ||||||
|  | executors: | ||||||
|  |   default: | ||||||
|  |     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 | ||||||
| 
 | 
 | ||||||
| jobs: | jobs: | ||||||
|   webpack-build: |   build: | ||||||
|     working_directory: /misskey |     executor: default | ||||||
|     docker: |  | ||||||
|       - image: yukimochi/misskey-builder:latest |  | ||||||
|     steps: |     steps: | ||||||
|       - checkout |       - checkout | ||||||
|  |       - restore_cache: | ||||||
|  |           name: Restore npm package caches | ||||||
|  |           keys: | ||||||
|  |             - npm-v1-arch-{{ arch }}-env-{{ .Environment.variableName }}-package-{{ checksum "package.json" }}-lock-{{ checksum "package-lock.json" }}- | ||||||
|  |             - npm-v1-arch-{{ arch }}-env-{{ .Environment.variableName }}-package-{{ checksum "package.json" }}- | ||||||
|  |             - npm-v1-arch-{{ arch }}-env-{{ .Environment.variableName }}- | ||||||
|  |             - npm-v1-arch-{{ arch }}- | ||||||
|  |             - npm-v1- | ||||||
|       - run: |       - run: | ||||||
|           name: Setup Dependencies |           name: Install Dependencies | ||||||
|           command: | |           command: | | ||||||
|             yarn install |             npm install | ||||||
|             yarn global add web-push |  | ||||||
|       - run: |       - run: | ||||||
|           name: Import default.yml |           name: Configure | ||||||
|           command: | |           command: | | ||||||
|             echo ${IMPORT_DEFAULT_YML} | base64 -d | gzip -d > .config/default.yml |             cp .ci/default.yml .config | ||||||
|  |             cp .ci/test.yml .config | ||||||
|       - run: |       - run: | ||||||
|           name: Build Webpack |           name: Build | ||||||
|           command: | |           command: | | ||||||
|             yarn run build |             npm run build || (echo -e '\033[0;34mRebuild modules\033[0;39m' && ls -1A node_modules | grep '^[^@]' | xargs npm rebuild && ls -1A node_modules | grep '^@' | xargs -I%1 sh -c 'ls -1A node_modules/'%1' | xargs -P0 -I%2 npm rebuild node_modules/'%1'/%2' && npm run build) | ||||||
|  |             ls -1ARl node_modules > ls | ||||||
|  |       - save_cache: | ||||||
|  |           name: Cache npm packages | ||||||
|  |           key: npm-v1-arch-{{ arch }}-env-{{ .Environment.variableName }}-package-{{ checksum "package.json" }}-lock-{{ checksum "package-lock.json" }}-ls-{{ checksum "ls" }} | ||||||
|  |           paths: | ||||||
|  |             - node_modules | ||||||
|  |       - store_artifacts: | ||||||
|  |           path: built | ||||||
|  |       - persist_to_workspace: | ||||||
|  |           root: . | ||||||
|  |           paths: | ||||||
|  |             - . | ||||||
|  |   test: | ||||||
|  |     parameters: | ||||||
|  |       without_redis: | ||||||
|  |         type: string | ||||||
|  |         default: "" | ||||||
|  |     executor: default | ||||||
|  |     steps: | ||||||
|  |       - attach_workspace: | ||||||
|  |           at: /tmp/workspace | ||||||
|  |       - when: | ||||||
|  |           condition: <<parameters.without_redis>> | ||||||
|  |           steps: | ||||||
|             - run: |             - run: | ||||||
|           name: Compress clients |                 name: Configure | ||||||
|                 command: | |                 command: | | ||||||
|             find ./built/client -name "*.js" -or -name "*.js.map" -or -name "*.css" -or -name "*.svg" -or -name "*.html" -or -name "*.json" | xargs -t gzip -k -9 |                   mv .config/test.yml .config/test_redis.yml | ||||||
|             find ./built/client -name "*.js" -or -name "*.js.map" -or -name "*.css" -or -name "*.svg" -or -name "*.html" -or -name "*.json" | xargs -t brotli -q 10 |                   touch .config/test.yml | ||||||
|             tar cfz ~/built-${CIRCLE_SHA1}.tar.gz built |                   cat .config/test_redis.yml | while IFS= read line; do if [[ "$line" = '# __REDIS__' ]]; then break; else echo "$line" >> .config/test.yml; fi; done | ||||||
|       - run: |       - run: | ||||||
|           name: Send built s3 |           name: Test | ||||||
|           command: | |           command: | | ||||||
|             mc config host add ykmc ${s3_endpoint} ${s3_accesskey} ${s3_secretkey} |             npm run test || (npm rebuild && npm run test) || ((node-gyp configure && node-gyp build && npm run build || (echo -e '\033[0;34mRebuild modules\033[0;39m' && ls -1A node_modules | grep '^[^@]' | xargs npm rebuild && ls -1A node_modules | grep '^@' | xargs -I%1 sh -c 'ls -1A node_modules/'%1' | xargs -P0 -I%2 npm rebuild node_modules/'%1'/%2' && npm run build)) && npm run test) | ||||||
|             mc cp ~/built-${CIRCLE_SHA1}.tar.gz ${backet}/${CIRCLE_BRANCH}/ |             ls -1ARl node_modules > ls | ||||||
|   docker-build: |       - save_cache: | ||||||
|  |           name: Cache npm packages | ||||||
|  |           key: npm-v1-arch-{{ arch }}-env-{{ .Environment.variableName }}-package-{{ checksum "package.json" }}-lock-{{ checksum "package-lock.json" }}-ls-{{ checksum "ls" }} | ||||||
|  |           paths: | ||||||
|  |             - node_modules | ||||||
|  | 
 | ||||||
|   docker: |   docker: | ||||||
|       - image: docker:17-git |     parameters: | ||||||
|  |       with_deploy: | ||||||
|  |         type: string | ||||||
|  |         default: "" | ||||||
|  |     executor: docker | ||||||
|     steps: |     steps: | ||||||
|       - checkout |       - checkout | ||||||
|       - setup_remote_docker |       - setup_remote_docker | ||||||
|       - run: |       - run: | ||||||
|           name: build docker image |           name: Build | ||||||
|           command: | |           command: | | ||||||
|             docker build -t misskey:latest . |             docker build . | ||||||
|  |       - when: | ||||||
|  |           condition: <<parameters.with_deploy>> | ||||||
|  |           steps: | ||||||
|             - run: |             - run: | ||||||
|           name: upload image to docker hub. |                 name: Deploy | ||||||
|                 command: | |                 command: | | ||||||
|             docker login --username=${DOCKER_USER} --password=${DOCKER_PASS} |                   docker login -u $DOCKERHUB_USERNAME -p $DOCKERHUB_PASSWORD && docker push misskey/misskey | ||||||
|             docker push ${DOCKER_USER}/misskey:latest |  | ||||||
| 
 | 
 | ||||||
| workflows: | workflows: | ||||||
|   version: 2 |   version: 2 | ||||||
|   build: |   build-and-test: | ||||||
|     jobs: |     jobs: | ||||||
|       - webpack-build |       - build | ||||||
|       - docker-build |       - test: | ||||||
|  |           requires: | ||||||
|  |             - build | ||||||
|  |       - test: | ||||||
|  |           without_redis: "true" | ||||||
|  |           requires: | ||||||
|  |             - build | ||||||
|  |       - docker: | ||||||
|  |           filters: | ||||||
|  |             branches: | ||||||
|  |               ignore: master | ||||||
|  |       - docker: | ||||||
|  |           with_deploy: "true" | ||||||
|  |           filters: | ||||||
|  |             branches: | ||||||
|  |               only: master | ||||||
|  |  | ||||||
|  | @ -35,7 +35,7 @@ before_script: | ||||||
|   - npm install |   - npm install | ||||||
| 
 | 
 | ||||||
|   # 設定ファイルを配置 |   # 設定ファイルを配置 | ||||||
|   - cp ./.travis/default.yml ./.config |   - cp ./.ci/default.yml ./.config | ||||||
|   - cp ./.travis/test.yml ./.config |   - cp ./.ci/test.yml ./.config | ||||||
| 
 | 
 | ||||||
|   - travis_wait npm run build |   - travis_wait npm run build | ||||||
|  |  | ||||||
|  | @ -21,8 +21,9 @@ RUN apk add --no-cache \ | ||||||
|     pkgconfig \ |     pkgconfig \ | ||||||
|     libtool \ |     libtool \ | ||||||
|     zlib-dev |     zlib-dev | ||||||
| RUN npm install \ | RUN npm i -g npm@latest \ | ||||||
|     && npm install -g node-gyp \ |  && npm i \ | ||||||
|  |  && npm i -g node-gyp \ | ||||||
|  && node-gyp configure \ |  && node-gyp configure \ | ||||||
|  && node-gyp build \ |  && node-gyp build \ | ||||||
|  && npm run build |  && npm run build | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue