Skip to content

Fix to generate proper usernameLabel when both email as username and multi attribute login enabled #11630

Fix to generate proper usernameLabel when both email as username and multi attribute login enabled

Fix to generate proper usernameLabel when both email as username and multi attribute login enabled #11630

Workflow file for this run

# This workflow will build PRs submitted to the master branch.
name: PR Builder
on:
pull_request:
types: [ opened, synchronize, labeled ]
branches: [ master ]
paths-ignore:
- "**.md"
- "LICENSE"
# 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)
if: ${{ github.event_name == 'pull_request' || github.event.label.name == 'trigger-pr-builder' }}
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [ lts/* ]
pnpm-version: [ 8.7.4 ]
steps:
- name: ⬇️ Checkout
id: checkout
uses: actions/[email protected]
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: "master"
- name: πŸ₯‘ Setup pnpm
id: setup-pnpm
uses: pnpm/[email protected]
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 Changed Files
id: lint-changed-with-eslint
working-directory: .github/workflows
run: |
bash ./scripts/lint-changed.sh ${{ github.event.pull_request.number }}
# Temporarily disable linting all files as it is failing intermittently.
# - name: ⏳ Lint All Files
# id: lint-with-eslint
# run: pnpm nx affected --base=${{ env.NX_BASE }} --head=${{ env.NX_HEAD }} --plain --target=lint --parallel=3
typecheck:
name: Κ¦ Typecheck (STATIC ANALYSIS)
if: ${{github.event.label.name == 'trigger-pr-builder' || github.event_name == 'pull_request'}}
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [ lts/* ]
pnpm-version: [ 8.7.4 ]
steps:
- name: ⬇️ Checkout
id: checkout
uses: actions/[email protected]
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: "master"
- name: πŸ₯‘ Setup pnpm
uses: pnpm/[email protected]
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 Re-usable Modules
id: build-reusable-modules
run: pnpm build:modules
- name: β˜„οΈ Check Type Errors
run: pnpm nx affected --base=${{ env.NX_BASE }} --head=${{ env.NX_HEAD }} --plain --target=typecheck --parallel=3
test:
name: πŸ‘Ύ Unit Test (TESTING)
needs: [ typecheck ]
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [ lts/* ]
pnpm-version: [ 8.7.4 ]
steps:
- name: ⬇️ Checkout
id: checkout
uses: actions/[email protected]
- name: 🟒 Setup node
id: setup-node
uses: actions/setup-node@v2
with:
node-version: ${{ matrix.node-version }}
- name: πŸ₯‘ Setup pnpm
uses: pnpm/[email protected]
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 Re-usable Modules
id: build-reusable-modules
run: pnpm build:modules
- name: πŸƒ Run Jest & Collect Coverage
id: run-jest-test-and-coverage
# TODO: Update the command to "test:unit:coverage" once the coverage command related issues
# are sorted out
run: pnpm test:unit
- name: πŸ€– Aggregate Test Coverage
# TODO: Enable this step once the coverage command related issues are fixed
if: false
id: aggregate-coverage-reports
run: |
pnpm test:unit:coverage:aggregate
pnpm nyc:text-summary-report
pnpm nyc:text-report
build:
name: 🚧 Build
needs: [ test, typecheck ]
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [ lts/* ]
maven-version: [ 3.8.6 ]
java-version: [ 11 ]
pnpm-version: [ 8.7.4 ]
steps:
- name: ⬇️ Checkout
id: checkout
uses: actions/[email protected]
- name: 🟒 Setup node
id: setup-node
uses: actions/setup-node@v2
with:
node-version: ${{ matrix.node-version }}
- name: β˜• Set up JDK 11
id: jdk-setup
uses: actions/setup-java@v3
with:
java-version: ${{ matrix.java-version }}
distribution: "adopt"
cache: maven
- name: 🦩 Set up Maven
uses: stCarolas/setup-maven@v4
id: mvn-setup
with:
maven-version: ${{ matrix.maven-version }}
- name: πŸ₯‘ Setup pnpm
uses: pnpm/[email protected]
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: πŸ‘· PNPM Build
id: build-with-pnpm
run: pnpm build
- name: πŸ—οΈ Maven Build identity-apps-core
id: build-with-maven
run: |
cd identity-apps-core
mvn clean install -U -Dlint.exec.skip=true -Dbootstrap.exec.skip=true
- name: πŸ’Ύ Cache local Maven repository
id: cache-maven-m2
uses: actions/cache@v2
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-