|
@@ -1,233 +0,0 @@
|
|
|
-name: Node CI for growi
|
|
|
|
|
-
|
|
|
|
|
-on:
|
|
|
|
|
- push:
|
|
|
|
|
- branches-ignore:
|
|
|
|
|
- - release/**
|
|
|
|
|
- - rc/**
|
|
|
|
|
- - chore/**
|
|
|
|
|
- - support/prepare-v**
|
|
|
|
|
-
|
|
|
|
|
-jobs:
|
|
|
|
|
-
|
|
|
|
|
- lint:
|
|
|
|
|
- runs-on: ubuntu-latest
|
|
|
|
|
-
|
|
|
|
|
- strategy:
|
|
|
|
|
- matrix:
|
|
|
|
|
- node-version: [16.x]
|
|
|
|
|
-
|
|
|
|
|
- steps:
|
|
|
|
|
- - uses: actions/checkout@v2
|
|
|
|
|
-
|
|
|
|
|
- - uses: actions/setup-node@v2
|
|
|
|
|
- with:
|
|
|
|
|
- node-version: ${{ matrix.node-version }}
|
|
|
|
|
- cache: 'yarn'
|
|
|
|
|
- cache-dependency-path: '**/yarn.lock'
|
|
|
|
|
-
|
|
|
|
|
- - name: lerna bootstrap
|
|
|
|
|
- run: |
|
|
|
|
|
- npx lerna bootstrap
|
|
|
|
|
- - name: Print dependencies
|
|
|
|
|
- run: |
|
|
|
|
|
- echo -n "node " && node -v
|
|
|
|
|
- echo -n "npm " && npm -v
|
|
|
|
|
- yarn list --depth=0
|
|
|
|
|
-
|
|
|
|
|
- - name: lerna run lint for plugins
|
|
|
|
|
- run: |
|
|
|
|
|
- yarn lerna run lint --scope @growi/plugin-*
|
|
|
|
|
- - name: lerna run lint for app
|
|
|
|
|
- run: |
|
|
|
|
|
- yarn lerna run lint --scope @growi/app --scope @growi/core --scope @growi/ui
|
|
|
|
|
-
|
|
|
|
|
- - name: Slack Notification
|
|
|
|
|
- uses: weseek/ghaction-slack-notification@master
|
|
|
|
|
- if: failure()
|
|
|
|
|
- with:
|
|
|
|
|
- type: ${{ job.status }}
|
|
|
|
|
- job_name: '*Node CI for growi - lint (${{ matrix.node-version }})*'
|
|
|
|
|
- channel: '#ci'
|
|
|
|
|
- isCompactMode: true
|
|
|
|
|
- url: ${{ secrets.SLACK_WEBHOOK_URL }}
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
- test:
|
|
|
|
|
- runs-on: ubuntu-latest
|
|
|
|
|
-
|
|
|
|
|
- strategy:
|
|
|
|
|
- matrix:
|
|
|
|
|
- node-version: [16.x]
|
|
|
|
|
-
|
|
|
|
|
- services:
|
|
|
|
|
- mongodb:
|
|
|
|
|
- image: mongo:4.4
|
|
|
|
|
- ports:
|
|
|
|
|
- - 27017/tcp
|
|
|
|
|
-
|
|
|
|
|
- steps:
|
|
|
|
|
- - uses: actions/checkout@v2
|
|
|
|
|
-
|
|
|
|
|
- - uses: actions/setup-node@v2
|
|
|
|
|
- with:
|
|
|
|
|
- node-version: ${{ matrix.node-version }}
|
|
|
|
|
- cache: 'yarn'
|
|
|
|
|
- cache-dependency-path: '**/yarn.lock'
|
|
|
|
|
-
|
|
|
|
|
- - name: lerna bootstrap
|
|
|
|
|
- run: |
|
|
|
|
|
- npx lerna bootstrap
|
|
|
|
|
- - name: Print dependencies
|
|
|
|
|
- run: |
|
|
|
|
|
- echo -n "node " && node -v
|
|
|
|
|
- echo -n "npm " && npm -v
|
|
|
|
|
- yarn list --depth=0
|
|
|
|
|
-
|
|
|
|
|
- - name: yarn test
|
|
|
|
|
- working-directory: ./packages/app
|
|
|
|
|
- run: |
|
|
|
|
|
- yarn test
|
|
|
|
|
- env:
|
|
|
|
|
- MONGO_URI: mongodb://localhost:${{ job.services.mongodb.ports['27017'] }}/growi_test
|
|
|
|
|
-
|
|
|
|
|
- - name: Upload coverage report as artifact
|
|
|
|
|
- uses: actions/upload-artifact@v2
|
|
|
|
|
- with:
|
|
|
|
|
- name: Coverage Report
|
|
|
|
|
- path: packages/app/coverage
|
|
|
|
|
-
|
|
|
|
|
- - name: Slack Notification
|
|
|
|
|
- uses: weseek/ghaction-slack-notification@master
|
|
|
|
|
- if: failure()
|
|
|
|
|
- with:
|
|
|
|
|
- type: ${{ job.status }}
|
|
|
|
|
- job_name: '*Node CI for growi - test (${{ matrix.node-version }})*'
|
|
|
|
|
- channel: '#ci'
|
|
|
|
|
- isCompactMode: true
|
|
|
|
|
- url: ${{ secrets.SLACK_WEBHOOK_URL }}
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
- launch-dev:
|
|
|
|
|
- runs-on: ubuntu-latest
|
|
|
|
|
-
|
|
|
|
|
- strategy:
|
|
|
|
|
- matrix:
|
|
|
|
|
- node-version: [16.x]
|
|
|
|
|
-
|
|
|
|
|
- services:
|
|
|
|
|
- mongodb:
|
|
|
|
|
- image: mongo:4.4
|
|
|
|
|
- ports:
|
|
|
|
|
- - 27017/tcp
|
|
|
|
|
-
|
|
|
|
|
- steps:
|
|
|
|
|
- - uses: actions/checkout@v2
|
|
|
|
|
-
|
|
|
|
|
- - uses: actions/setup-node@v2
|
|
|
|
|
- with:
|
|
|
|
|
- node-version: ${{ matrix.node-version }}
|
|
|
|
|
- cache: 'yarn'
|
|
|
|
|
- cache-dependency-path: '**/yarn.lock'
|
|
|
|
|
-
|
|
|
|
|
- - name: lerna bootstrap
|
|
|
|
|
- run: |
|
|
|
|
|
- npx lerna bootstrap
|
|
|
|
|
- - name: Print dependencies
|
|
|
|
|
- run: |
|
|
|
|
|
- echo -n "node " && node -v
|
|
|
|
|
- echo -n "npm " && npm -v
|
|
|
|
|
- yarn list --depth=0
|
|
|
|
|
-
|
|
|
|
|
- - name: yarn dev:ci
|
|
|
|
|
- working-directory: ./packages/app
|
|
|
|
|
- run: |
|
|
|
|
|
- cp config/ci/.env.local.for-ci .env.development.local
|
|
|
|
|
- yarn dev:ci
|
|
|
|
|
- env:
|
|
|
|
|
- MONGO_URI: mongodb://localhost:${{ job.services.mongodb.ports['27017'] }}/growi_dev
|
|
|
|
|
-
|
|
|
|
|
- - name: Slack Notification
|
|
|
|
|
- uses: weseek/ghaction-slack-notification@master
|
|
|
|
|
- if: failure()
|
|
|
|
|
- with:
|
|
|
|
|
- type: ${{ job.status }}
|
|
|
|
|
- job_name: '*Node CI for growi - build-dev (${{ matrix.node-version }})*'
|
|
|
|
|
- channel: '#ci'
|
|
|
|
|
- isCompactMode: true
|
|
|
|
|
- url: ${{ secrets.SLACK_WEBHOOK_URL }}
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
- launch-prod:
|
|
|
|
|
- runs-on: ubuntu-latest
|
|
|
|
|
-
|
|
|
|
|
- strategy:
|
|
|
|
|
- matrix:
|
|
|
|
|
- node-version: [14.x, 16.x]
|
|
|
|
|
-
|
|
|
|
|
- services:
|
|
|
|
|
- mongodb:
|
|
|
|
|
- image: mongo:4.4
|
|
|
|
|
- ports:
|
|
|
|
|
- - 27017/tcp
|
|
|
|
|
-
|
|
|
|
|
- steps:
|
|
|
|
|
- - uses: actions/checkout@v2
|
|
|
|
|
-
|
|
|
|
|
- - uses: actions/setup-node@v2
|
|
|
|
|
- with:
|
|
|
|
|
- node-version: ${{ matrix.node-version }}
|
|
|
|
|
- cache: 'yarn'
|
|
|
|
|
- cache-dependency-path: '**/yarn.lock'
|
|
|
|
|
-
|
|
|
|
|
- - name: Remove unnecessary packages
|
|
|
|
|
- run: |
|
|
|
|
|
- rm -rf packages/slackbot-proxy
|
|
|
|
|
- - name: lerna bootstrap
|
|
|
|
|
- run: |
|
|
|
|
|
- npx lerna bootstrap
|
|
|
|
|
- - name: Print dependencies
|
|
|
|
|
- run: |
|
|
|
|
|
- echo -n "node " && node -v
|
|
|
|
|
- echo -n "npm " && npm -v
|
|
|
|
|
- yarn list --depth=0
|
|
|
|
|
- - name: Build
|
|
|
|
|
- run: |
|
|
|
|
|
- yarn lerna run build
|
|
|
|
|
- env:
|
|
|
|
|
- ANALYZE_BUNDLE_SIZE: ${{ matrix.node-version == '16.x' }}
|
|
|
|
|
- - name: lerna bootstrap --production
|
|
|
|
|
- run: |
|
|
|
|
|
- npx lerna bootstrap -- --production
|
|
|
|
|
- - name: Print dependencies
|
|
|
|
|
- run: |
|
|
|
|
|
- echo -n "node " && node -v
|
|
|
|
|
- echo -n "npm " && npm -v
|
|
|
|
|
- yarn list --production --depth=0
|
|
|
|
|
- - name: Get DB name
|
|
|
|
|
- id: getdbname
|
|
|
|
|
- run: |
|
|
|
|
|
- echo ::set-output name=suffix::$(echo '${{ matrix.node-version }}' | sed s/\\.//)
|
|
|
|
|
- - name: yarn server:ci
|
|
|
|
|
- working-directory: ./packages/app
|
|
|
|
|
- run: |
|
|
|
|
|
- cp config/ci/.env.local.for-ci .env.production.local
|
|
|
|
|
- yarn server:ci
|
|
|
|
|
- env:
|
|
|
|
|
- MONGO_URI: mongodb://localhost:${{ job.services.mongodb.ports['27017'] }}/growi-${{ steps.getdbname.outputs.suffix }}
|
|
|
|
|
-
|
|
|
|
|
- - name: Upload report as artifact
|
|
|
|
|
- uses: actions/upload-artifact@v2
|
|
|
|
|
- with:
|
|
|
|
|
- name: Bundle Analyzing Report
|
|
|
|
|
- path: packages/app/report/bundle-analyzer.html
|
|
|
|
|
-
|
|
|
|
|
- - name: Slack Notification
|
|
|
|
|
- uses: weseek/ghaction-slack-notification@master
|
|
|
|
|
- if: failure()
|
|
|
|
|
- with:
|
|
|
|
|
- type: ${{ job.status }}
|
|
|
|
|
- job_name: '*Node CI for growi - build-prod (${{ matrix.node-version }})*'
|
|
|
|
|
- channel: '#ci'
|
|
|
|
|
- isCompactMode: true
|
|
|
|
|
- url: ${{ secrets.SLACK_WEBHOOK_URL }}
|
|
|