Updates to workflows #2
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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; |