Skip to content

Updates to workflows #1

Updates to workflows

Updates to workflows #1

Workflow file for this run

name: Build and Test
on:
merge_group:
workflow_dispatch:
pull_request_target:
types:
- opened
- synchronize
push:
branches:
- master
permissions:
contents: read
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:
authorize:
name: Authorize
environment: ${{ github.event_name == 'pull_request_target' && github.event.pull_request.head.repo.full_name != github.repository && 'external' || 'internal' }}
runs-on: ubuntu-latest
steps:
- run: true
test:
needs: authorize # Require approval before running on forked pull requests
name: Unit Tests
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Build package
uses: ./.github/actions/build
with:
node: ${{ env.NODE_VERSION }}
tests: 'true'
browserstack-accesskey: ${{ secrets.BROWSERSTACK_ACCESSKEY }}
browserstack-username: ${{ secrets.BROWSERSTACK_USERNAME }}
- name: Save build artifacts
uses: actions/cache/save@v3
with:
path: |
dist
key: ${{ env.CACHE_KEY }}
- name: Upload coverage
uses: codecov/codecov-action@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d # [email protected]
gatsby:
needs: test
name: Gatsby
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
path: 'spa-js'
- 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
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
path: 'spa-js'
- 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
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
path: 'spa-js'
- 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
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
path: 'spa-js'
- 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;