name: Nocobase test on: [push] jobs: test: strategy: matrix: node_version: ['12'] runs-on: ubuntu-latest container: node:${{ matrix.node_version }} services: # Label used to access the service container postgres: # Docker Hub image image: postgres:10 # Provide the password for postgres env: POSTGRES_USER: nocobase POSTGRES_PASSWORD: password # Set health checks to wait until postgres has started options: >- --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 mysql: image: mysql:8 env: MYSQL_ROOT_PASSWORD: password MYSQL_DATABASE: nocobase options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 steps: - uses: actions/checkout@v2 - name: Use Node.js ${{ matrix.node_version }} uses: actions/setup-node@v2 with: node-version: ${{ matrix.node_version }} cache: 'yarn' - run: yarn install - run: yarn bootstrap - run: yarn build - name: Test with postgres run: yarn test -i env: DB_DIALECT: postgres DB_HOST: postgres DB_PORT: 5432 DB_USER: nocobase DB_PASSWORD: password DB_DATABASE: nocobase - name: Test with Sqlite run: yarn test -i env: DB_DIALECT: sqlite DB_STORAGE: ":memory:" - name: Test with MySQL run: yarn test -i env: DB_DIALECT: mysql DB_HOST: mysql DB_PORT: 3306 DB_USER: root DB_PASSWORD: password DB_DATABASE: nocobase