Skip to content

Upgrade password reset flow #699

Upgrade password reset flow

Upgrade password reset flow #699

Workflow file for this run

name: CI
on:
pull_request:
push:
branches: [main, develop]
workflow_dispatch:
jobs:
install:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: "18"
cache: "yarn"
- name: Install dependencies
run: yarn install --frozen-lockfile
- name: Cache install
uses: actions/cache@v2
with:
path: ./node_modules/
key: ${{ github.sha }}-install
- name: Cache Cypress
uses: actions/cache@v2
with:
path: ~/.cache/Cypress/
key: ${{ github.sha }}-cypress
code_style:
runs-on: ubuntu-latest
needs: install
steps:
- uses: actions/checkout@v2
- name: Retrive install cache
uses: actions/cache@v2
with:
path: ./node_modules/
key: ${{ github.sha }}-install
- name: prettier
run: yarn prettier:check
lint:
runs-on: ubuntu-latest
needs: install
steps:
- uses: actions/checkout@v2
- name: Retrive install cache
uses: actions/cache@v2
with:
path: ./node_modules/
key: ${{ github.sha }}-install
- name: eslint
run: yarn lint
setup_backend:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
path: "./bl-api"
repository: boklisten/bl-api
- name: Compile
run: |
cd bl-api
yarn install --frozen-lockfile
yarn build
- name: Cache backend
uses: actions/cache@v2
with:
path: ./bl-api/
key: ${{ github.sha }}-backend
build:
runs-on: ubuntu-latest
needs: [install, setup_backend]
steps:
- uses: actions/checkout@v2
- name: Retrive Install Cache
uses: actions/cache@v2
with:
path: ./node_modules/
key: ${{ github.sha }}-install
- name: Retrive Next cache
uses: actions/cache@v2
with:
path: ${{ github.workspace }}/.next/cache
# Generate a new cache whenever packages or source files change.
key: ${{ runner.os }}-nextjs-${{ hashFiles('**/yarn.lock') }}-${{ hashFiles('**.[jt]s', '**.[jt]sx') }}
# If source files changed but packages didn't, rebuild from a prior cache.
restore-keys: |
${{ runner.os }}-nextjs-${{ hashFiles('**/yarn.lock') }}-
- name: Retrive backend cache
uses: actions/cache@v2
with:
path: ./bl-api/
key: ${{ github.sha }}-backend
- name: Start MongoDB
uses: supercharge/mongodb-github-action@1.7.0
with:
mongodb-version: "4.4"
- name: Start backend
run: |
cd bl-api
yarn load_fixtures
yarn serve &
env:
PORT: 1337
BLAPI_HOST: localhost
BLAPI_PORT: 1337
MONGODB_URI: mongodb://localhost:27017/test
SERVER_PATH: /
NODE_ENV: dev
LOG_LEVEL: silly
URI_WHITELIST: localhost:3000 http://localhost:3000
ACCESS_TOKEN_SECRET: not_secret_at_all
BL_API_URI: http://localhost:1337/
CLIENT_URI: http://localhost:3000/
REFRESH_TOKEN_SECRET: not_the_prod_secret
DIBS_CHECKOUT_KEY: ${{ secrets.DIBS_CHECKOUT_KEY }}
DIBS_SECRET_KEY: ${{ secrets.DIBS_CHECKOUT_SECRET }}
DIBS_URI: https://test.api.dibspayment.eu/v1/
FACEBOOK_CLIENT_ID: 123
FACEBOOK_SECRET: 123
FEIDE_AUTHORIZATION_URL: https://auth.dataporten.no/oauth/authorization
FEIDE_CLIENT_ID: yello
FEIDE_SECRET: foo
FEIDE_TOKEN_URL: https://auth.dataporten.no/oauth/token
FEIDE_USER_INFO_URL: https://auth.dataporten.no/userinfo
GOOGLE_CLIENT_ID: totally_legit
GOOGLE_SECRET: nope
SENDGRID_API_KEY: foo
TWILIO_SMS_AUTH_TOKEN: foo
TWILIO_SMS_SID: ACfoo
TWILIO_STATUS_CALLBACK_URL: foo
BRING_API_KEY: ${{ secrets.BRING_API_KEY }}
BRING_API_ID: ${{ secrets.BRING_API_ID }}
- name: Build
run: yarn build
- name: Cache build
uses: actions/cache@v2
with:
path: ./.next/
key: ${{ github.sha }}-build
tests:
runs-on: ubuntu-latest
needs: [build]
strategy:
fail-fast: false
matrix:
containers: [1, 2, 3, 4]
steps:
- uses: actions/checkout@v2
- name: Retrive install cache
uses: actions/cache@v2
with:
path: ./node_modules/
key: ${{ github.sha }}-install
- name: Retrive Cypress cache
uses: actions/cache@v2
with:
path: ~/.cache/Cypress/
key: ${{ github.sha }}-cypress
- name: Retrive build cache
uses: actions/cache@v2
with:
path: ./.next/
key: ${{ github.sha }}-build
- name: Retrive backend cache
uses: actions/cache@v2
with:
path: ./bl-api/
key: ${{ github.sha }}-backend
- name: Start MongoDB
uses: supercharge/mongodb-github-action@1.7.0
with:
mongodb-version: "4.4"
- name: Start backend
run: |
cd bl-api
yarn load_fixtures
yarn serve &
env:
PORT: 1337
BLAPI_HOST: localhost
BLAPI_PORT: 1337
MONGODB_URI: mongodb://localhost:27017/test
SERVER_PATH: /
NODE_ENV: dev
LOG_LEVEL: silly
URI_WHITELIST: localhost:3000 http://localhost:3000
ACCESS_TOKEN_SECRET: not_secret_at_all
BL_API_URI: http://localhost:1337/
CLIENT_URI: http://localhost:3000/
REFRESH_TOKEN_SECRET: not_the_prod_secret
DIBS_CHECKOUT_KEY: ${{ secrets.DIBS_CHECKOUT_KEY }}
DIBS_SECRET_KEY: ${{ secrets.DIBS_CHECKOUT_SECRET }}
DIBS_URI: https://test.api.dibspayment.eu/v1/
FACEBOOK_CLIENT_ID: 123
FACEBOOK_SECRET: 123
FEIDE_AUTHORIZATION_URL: https://auth.dataporten.no/oauth/authorization
FEIDE_CLIENT_ID: yello
FEIDE_SECRET: foo
FEIDE_TOKEN_URL: https://auth.dataporten.no/oauth/token
FEIDE_USER_INFO_URL: https://auth.dataporten.no/userinfo
GOOGLE_CLIENT_ID: totally_legit
GOOGLE_SECRET: nope
SENDGRID_API_KEY: foo
TWILIO_SMS_AUTH_TOKEN: foo
TWILIO_SMS_SID: ACfoo
TWILIO_STATUS_CALLBACK_URL: foo
BRING_API_KEY: ${{ secrets.BRING_API_KEY }}
BRING_API_ID: ${{ secrets.BRING_API_ID }}
- name: Cypress run
uses: cypress-io/github-action@v5.3.1
with:
install: false
start: yarn serve
record: true
parallel: true
group: "UI - Electron"
env:
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
BRING_API_KEY: ${{ secrets.BRING_API_KEY }}
BRING_API_ID: ${{ secrets.BRING_API_ID }}