Skip to content

Merge pull request #716 from DTS-STN/GjB/dependabot-config #1606

Merge pull request #716 from DTS-STN/GjB/dependabot-config

Merge pull request #716 from DTS-STN/GjB/dependabot-config #1606

Workflow file for this run

name: Default Testing
on:
pull_request:
branches: [main]
push:
branches: [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: 18.x
- name: Install
run: npm install
env:
CI: true
- name: Linting
run: npm run lint
- name: TypeScript Validation
run: npm run tsc:validate
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: 18.x
- name: Install
run: npm install
env:
CI: true
- name: Unit Tests 🧪
run: npm run test:coverage -- -u
env:
CI: true
- name: Store Results
uses: actions/upload-artifact@v4
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: 18.x
- name: Install
run: npm install
env:
CI: true
- name: Build
run: npm run build
env:
CI: true
- name: Cypress end-to-end 🧪
uses: cypress-io/github-action@v6
env:
CI: true
NODE_ENV: production
with:
install: false
start: npm run start
- 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 🚀
uses: JamesIves/github-pages-deploy-action@v4
with:
target-folder: ${{ github.ref }}
folder: test_results