Skip to content

docs: added new entry #22726

docs: added new entry

docs: added new entry #22726

Workflow file for this run

---
name: Default Pipeline
permissions:
contents: write
actions: write
pull-requests: write
on:
pull_request:
push:
branches:
- "main"
# We'd like to run the pipeline for Dependabot PRs sequentially, and all other PRs in parallel, but still only one action run for each PR.
concurrency:
group: >-
${{
github.actor == 'dependabot[bot]' &&
'dependabot' ||
format('{0}-{1}', github.workflow, github.ref)
}}
cancel-in-progress: >-
${{
github.actor != 'dependabot[bot]' &&
github.ref != 'refs/heads/main'
}}
jobs:
init:
uses: ./.github/workflows/00-init.yml
secrets: inherit
lint:
uses: ./.github/workflows/01-lint-test.yml
needs: [init]
cancel-on-failure-lint:
if: ${{ !cancelled() && needs.lint.result == 'failure' }}
uses: ./.github/workflows/00-cancel-workflow.yml
secrets: inherit
needs: [lint]
build-packages:
uses: ./.github/workflows/01-build-packages.yml
needs: [init]
cancel-on-failure-build-packages:
if: ${{ !cancelled() && needs.build-packages.result == 'failure' }}
uses: ./.github/workflows/00-cancel-workflow.yml
secrets: inherit
needs: [build-packages]
init-playwright:
uses: ./.github/workflows/01-init-playwright.yml
needs: [init]
with:
version: ${{ needs.init.outputs.playwrightVersion }}
build-outputs:
uses: ./.github/workflows/01-build-outputs.yml
needs: [build-packages]
cancel-on-failure-build-outputs:
if: ${{ !cancelled() && needs.build-outputs.result == 'failure' }}
uses: ./.github/workflows/00-cancel-workflow.yml
secrets: inherit
needs: [build-outputs]
test-components:
uses: ./.github/workflows/02-e2e.yml
needs: [build-packages, init]
with:
version: ${{ needs.init.outputs.playwrightVersion }}
test-foundations:
uses: ./.github/workflows/02-e2e-foundations.yml
needs: [build-packages, init]
with:
version: ${{ needs.init.outputs.playwrightVersion }}
build-storybook-composition:
uses: ./.github/workflows/01-build-storybooks.yml
needs: [build-packages, init]
with:
storybook: composition-storybook
baseUrl: ${{ needs.init.outputs.baseUrl }}
build-storybook-angular:
uses: ./.github/workflows/01-build-storybooks.yml
needs: [build-packages, init]
with:
storybook: angular-storybook
baseUrl: ${{ needs.init.outputs.baseUrl }}
build-storybook-react:
uses: ./.github/workflows/01-build-storybooks.yml
needs: [build-packages, init]
with:
storybook: react-storybook
baseUrl: ${{ needs.init.outputs.baseUrl }}
build-storybook-vue:
uses: ./.github/workflows/01-build-storybooks.yml
needs: [build-packages, init]
with:
storybook: vue-storybook
baseUrl: ${{ needs.init.outputs.baseUrl }}
build-showcase-stencil:
uses: ./.github/workflows/01-build-showcases.yml
needs: [build-packages, init]
secrets: inherit
with:
showcase: stencil-showcase
cancel-on-failure-build-showcase-stencil:
if: ${{ !cancelled() && needs.build-showcase-stencil.result == 'failure' }}
uses: ./.github/workflows/00-cancel-workflow.yml
secrets: inherit
needs: [build-showcase-stencil]
build-showcase-angular:
uses: ./.github/workflows/01-build-showcases.yml
needs: [build-packages]
secrets: inherit
with:
showcase: angular-showcase
cancel-on-failure-build-showcase-angular:
if: ${{ !cancelled() && needs.build-showcase-angular.result == 'failure' }}
uses: ./.github/workflows/00-cancel-workflow.yml
secrets: inherit
needs: [build-showcase-angular]
build-showcase-angular-ssr:
uses: ./.github/workflows/01-build-showcases.yml
needs: [build-packages]
secrets: inherit
with:
showcase: angular-ssr-showcase
cancel-on-failure-build-showcase-angular-ssr:
if: ${{ !cancelled() && needs.build-showcase-angular-ssr.result == 'failure' }}
uses: ./.github/workflows/00-cancel-workflow.yml
secrets: inherit
needs: [build-showcase-angular-ssr]
build-showcase-react:
uses: ./.github/workflows/01-build-showcases.yml
needs: [build-packages]
secrets: inherit
with:
showcase: react-showcase
cancel-on-failure-build-showcase-react:
if: ${{ !cancelled() && needs.build-showcase-react.result == 'failure' }}
uses: ./.github/workflows/00-cancel-workflow.yml
secrets: inherit
needs: [build-showcase-react]
build-showcase-next:
uses: ./.github/workflows/01-build-showcases.yml
needs: [build-packages]
secrets: inherit
with:
showcase: next-showcase
cancel-on-failure-build-showcase-next:
if: ${{ !cancelled() && needs.build-showcase-next.result == 'failure' }}
uses: ./.github/workflows/00-cancel-workflow.yml
secrets: inherit
needs: [build-showcase-next]
build-showcase-vue:
uses: ./.github/workflows/01-build-showcases.yml
needs: [build-packages]
secrets: inherit
with:
showcase: vue-showcase
cancel-on-failure-build-showcase-vue:
if: ${{ !cancelled() && needs.build-showcase-vue.result == 'failure' }}
uses: ./.github/workflows/00-cancel-workflow.yml
secrets: inherit
needs: [build-showcase-vue]
build-showcase-nuxt:
uses: ./.github/workflows/01-build-showcases.yml
needs: [build-packages]
secrets: inherit
with:
showcase: nuxt-showcase
cancel-on-failure-build-showcase-nuxt:
if: ${{ !cancelled() && needs.build-showcase-nuxt.result == 'failure' }}
uses: ./.github/workflows/00-cancel-workflow.yml
secrets: inherit
needs: [build-showcase-nuxt]
build-showcase-patternhub:
uses: ./.github/workflows/01-build-patternhub.yml
needs: [build-packages, init]
with:
baseUrl: ${{ needs.init.outputs.baseUrl }}
secrets: inherit
cancel-on-failure-build-showcase-patternhub:
if: ${{ !cancelled() && needs.build-showcase-patternhub.result == 'failure' }}
uses: ./.github/workflows/00-cancel-workflow.yml
secrets: inherit
needs: [build-showcase-patternhub]
test-showcase-stencil:
uses: ./.github/workflows/02-e2e-showcases.yml
needs: [build-showcase-stencil, init]
with:
version: ${{ needs.init.outputs.playwrightVersion }}
showcase: stencil-showcase
test-ally: ${{ needs.init.outputs.test-ally }}
test-showcase-angular:
uses: ./.github/workflows/02-e2e-showcases.yml
needs: [build-showcase-angular, init]
with:
version: ${{ needs.init.outputs.playwrightVersion }}
showcase: angular-showcase
test-ally: ${{ needs.init.outputs.test-ally }}
test-showcase-react:
uses: ./.github/workflows/02-e2e-showcases.yml
needs: [build-showcase-react, init]
with:
version: ${{ needs.init.outputs.playwrightVersion }}
showcase: react-showcase
test-ally: ${{ needs.init.outputs.test-ally }}
test-showcase-vue:
uses: ./.github/workflows/02-e2e-showcases.yml
needs: [build-showcase-vue, init]
with:
version: ${{ needs.init.outputs.playwrightVersion }}
showcase: vue-showcase
test-ally: ${{ needs.init.outputs.test-ally }}
test-showcase-patternhub:
uses: ./.github/workflows/02-e2e-patternhub.yml
needs: [build-showcase-patternhub, init, init]
with:
version: ${{ needs.init.outputs.playwrightVersion }}
baseUrl: ${{ needs.init.outputs.baseUrl }}
regenerate-snapshots-components:
if: ${{ !cancelled() && needs.test-components.result == 'failure' }}
uses: ./.github/workflows/02-e2e-regenerate.yml
with:
version: ${{ needs.init.outputs.playwrightVersion }}
type: components
needs: [test-components, init]
regenerate-snapshots-foundations:
if: ${{ !cancelled() && needs.test-foundations.result == 'failure' }}
uses: ./.github/workflows/02-e2e-regenerate.yml
with:
version: ${{ needs.init.outputs.playwrightVersion }}
type: foundations
needs: [test-foundations, init]
regenerate-snapshots-patternhub:
if: ${{ !cancelled() && needs.test-showcase-patternhub.result == 'failure' }}
uses: ./.github/workflows/02-e2e-regenerate.yml
with:
version: ${{ needs.init.outputs.playwrightVersion }}
path: ${{ needs.build-showcase-patternhub.outputs.path }}
type: patternhub
needs: [build-showcase-patternhub, test-showcase-patternhub, init]
# This job runs only if aria-snapshots were changed compared to main or if it runs on main branch
test-screen-reader:
if: |
needs.init.outputs.test-ally == 'true' ||
github.event.pull_request == null
uses: ./.github/workflows/02-e2e-screen-reader.yml
needs: [test-showcase-react, init-playwright, init]
with:
version: ${{ needs.init.outputs.playwrightVersion }}
regenerate-snapshots:
if: |
!cancelled() && !contains(github.actor,'[bot]') && (
needs.test-showcase-angular.result == 'failure' ||
needs.test-showcase-react.result == 'failure' ||
needs.test-showcase-vue.result == 'failure' ||
needs.test-showcase-stencil.result == 'failure'
)
uses: ./.github/workflows/02-e2e-regenerate.yml
with:
version: ${{ needs.init.outputs.playwrightVersion }}
type: showcases
needs:
[
test-showcase-angular,
test-showcase-react,
test-showcase-vue,
test-showcase-stencil,
init
]
commit-regenerated-snapshots:
uses: ./.github/workflows/02-e2e-regenerated-snapshots-commit.yml
secrets: inherit
if: |
${{ !cancelled() &&
( needs.regenerate-snapshots-components.result == 'success' ||
needs.regenerate-snapshots-foundations.result == 'success' ||
needs.regenerate-snapshots-patternhub.result == 'success' ||
needs.regenerate-snapshots.result == 'success' )
}}
needs:
[
regenerate-snapshots-components,
regenerate-snapshots-foundations,
regenerate-snapshots-patternhub,
regenerate-snapshots
]
with:
showcases: ${{ needs.regenerate-snapshots.result == 'success' }}
components: ${{ needs.regenerate-snapshots-components.result == 'success' }}
foundations: ${{ needs.regenerate-snapshots-foundations.result == 'success' }}
patternhub: ${{ needs.regenerate-snapshots-patternhub.result == 'success' }}
checks-done:
if: ${{ !cancelled() }}
runs-on: ubuntu-24.04 # Use Ubuntu 24.04 explicitly
steps:
- name: 🎉 Checks done
run: |
resultBuildStorybookComposition="${{ needs.build-storybook-composition.result }}"
resultBuildStorybookAngular="${{ needs.build-storybook-angular.result }}"
resultBuildStorybookReact="${{ needs.build-storybook-react.result }}"
resultBuildStorybookVue="${{ needs.build-storybook-vue.result }}"
resultBuildShowcaseStencil="${{ needs.build-showcase-stencil.result }}"
resultBuildShowcaseAngular="${{ needs.build-showcase-angular.result }}"
resultBuildShowcaseAngularSSR="${{ needs.build-showcase-angular-ssr.result }}"
resultBuildShowcaseReact="${{ needs.build-showcase-react.result }}"
resultBuildShowcaseNext="${{ needs.build-showcase-next.result }}"
resultBuildShowcaseVue="${{ needs.build-showcase-vue.result }}"
resultBuildShowcaseNuxt="${{ needs.build-showcase-nuxt.result }}"
resultBuildShowcasePatternhub="${{ needs.build-showcase-patternhub.result }}"
resultBuildOutputs="${{ needs.build-outputs.result }}"
resultTestPackages="${{ needs.test-components.result }}"
resultTestFoundations="${{ needs.test-foundations.result }}"
resultTestShowcaseStencil="${{ needs.test-showcase-stencil.result }}"
resultTestShowcaseAngular="${{ needs.test-showcase-angular.result }}"
resultTestShowcaseReact="${{ needs.test-showcase-react.result }}"
resultTestShowcaseVue="${{ needs.test-showcase-vue.result }}"
resultTestShowcasePatternhub="${{ needs.test-showcase-patternhub.result }}"
resultTestScreenReader="${{ needs.test-screen-reader.result }}"
if [[ $resultBuildStorybookComposition == "success" ]] && \
[[ $resultBuildStorybookAngular == "success" ]] && \
[[ $resultBuildStorybookReact == "success" ]] && \
[[ $resultBuildStorybookVue == "success" ]] && \
[[ $resultTestFoundations == "success" ]] && \
[[ $resultTestScreenReader == "success" || $resultTestScreenReader == "skipped" ]] && \
[[ $resultTestShowcaseStencil == "success" ]] && \
[[ $resultTestShowcaseAngular == "success" ]] && \
[[ $resultTestShowcaseReact == "success" ]] && \
[[ $resultTestShowcaseVue == "success" ]] && \
[[ $resultTestShowcasePatternhub == "success" ]] && \
[[ $resultTestPackages == "success" ]] && \
[[ $resultBuildOutputs == "success" ]] && \
[[ $resultBuildShowcaseStencil == "success" ]] && \
[[ $resultBuildShowcaseAngular == "success" ]] && \
[[ $resultBuildShowcaseAngularSSR == "success" ]] && \
[[ $resultBuildShowcaseReact == "success" ]] && \
[[ $resultBuildShowcaseNext == "success" ]] && \
[[ $resultBuildShowcaseVue == "success" ]] && \
[[ $resultBuildShowcaseNuxt == "success" ]] && \
[[ $resultBuildShowcasePatternhub == "success" ]]; then
echo "🎉 All tests were successful."
exit 0
else
echo "Some tests were failing."
exit 1
fi
needs:
[
build-storybook-composition,
build-storybook-angular,
build-storybook-react,
build-storybook-vue,
build-showcase-stencil,
build-showcase-angular,
build-showcase-angular-ssr,
build-showcase-react,
build-showcase-next,
build-showcase-vue,
build-showcase-nuxt,
build-showcase-patternhub,
build-outputs,
test-components,
test-showcase-stencil,
test-showcase-angular,
test-showcase-react,
test-showcase-vue,
test-showcase-patternhub,
test-foundations,
test-screen-reader
]
deploy:
uses: ./.github/workflows/03-deploy-gh-pages.yml
if: |
${{
!cancelled() && github.actor != 'dependabot[bot]' &&
(github.event.pull_request == null || github.event.pull_request.head.repo.owner.login == 'db-ux-design-system')
}}
needs: [checks-done, init]
with:
release: false
preRelease: false
name: ${{ needs.init.outputs.branchName }}
repoName: ${{ needs.init.outputs.repoName }}
repoOwner: ${{ needs.init.outputs.repoOwner }}
preview-url-pr-description:
if: ${{ !cancelled() && github.event.pull_request != null }}
needs: [deploy]
uses: ./.github/workflows/03-preview-url-pr-description.yml