Update CircleCI configuration

This commit is contained in:
Acid Chicken (硫酸鶏) 2019-05-12 18:04:39 +09:00
parent b5e2a3bc55
commit e5da1caffd
No known key found for this signature in database
GPG Key ID: 5388F56C75B677A1
13 changed files with 248 additions and 91 deletions

View File

@ -1,27 +1,52 @@
version: 2.1 version: 2.1
executors: executors:
default: v11-node11:
working_directory: /tmp/workspace working_directory: /tmp/workspace
docker: docker:
- image: misskey/ci:v11-node11 - image: misskey/ci:v11-node11
- image: misskey/ci:latest - image: circleci/postgres:latest
- image: circleci/mongo:latest - image: circleci/redis:latest
with-redis: v11-node8:
working_directory: /tmp/workspace working_directory: /tmp/workspace
docker: docker:
- image: misskey/ci:latest - image: misskey/ci:v11-node8
- image: circleci/postgres:latest
- image: circleci/redis:latest
v10-node11:
working_directory: /tmp/workspace
docker:
- image: misskey/ci:v10-node11
- image: circleci/mongo:latest
v10-node11-redis:
working_directory: /tmp/workspace
docker:
- image: misskey/ci:v10-node11
- image: circleci/mongo:latest
v10-node8:
working_directory: /tmp/workspace
docker:
- image: misskey/ci:v10-node8
- image: circleci/mongo:latest
- image: circleci/redis:latest
v10-node8-redis:
working_directory: /tmp/workspace
docker:
- image: misskey/ci:v10-node8
- image: circleci/mongo:latest - image: circleci/mongo:latest
- image: circleci/redis:latest - image: circleci/redis:latest
- image: circleci/postgres:latest
docker: docker:
working_directory: /tmp/workspace working_directory: /tmp/workspace
docker: docker:
- image: docker:latest - image: misskey/ci:docker
jobs: jobs:
build: nodejs-build:
executor: default parameters:
executor:
type: string
default: "v11-node11"
executor: <<parameters.executor>>
steps: steps:
- checkout - checkout
- run: - run:
@ -43,8 +68,8 @@ jobs:
- run: - run:
name: Configure name: Configure
command: | command: |
cp .circleci/misskey/default.yml .config cp .circleci/<<parameters.executor>>/default.yml .config
cp .circleci/misskey/test.yml .config cp .circleci/<<parameters.executor>>/test.yml .config
- run: - run:
name: Build name: Build
command: | command: |
@ -59,27 +84,15 @@ jobs:
root: . root: .
paths: paths:
- . - .
test: nodejs-test:
parameters: parameters:
executor: executor:
type: string type: string
default: "default" default: "default"
without_redis:
type: boolean
default: false
executor: <<parameters.executor>> executor: <<parameters.executor>>
steps: steps:
- attach_workspace: - attach_workspace:
at: /tmp/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: - run:
name: Test name: Test
command: | command: |
@ -90,11 +103,7 @@ jobs:
key: yarn-v1-arch-{{ arch }}-env-{{ .Environment.variableName }}-package-{{ checksum "package.json" }}-lock-{{ checksum "yarn.lock" }} key: yarn-v1-arch-{{ arch }}-env-{{ .Environment.variableName }}-package-{{ checksum "package.json" }}-lock-{{ checksum "yarn.lock" }}
paths: paths:
- node_modules - node_modules
docker: docker-build:
parameters:
with_deploy:
type: boolean
default: false
executor: docker executor: docker
steps: steps:
- checkout - checkout
@ -103,94 +112,143 @@ jobs:
name: Build name: Build
command: | command: |
docker build -t misskey/misskey . docker build -t misskey/misskey .
- when: - persist_to_workspace:
condition: <<parameters.with_deploy>> root: .
steps: paths:
- run: - .
name: Deploy docker-deploy:
command: | executor: docker
if [ "$DOCKERHUB_USERNAME$DOCKERHUB_PASSWORD" ] steps:
then - attach_workspace:
apk update && apk add jq at: /tmp/workspace
docker tag misskey/misskey misskey/misskey:$(cat package.json | jq -r .version) - run:
docker login -u $DOCKERHUB_USERNAME -p $DOCKERHUB_PASSWORD name: Deploy
docker push misskey/misskey command: |
else if [ "$DOCKERHUB_USERNAME$DOCKERHUB_PASSWORD" ]
echo -e '\033[0;33mAborted deploying to Docker Hub\033[0;39m' then
fi 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: workflows:
version: 2 version: 2
nodejs: nodejs:
jobs: jobs:
- hold: - nodejs-build:
name: manual-build-trigger name: auto-build-v11-node11
type: approval executor: v11-node11
filters: filters:
branches: branches:
ignore: master ignore:
- build: - l10n_develop
name: manual-build - imgbot
- patch/autogen/v10
- patch/autogen/v11
- v10
- tnodejs-est:
name: auto-test-v11-node11
executor: v11-node11
requires: requires:
- manual-build-trigger - auto-build-v11-node11
filters: filters:
branches: branches:
ignore: master ignore:
- build: - l10n_develop
name: auto-build - imgbot
- patch/autogen/v10
- patch/autogen/v11
- v10
- nodejs-build:
name: auto-build-v11-node8
executor: v11-node8
filters: filters:
branches: branches:
only: master ignore:
- test: - l10n_develop
name: manual-test-with-redis - imgbot
executor: with-redis - patch/autogen/v10
- patch/autogen/v11
- v10
- nodejs-test:
name: auto-test-v11-node8
executor: v11-node8
requires: requires:
- manual-build - auto-build-v11-node8
filters: filters:
branches: branches:
ignore: master ignore:
- test: - l10n_develop
name: auto-test-without-redis - imgbot
executor: with-redis - patch/autogen/v10
- patch/autogen/v11
- v10
- nodejs-build:
name: auto-build-v10-node11
executor: v10-node11
filters:
branches:
only: v10
- nodejs-test:
name: auto-test-v10-node11
executor: v10-node11
requires: requires:
- auto-build - auto-build-v10-node11
filters: filters:
branches: branches:
only: master only: v10
- test: - nodejs-build:
name: manual-test-with-redis name: auto-build-v10-node11-redis
without_redis: true executor: v10-node11-redis
filters:
branches:
only: v10
- nodejs-test:
name: auto-test-v10-node11-redis
executor: v10-node11-redis
requires: requires:
- manual-build - auto-build-v10-node11-redis
filters: filters:
branches: branches:
ignore: master only: v10
- test: - nodejs-build:
name: auto-test-without-redis name: auto-build-v10-node8
without_redis: true executor: v10-node8
filters:
branches:
only: v10
- nodejs-test:
name: auto-test-v10-node8
executor: v10-node8
requires: requires:
- auto-build - auto-build-v10-node8
filters: filters:
branches: branches:
only: master only: v10
- nodejs-build:
name: auto-build-v10-node8-redis
executor: v10-node8-redis
filters:
branches:
only: v10
- nodejs-test:
name: auto-test-v10-node8-redis
executor: v10-node8-redis
requires:
- auto-build-v10-node8-redis
filters:
branches:
only: v10
docker: docker:
jobs: jobs:
- hold: - docker-build:
name: manual-build-trigger
type: approval
filters:
branches:
ignore: master
- docker:
name: manual-build
requires:
- manual-build-trigger
filters:
branches:
ignore: master
- docker:
name: auto-build name: auto-build
with_deploy: true - docker-deploy:
name: auto-deploy
requires:
- auto-build
filters: filters:
branches: branches:
only: master only: master

