Further testing of GitHub Actions (#342)

* Start the server before Cypress starts running

* GitHub Actions: write sample patrons.json file

* Add Postgres

* Run npm prep commands

* Install Node and dependencies

* Add prettier check to CI

* Omit patrons.json from prettier

* Save Cypress output

* Save Cypress output

* Fix artifact path

* Try loading .json instead of .js, in case that helps
This commit is contained in:
Ryan Laughlin
2021-04-05 10:37:47 -04:00
committed by GitHub
parent 9ec08820e8
commit 369911277b
4 changed files with 45 additions and 4 deletions

View File

@@ -5,8 +5,45 @@ 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 && 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

View File

@@ -2,3 +2,6 @@
prisma/scripts/data
prisma/scripts/mongo
# Ignore JSON files generated via script
utils/data/patrons.json

View File

@@ -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",

View File

@@ -8,8 +8,8 @@ i18n.loadLocaleData("en", { plurals: en });
*/
export async function activateLocale(locale: string) {
const [{ messages }, { messages: gameMessages }] = await Promise.all([
import(`locale/${locale}/messages.js`),
import(`locale/${locale}/game.js`),
import(`locale/${locale}/messages.json`),
import(`locale/${locale}/game.json`),
]);
i18n.load(locale, { ...messages, ...gameMessages });
i18n.activate(locale);