Skip to content

feat(auth): Take Over bl-web and bl-admin Authentication #831

feat(auth): Take Over bl-web and bl-admin Authentication

feat(auth): Take Over bl-web and bl-admin Authentication #831

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@v4
- uses: actions/setup-node@v4
with:
node-version: "20"
cache: "yarn"
- name: Install dependencies
run: yarn install --frozen-lockfile
- name: Cache install
uses: actions/cache@v4
with:
path: ./node_modules/
key: ${{ github.sha }}-install
- name: Cache Cypress
uses: actions/cache@v4
with:
path: ~/.cache/Cypress/
key: ${{ github.sha }}-cypress
code_style:
runs-on: ubuntu-latest
needs: install
steps:
- uses: actions/checkout@v4
- name: Retrive install cache
uses: actions/cache@v4
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@v4
- name: Retrive install cache
uses: actions/cache@v4
with:
path: ./node_modules/
key: ${{ github.sha }}-install
- name: eslint
run: yarn lint
# setup_backend:
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v4
# 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@v4
# with:
# path: ./bl-api/
# key: ${{ github.sha }}-backend
build:
runs-on: ubuntu-latest
needs: [install] #, setup_backend]
steps:
- uses: actions/checkout@v4
- name: Retrive Install Cache
uses: actions/cache@v4
with:
path: ./node_modules/
key: ${{ github.sha }}-install
- name: Retrive Next cache
uses: actions/cache@v4
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@v4
# with:
# path: ./bl-api/
# key: ${{ github.sha }}-backend
# - name: Start MongoDB
# uses: supercharge/[email protected]
# with:
# mongodb-version: "7.0"
# - 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@v4
with:
path: ./.next/
key: ${{ github.sha }}-build
env:
NEXT_PUBLIC_API_URL: https://staging.api.boklisten.no/
NEXT_PUBLIC_BL_WEB_URL: https://staging.boklisten.no/
NEXT_PUBLIC_BL_ADMIN_URL: https://staging.bladmin.boklisten.no/
# tests:
# runs-on: ubuntu-latest
# needs: [build]
# strategy:
# fail-fast: false
# matrix:
# containers: [1, 2, 3, 4]
# steps:
# - uses: actions/checkout@v4
# - name: Retrive install cache
# uses: actions/cache@v4
# with:
# path: ./node_modules/
# key: ${{ github.sha }}-install
# - name: Retrive Cypress cache
# uses: actions/cache@v4
# with:
# path: ~/.cache/Cypress/
# key: ${{ github.sha }}-cypress
# - name: Retrive build cache
# uses: actions/cache@v4
# with:
# path: ./.next/
# key: ${{ github.sha }}-build
# - name: Retrive backend cache
# uses: actions/cache@v4
# with:
# path: ./bl-api/
# key: ${{ github.sha }}-backend
# - name: Start MongoDB
# uses: supercharge/[email protected]
# 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/[email protected]
# 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 }}