ci: test with latest terraform #210
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Unit tests | |
on: | |
push: | |
branches: | |
- '*' | |
tags-ignore: | |
- '*.*' | |
pull_request: | |
jobs: | |
unit-test: | |
name: Unit tests with Node.js v${{ matrix.node }} | |
runs-on: ubuntu-latest | |
services: | |
mysql: | |
image: mysql:5.7 | |
env: | |
MYSQL_ROOT_PASSWORD: citizen | |
MYSQL_DATABASE: citizen | |
ports: | |
- 3306:3306 | |
strategy: | |
matrix: | |
node: | |
- 16 | |
- 18 | |
- 19 | |
env: | |
CITIZEN_DATABASE_TYPE: sqlite | |
CITIZEN_DATABASE_URL: file:./dev.db | |
CITIZEN_STORAGE: file | |
CITIZEN_STORAGE_PATH: /tmp/citizen | |
CITIZEN_ADDR: http://127.0.0.1:3000 | |
CITIZEN_STORAGE_BUCKET: kr.ne.outsider.test | |
AWS_ACCESS_KEY_ID: ooooo | |
AWS_SECRET_ACCESS_KEY: xxxxx | |
AWS_REGION: ap-northeast-1 | |
DEBUG: 'citizen:*' | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: isbang/[email protected] | |
with: | |
compose-file: "./test/docker-compose-mongodb-cluster.yaml" | |
- name: Import GPG key | |
id: import_gpg | |
uses: crazy-max/ghaction-import-gpg@v5 | |
with: | |
gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }} | |
passphrase: ${{ secrets.PASSPHRASE }} | |
- name: GPG user IDs | |
run: | | |
echo "fingerprint: ${{ steps.import_gpg.outputs.fingerprint }}" | |
echo "keyid: ${{ steps.import_gpg.outputs.keyid }}" | |
echo "name: ${{ steps.import_gpg.outputs.name }}" | |
echo "email: ${{ steps.import_gpg.outputs.email }}" | |
- name: Use Node.js ${{ matrix.node }} | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node }} | |
- name: 'Cache node_modules' | |
uses: actions/cache@v3 | |
with: | |
path: '~/.npm' | |
key: ${{ runner.os }}-node-v${{ matrix.node }}-210321-${{ hashFiles('**/package-lock.json') }} }} | |
restore-keys: | | |
${{ runner.os }}-node-v${{ matrix.node }}-210321- | |
- run: npm ci | |
- name: Generating DB clients | |
run: | | |
npm run client:sqlite | |
npm run client:mongodb | |
npm run client:mysql | |
- name: linting | |
run: npm run lint | |
- name: SQLite migration | |
run: npm run migrate:sqlite | |
env: | |
CITIZEN_DATABASE_TYPE: sqlite | |
CITIZEN_DATABASE_URL: file:./dev.db | |
- name: MySQL migration | |
run: npm run migrate:mysql | |
env: | |
CITIZEN_DATABASE_TYPE: mysql | |
CITIZEN_DATABASE_URL: mysql://root:[email protected]:3306/citizen | |
- name: unit test | |
run: npm run test:unit -- --forbid-only |