Add sample remix app #8
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
# This workflow will build PRs submitted to the main branch. | |
name: 👷 PR Builder | |
on: | |
pull_request: | |
branches: [main] | |
paths-ignore: | |
- "**.md" | |
- "LICENSE" | |
workflow_dispatch: | |
# Avoid running multiple builds for the same PR. | |
concurrency: | |
group: pr-builder-${{ github.ref }} | |
cancel-in-progress: true | |
env: | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
jobs: | |
lint: | |
name: ⬣ ESLint (STATIC ANALYSIS) | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
node-version: [lts/*] | |
pnpm-version: [latest] | |
steps: | |
- name: ⬇️ Checkout | |
id: checkout | |
uses: actions/checkout@v2.3.3 | |
with: | |
# We need to fetch all branches and commits so that Nx affected has a base to compare against. | |
fetch-depth: 0 | |
- name: 🟢 Setup node | |
id: setup-node | |
uses: actions/setup-node@v2 | |
with: | |
node-version: ${{ matrix.node-version }} | |
- name: 🐳 Set SHAs for Nx | |
id: set-shas | |
uses: nrwl/nx-set-shas@v3 | |
with: | |
main-branch-name: "main" | |
- name: 🥡 Setup pnpm | |
id: setup-pnpm | |
uses: pnpm/action-setup@v2.1.0 | |
with: | |
version: ${{ matrix.pnpm-version }} | |
run_install: false | |
- name: 🎈 Get pnpm store directory | |
id: get-pnpm-cache-dir | |
run: | | |
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)" | |
- name: 🔆 Cache pnpm modules | |
uses: actions/cache@v3 | |
id: pnpm-cache | |
with: | |
path: ${{ steps.get-pnpm-cache-dir.outputs.pnpm_cache_dir }} | |
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} | |
restore-keys: | | |
${{ runner.os }}-pnpm-store- | |
- name: 🧩 Install Dependencies | |
id: install-dependencies | |
run: pnpm install | |
- name: 🦄 Lint All Files | |
id: lint-with-eslint | |
run: pnpm nx affected --target=lint --parallel=3 --base=${{ env.NX_BASE }} --head=${{ env.NX_HEAD }} | |
typecheck: | |
name: ʦ Typecheck (STATIC ANALYSIS) | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
node-version: [lts/*] | |
pnpm-version: [latest] | |
steps: | |
- name: ⬇️ Checkout | |
id: checkout | |
uses: actions/checkout@v2.3.3 | |
with: | |
# We need to fetch all branches and commits so that Nx affected has a base to compare against. | |
fetch-depth: 0 | |
- name: 🟢 Setup node | |
id: setup-node | |
uses: actions/setup-node@v2 | |
with: | |
node-version: ${{ matrix.node-version }} | |
- name: 🐳 Set SHAs for Nx | |
id: set-shas | |
uses: nrwl/nx-set-shas@v3 | |
with: | |
main-branch-name: "main" | |
- name: 🥡 Setup pnpm | |
uses: pnpm/action-setup@v2.1.0 | |
with: | |
version: ${{ matrix.pnpm-version }} | |
run_install: false | |
- name: 🎈 Get pnpm store directory | |
id: get-pnpm-cache-dir | |
run: | | |
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)" | |
- name: 🔆 Cache pnpm modules | |
uses: actions/cache@v3 | |
id: pnpm-cache | |
with: | |
path: ${{ steps.get-pnpm-cache-dir.outputs.pnpm_cache_dir }} | |
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} | |
restore-keys: | | |
${{ runner.os }}-pnpm-store- | |
- name: 🧩 Install Dependencies | |
id: install-dependencies | |
run: pnpm install | |
- name: ☄️ Check Type Errors | |
run: pnpm nx affected --target=typecheck --parallel=3 --base=${{ env.NX_BASE }} --head=${{ env.NX_HEAD }} | |
test: | |
name: 👾 Unit Test (TESTING) | |
# needs: [lint, typecheck] | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
node-version: [lts/*] | |
pnpm-version: [latest] | |
steps: | |
- name: ⬇️ Checkout | |
id: checkout | |
uses: actions/checkout@v2.3.3 | |
with: | |
# We need to fetch all branches and commits so that Nx affected has a base to compare against. | |
fetch-depth: 0 | |
- name: 🟢 Setup node | |
id: setup-node | |
uses: actions/setup-node@v2 | |
with: | |
node-version: ${{ matrix.node-version }} | |
- name: 🥡 Setup pnpm | |
uses: pnpm/action-setup@v2.1.0 | |
with: | |
version: ${{ matrix.pnpm-version }} | |
run_install: false | |
- name: 🎈 Get pnpm store directory | |
id: get-pnpm-cache-dir | |
run: | | |
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)" | |
- name: 🔆 Cache pnpm modules | |
uses: actions/cache@v3 | |
id: pnpm-cache | |
with: | |
path: ${{ steps.get-pnpm-cache-dir.outputs.pnpm_cache_dir }} | |
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} | |
restore-keys: | | |
${{ runner.os }}-pnpm-store- | |
- name: 🧩 Install Dependencies | |
id: install-dependencies | |
run: pnpm install | |
- name: 🃏 Run Jest & Collect Coverage | |
id: run-jest-test-and-coverage | |
run: pnpm test:ci | |
- name: Upload `@asgardeo/remix-auth-asgardeo` coverage reports to Codecov | |
id: upload-asgardeo-js-coverage | |
uses: codecov/codecov-action@v4.0.1 | |
with: | |
files: ./lib/coverage/coverage-final.json | |
flags: '@asgardeo/remix-auth-asgardeo' | |
token: ${{ secrets.CODECOV_TOKEN }} | |
build: | |
name: 🚧 Build | |
# needs: [ lint, typecheck, test ] | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
node-version: [lts/*] | |
pnpm-version: [latest] | |
steps: | |
- name: ⬇️ Checkout | |
id: checkout | |
uses: actions/checkout@v2.3.3 | |
- name: 🟢 Setup node | |
id: setup-node | |
uses: actions/setup-node@v2 | |
with: | |
node-version: ${{ matrix.node-version }} | |
- name: 🥡 Setup pnpm | |
uses: pnpm/action-setup@v2.1.0 | |
with: | |
version: ${{ matrix.pnpm-version }} | |
run_install: false | |
- name: 🎈 Get pnpm store directory | |
id: get-pnpm-cache-dir | |
run: | | |
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)" | |
- name: 🔆 Cache pnpm modules | |
uses: actions/cache@v3 | |
id: pnpm-cache | |
with: | |
path: ${{ steps.get-pnpm-cache-dir.outputs.pnpm_cache_dir }} | |
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} | |
restore-keys: | | |
${{ runner.os }}-pnpm-store- | |
- name: 🧩 Install Dependencies | |
id: install-dependencies | |
run: pnpm install | |
- name: 🏗️ Build | |
id: build | |
run: pnpm build |