From cba5f4db834bc031f25d72c89bca8a26bad08ead Mon Sep 17 00:00:00 2001 From: Ryan Laughlin Date: Wed, 7 Apr 2021 18:04:37 -0400 Subject: [PATCH] Re-enable GitHub Actions (#369) * Re-enable GitHub Actions * Run prettier * Try running all build steps during GitHub Actions * Skip running 'next build' maybe? * Tell prettier to ignore exported locale files --- .github/dependabot.yml | 2 +- .github/workflows/ci.yml | 43 ++++++++++++++++++++++++++++++++++++++-- .prettierignore | 4 ++++ package.json | 1 + 4 files changed, 47 insertions(+), 3 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 9ddf2c3cc..d1f0d0851 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,6 +1,6 @@ version: 2 updates: - - package-ecosystem: "npm" + - package-ecosystem: "npm" directory: "/" schedule: interval: "daily" diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 61c268cc2..2883bd438 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -5,8 +5,47 @@ jobs: cypress-run: name: Cypress tests runs-on: ubuntu-latest + services: + postgres: + image: postgres + env: + POSTGRES_PASSWORD: password + POSTGRES_USER: sendou_ink + ports: + - 5432:5432 + # Set health checks to wait until postgres has started + options: >- + --health-cmd pg_isready + --health-interval 10s + --health-timeout 5s + --health-retries 5 steps: - - name: Checkout + - name: Check out code uses: actions/checkout@25a956c84d5dd820d28caab9f86b8d183aeeff3d # v2 - - name: Cypress run + - name: Install Node + uses: actions/setup-node@5c355be17065acf11598c7a9bb47112fbcf2bbdc # v2 + with: + node-version: "14" + - name: Install dependencies + run: npm install + - name: Write .env file for Prisma + run: echo "DATABASE_URL=postgresql://sendou_ink:password@localhost:${{ job.services.postgres.ports[5432] }}" > prisma/.env + - name: Prep the database + run: npm run migrate + - name: Prep other resources + run: npm run compile && npm run prebuild + - name: Run prettier + run: npm run prettier:check + - name: Run Cypress uses: cypress-io/github-action@9eab5368cd2520a946489cd3f937583ff5a30443 # v2 + with: + start: npm run dev + - name: Save Cypress artifacts + uses: actions/upload-artifact@ea3d524381d563437a7d64af63f3d75ca55521c4 # v2 + if: failure() + with: + name: cypress-outputs + path: | + cypress/screenshots/* + cypress/videos/* + retention-days: 30 diff --git a/.prettierignore b/.prettierignore index df73e95cc..c7d355780 100644 --- a/.prettierignore +++ b/.prettierignore @@ -2,3 +2,7 @@ prisma/scripts/data prisma/scripts/mongo + +# Ignore JSON files generated via script +utils/data/patrons.json +locale/*/*.js diff --git a/package.json b/package.json index 49952c385..19b9f9ab4 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,7 @@ "compile": "lingui compile", "restore": "pg_restore -d 'postgresql://sendou@localhost:5432/dev' --jobs 4 dumped.sql --clean", "seed": "prisma db seed --preview-feature", + "prettier:check": "prettier --check .", "prettier:format": "prettier --write .", "cy:open": "cypress open", "cy:run": "cypress run",