core/.github/workflows/testing.yml

100 lines
2.8 KiB
YAML

name: CI
on:
push:
branches:
- 'master'
- 'stable'
pull_request:
branches:
- '*'
jobs:
eslint:
name: ESLint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: install node v14
uses: actions/setup-node@v2
with:
node-version: 14
- name: yarn install
run: yarn install
- name: run eslint
run: yarn lint
env:
CI: true
test:
name: Run Test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: install node v14
uses: actions/setup-node@v2
with:
node-version: 14
- name: yarn install
run: yarn install
- name: Setup MySQL
uses: getong/mariadb-action@v1.1
with:
mysql database: 'discordbots'
mysql root password: 'test'
- name: Wait for MySQL
run: |
while ! mysqladmin ping --host=127.0.0.1 --password=test --silent; do
sleep 1
done
- name: Run Jest
run: yarn test
- name: Generate RSA Key Pair
run: |
ssh-keygen -b 2048 -t rsa -f key -q -P ""
ssh-keygen -b 2048 -e -m pem -f key -q -P "" > private.key
mv key public.pem
rm key.pub
- name: Setup environments
run: |
mv .env.demo.local .env.production.local
printf 'MARIADB_ROOT_PASSWORD=YOUSHALLNOTPASS\nCOMMIT_HASH=${{ github.sha }}' > .env
- name: Create needed files
run: echo '{"tester":"DEMO_KEY"}' > secret.json
- name: Build
run: yarn build
env:
NEXT_PUBLIC_SENTRY_SERVER_ROOT_DIR: ./api
SENTRY_ORG: koreanbots
SENTRY_PROJECT: v2
SENTRY_DSN: ${{ secrets.SENTRY_DSN }}
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
SOURCE_BRANCH: ${{ github.event_name == 'push' && github.head_ref || null }}
SOURCE_COMMIT: ${{ github.sha }}
CI: true
# docker:
# needs:
# - eslint
# - build
# - test
# name: Docker Image CI
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v2
# - name: install node v14
# uses: actions/setup-node@v1
# with:
# node-version: 14
# - name: Generate RSA Key Pair
# run: |
# ssh-keygen -b 2048 -t rsa -f key -q -P ""
# ssh-keygen -b 2048 -e -m pem -f key -q -P "" > private.key
# mv key public.pem
# rm key.pub
# - name: Setup environments
# run: |
# mv .env.demo.local .env.production.local
# printf 'MARIADB_ROOT_PASSWORD=YOUSHALLNOTPASS\nCOMMIT_HASH=${{ github.sha }}' > .env
# - name: Create needed files
# run: echo '{"tester":"DEMO_KEY"}' > secret.json
# - name: Docker Compose
# run: docker-compose up -d