name: PR on: pull_request: branches: [ "*" ] jobs: client-build: name: Client runs-on: ubuntu-latest defaults: run: working-directory: ./client steps: - name: Checkout code uses: actions/checkout@v2 - name: Setup Node uses: actions/setup-node@v2.1.5 with: node-version: 14.x - name: Get yarn cache directory path id: yarn-cache-dir-path run: echo "::set-output name=dir::$(yarn cache dir)" - name: cache node_modules uses: actions/cache@v2 with: path: ${{ steps.yarn-cache-dir-path.outputs.dir }} key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} restore-keys: | ${{ runner.os }}-yarn- - name: Installling dependencies if: steps.cache.outputs.cache-hit != 'true' run: yarn - name: Lint run: npx eslint --ext .svelte,.js,.ts --ignore-path .gitignore . - name: Formatting run: npx prettier --check --ignore-path .gitignore --plugin-search-dir=. "./**/*.(ts|json|js|svelte)" - name: Build run: yarn build env: VITE_SENTRY_DSN: https://examplePublicKey@o0.ingest.sentry.io/0 VITE_NODE_ENV: development - name: Initialize CodeQL uses: github/codeql-action/init@v1 with: languages: javascript - name: Perform CodeQL Analysis uses: github/codeql-action/analyze@v1 api-build: name: API runs-on: ubuntu-latest container: golang:1.16.6 services: postgres: image: postgres:13-alpine env: PGDATABASE: jokesbapak2 POSTGRES_DB: jokesbapak2 PGUSER: postgres POSTGRES_USER: postgres PGPASSWORD: password POSTGRES_PASSWORD: password options: >- --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 ports: - 5432:5432 redis: image: redis:6.2-alpine ports: - 6379:6379 defaults: run: working-directory: ./api steps: - name: Checkout code uses: actions/checkout@v2 - name: cache go modules uses: actions/cache@v2 with: path: ~/go/pkg/mod key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} restore-keys: | ${{ runner.os }}-go- - name: Installling dependencies if: steps.cache.outputs.cache-hit != 'true' run: go mod vendor - name: Build run: go build main.go - name: Run test & coverage run: go test -v -race -coverprofile=coverage.out -covermode=atomic ./... env: ENV: development PORT: 5000 DATABASE_URL: postgres://postgres:password@postgres:5432/jokesbapak2 REDIS_URL: redis://@redis:6379 - name: Initialize CodeQL uses: github/codeql-action/init@v1 with: languages: go - name: Perform CodeQL Analysis uses: github/codeql-action/analyze@v1