Skip to content

Update GitHub Actions configuration #48

Update GitHub Actions configuration

Update GitHub Actions configuration #48

Workflow file for this run

name: Build and Test
on:
merge_group:
workflow_dispatch:
pull_request:
branches:
- main
push:
branches:
- main
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
env:
NODE_VERSION: 18
CACHE_KEY: '${{ github.ref }}-${{ github.run_id }}-${{ github.run_attempt }}'
IMPORT_STATEMENT: |
import './auth0';
AUTH0_CONTENT: |
import { Auth0Client } from '@auth0/auth0-spa-js';
new Auth0Client({
domain: 'DOMAIN',
clientId: 'CLIENT_ID'
});
jobs:
test:
name: Build Package
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Build package
uses: ./.github/actions/build
with:
node: ${{ env.NODE_VERSION }}
- name: Save build artifacts
uses: actions/cache/save@v3
with:
path: .
key: ${{ env.CACHE_KEY }}
unit:
needs: test
name: Unit Tests
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'npm'
- name: Restore build artifacts
uses: actions/cache/restore@v3
with:
path: .
key: ${{ env.CACHE_KEY }}
- name: Run tests
run: npm run test -- --maxWorkers=2
- name: Upload coverage
uses: codecov/codecov-action@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d # [email protected]
gatsby:
needs: test
name: Gatsby Tests
runs-on: ubuntu-latest
env:
IMPORT_STATEMENT: |
import './../auth0';
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Run framework tests
uses: ./.github/actions/framework
with:
node: ${{ env.NODE_VERSION }}
cache: ${{ env.CACHE_KEY }}
install: |
npx gatsby new my-app < /dev/null
content: |
echo -e "${{ env.AUTH0_CONTENT }}" > src/auth0.js;
import: |
echo -e "${{ env.IMPORT_STATEMENT }}"|cat - src/pages/index.js > /tmp/out && mv /tmp/out src/pages/index.js;
react:
needs: test
name: React Tests
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Run framework tests
uses: ./.github/actions/framework
with:
node: ${{ env.NODE_VERSION }}
cache: ${{ env.CACHE_KEY }}
install: |
npx create-react-app my-app < /dev/null
content: |
echo -e "${{ env.AUTH0_CONTENT }}" > src/auth0.js;
import: |
echo -e "${{ env.IMPORT_STATEMENT }}"|cat - src/index.js > /tmp/out && mv /tmp/out src/index.js;
vue:
needs: test
name: Vue Tests
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Run framework tests
uses: ./.github/actions/framework
with:
node: ${{ env.NODE_VERSION }}
cache: ${{ env.CACHE_KEY }}
install: |
npx -p @vue/cli vue create my-app -d < /dev/null
content: |
echo -e "${{ env.AUTH0_CONTENT }}" > src/auth0.js;
import: |
echo -e "${{ env.IMPORT_STATEMENT }}"|cat - src/main.js > /tmp/out && mv /tmp/out src/main.js;
angular:
needs: test
name: Angular Tests
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Run framework tests
uses: ./.github/actions/framework
with:
node: ${{ env.NODE_VERSION }}
cache: ${{ env.CACHE_KEY }}
install: |
npx -p @angular/cli ng new my-app --defaults=true < /dev/null
content: |
echo -e "$AUTH0_CONTENT" > src/auth0.ts;
import: |
echo -e "${{ env.IMPORT_STATEMENT }}"|cat - src/main.ts > /tmp/out && mv /tmp/out src/main.ts;