View File

@ -0,0 +1,10 @@
url: 'http://misskey.local'
port: 80
mongodb:
host: localhost
port: 27017
db: misskey
user: syuilo
pass: ''
drive:
storage: 'db'

View File

@ -0,0 +1,10 @@
url: 'http://misskey.local'
port: 80
mongodb:
host: localhost
port: 27017
db: test-misskey
user: admin
pass: ''
drive:
storage: 'db'

View File

@ -8,7 +8,6 @@ mongodb:
pass: '' pass: ''
drive: drive:
storage: 'db' storage: 'db'
# __REDIS__
redis: redis:
host: localhost host: localhost
port: 6379 port: 6379

View File

@ -0,0 +1,10 @@
url: 'http://misskey.local'
port: 80
mongodb:
host: localhost
port: 27017
db: misskey
user: syuilo
pass: ''
drive:
storage: 'db'

View File

@ -0,0 +1,10 @@
url: 'http://misskey.local'
port: 80
mongodb:
host: localhost
port: 27017
db: test-misskey
user: admin
pass: ''
drive:
storage: 'db'

View File

@ -0,0 +1,15 @@
url: 'http://misskey.local'
port: 80
db:
host: localhost
port: 5432
db: misskey
user: syuilo
pass: ''
drive:
storage: 'fs'
redis:
host: localhost
port: 6379
pass: ''
id: 'aid'

View File

@ -0,0 +1,15 @@
url: 'http://misskey.local'
port: 80
db:
host: localhost
port: 5432
db: test-misskey
user: admin
pass: ''
drive:
storage: 'fs'
redis:
host: localhost
port: 6379
pass: ''
id: 'aid'

View File

@ -0,0 +1,15 @@
url: 'http://misskey.local'
port: 80
db:
host: localhost
port: 5432
db: misskey
user: syuilo
pass: ''
drive:
storage: 'fs'
redis:
host: localhost
port: 6379
pass: ''
id: 'aid'

View File

@ -0,0 +1,15 @@
url: 'http://misskey.local'
port: 80
db:
host: localhost
port: 5432
db: test-misskey
user: admin
pass: ''
drive:
storage: 'fs'
redis:
host: localhost
port: 6379
pass: ''
id: 'aid'