Skip to content

Convert security settings and decision review to typescript #2017

Convert security settings and decision review to typescript

Convert security settings and decision review to typescript #2017

Workflow file for this run

name: Default Testing
on:
pull_request:
branches: [dev, main, release*]
push:
branches: [dev, main]
jobs:
lint:
name: Lint Check
runs-on: ubuntu-latest
steps:
- name: Checkout 🔔
uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 20.x
- name: Install
run: npm install
env:
CI: true
- name: Linting
run: npm run lint
unit:
name: Jest Unit Test
runs-on: ubuntu-latest
steps:
- name: Checkout 🔔
uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 20.x
- name: Install
run: npm install
env:
CI: true
- name: Unit Tests 🧪
run: npm run test:coverage -- -u
env:
CI: true
AUTH_DISABLED: true
- name: Store Results
uses: actions/upload-artifact@v3
with:
name: unit-test-results
path: coverage
e2e:
name: Cypress E2E Test
runs-on: ubuntu-latest
steps:
- name: Checkout 🔔
uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 20.x
- name: Install
run: npm install
env:
CI: true
- name: Build
run: npm run build
env:
CI: true
AEM_GRAPHQL_ENDPOINT: ${{secrets.AEM_GRAPHQL_ENDPOINT}}
AUTH_DISABLED: true
- name: Cypress end-to-end 🧪
uses: cypress-io/github-action@v6
env:
CI: true
NODE_ENV: production
AEM_GRAPHQL_ENDPOINT: ${{secrets.AEM_GRAPHQL_ENDPOINT}}
NEXTAUTH_SECRET: ${{secrets.NEXTAUTH_SECRET}}
NEXTAUTH_URL: ${{secrets.NEXTAUTH_URL}}
CLIENT_SECRET: ${{secrets.CLIENT_SECRET}}
CLIENT_ID: ${{secrets.CLIENT_ID}}
AUTH_ECAS_BASE_URL: ${{secrets.AUTH_ECAS_BASE_URL}}
AUTH_ECAS_WELL_KNOWN: ${{secrets.AUTH_ECAS_WELL_KNOWN}}
AUTH_ECAS_AUTHORIZATION: ${{secrets.AUTH_ECAS_AUTHORIZATION}}
AUTH_ECAS_USERINFO: ${{secrets.AUTH_ECAS_USERINFO}}
AUTH_PRIVATE: ${{secrets.AUTH_PRIVATE}}
AUTH_ECAS_GLOBAL_LOGOUT_URL: ${{secrets.AUTH_ECAS_GLOBAL_LOGOUT_URL}}
AUTH_DISABLED: true
with:
install: false
start: npm run start:next
browser: chrome
- name: Merge test results into one
run: npm run report:merge
- name: Generate HTML report
run: npm run report:generate
- name: Store Results
uses: actions/upload-artifact@v4
with:
name: e2e-test-report
path: report
codeql:
name: Code QL Analysis
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write
strategy:
fail-fast: false
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: 'javascript'
- name: Autobuild
uses: github/codeql-action/autobuild@v3
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
deploy_test_results:
name: Get and Deploy Artifacts
if: ${{ github.actor != 'dependabot[bot]' }}
needs: [unit, e2e]
runs-on: ubuntu-latest
#dependabot doesn't get write access
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
with:
path: test_results
env:
CI: true
- name: Deploy Report 🚀
if: github.event_name == 'pull_request'
uses: JamesIves/github-pages-deploy-action@v4
with:
target-folder: ${{ github.ref }} #source branch
folder: test_results
- name: Deploy Report if push 🚀
if: github.event_name != 'pull_request'
uses: JamesIves/github-pages-deploy-action@v4
with:
target-folder: ${{ github.ref_name }}/ #target branch of the PR run will be the folder name used for gh-pages
branch: gh-pages
folder: test_results
clean: false