Skip to content

Workflow file for this run

---
name: Test and publish to package registries after new GitHub release
on:
release:
types: [published]
jobs:
init:
uses: ./.github/workflows/00-init.yml
get-playwright-version:
uses: ./.github/workflows/01-get-playwright-version.yml
needs: [init]
get-publish-version:
uses: ./.github/workflows/01-get-publish-version.yml
needs: [init]
lint:
uses: ./.github/workflows/01-lint.yml
needs: [init]
build-packages:
uses: ./.github/workflows/01-build-packages.yml
needs: [init]
init-playwright:
uses: ./.github/workflows/01-init-playwright.yml
needs: [get-playwright-version]
with:
version: ${{ needs.get-playwright-version.outputs.version }}
build-outputs:
uses: ./.github/workflows/01-build-outputs.yml
needs: [build-packages]
test-components:
uses: ./.github/workflows/02-e2e.yml
needs: [build-packages, get-playwright-version]
with:
version: ${{ needs.get-playwright-version.outputs.version }}
test-foundations:
uses: ./.github/workflows/02-e2e-foundations.yml
needs: [build-packages, get-playwright-version]
with:
version: ${{ needs.get-playwright-version.outputs.version }}
build-showcase-angular:
uses: ./.github/workflows/01-build-showcases.yml
needs: [build-packages]
with:
showcase: angular-showcase
build-showcase-angular-ssr:
uses: ./.github/workflows/01-build-showcases.yml
needs: [build-packages]
with:
showcase: angular-ssr-showcase
build-showcase-react:
uses: ./.github/workflows/01-build-showcases.yml
needs: [build-packages]
with:
showcase: react-showcase
build-showcase-next:
uses: ./.github/workflows/01-build-showcases.yml
needs: [build-packages]
with:
showcase: next-showcase
build-showcase-vue:
uses: ./.github/workflows/01-build-showcases.yml
needs: [build-packages]
with:
showcase: vue-showcase
build-showcase-nuxt:
uses: ./.github/workflows/01-build-showcases.yml
needs: [build-packages]
with:
showcase: nuxt-showcase
build-showcase-patternhub:
uses: ./.github/workflows/01-build-patternhub.yml
needs: [build-packages, get-publish-version]
with:
release: ${{ needs.get-publish-version.outputs.release }}
preRelease: ${{ needs.get-publish-version.outputs.preRelease }}
test-showcase-angular:
uses: ./.github/workflows/02-e2e-showcases.yml
needs: [build-showcase-angular, get-playwright-version]
with:
version: ${{ needs.get-playwright-version.outputs.version }}
showcase: angular-showcase
test-showcase-react:
uses: ./.github/workflows/02-e2e-showcases.yml
needs: [build-showcase-react, get-playwright-version]
with:
version: ${{ needs.get-playwright-version.outputs.version }}
showcase: react-showcase
test-showcase-vue:
uses: ./.github/workflows/02-e2e-showcases.yml
needs: [build-showcase-vue, get-playwright-version]
with:
version: ${{ needs.get-playwright-version.outputs.version }}
showcase: vue-showcase
test-showcase-patternhub:
uses: ./.github/workflows/02-e2e-showcases.yml
needs: [build-showcase-patternhub, get-playwright-version]
with:
version: ${{ needs.get-playwright-version.outputs.version }}
showcase: patternhub
test-screen-reader:
uses: ./.github/workflows/02-e2e-screen-reader.yml
needs: [build-showcase-react, init-playwright, get-playwright-version]
with:
version: ${{ needs.get-playwright-version.outputs.version }}
checks-done:
if: ${{ always() }}
runs-on: ubuntu-latest
steps:
- name: 🎉 Checks done
run: |
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 }}"
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 [[ $resultTestFoundations == "success" ]] && \
[[ $resultTestScreenReader == "success" ]] && \
[[ $resultTestShowcaseAngular == "success" ]] && \
[[ $resultTestShowcaseReact == "success" ]] && \
[[ $resultTestShowcaseVue == "success" ]] && \
[[ $resultTestShowcasePatternhub == "success" ]] && \
[[ $resultTestPackages == "success" ]] && \
[[ $resultBuildOutputs == "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-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-angular,
test-showcase-react,
test-showcase-vue,
test-showcase-patternhub,
test-foundations,
test-screen-reader
]
deploy:
uses: ./.github/workflows/03-deploy-gh-pages.yml
needs: [checks-done, get-publish-version]
with:
release: ${{ needs.get-publish-version.outputs.release }}
preRelease: ${{ needs.get-publish-version.outputs.preRelease }}
publishpackages:
uses: ./.github/workflows/03-publish-packages.yml
needs: [get-publish-version, checks-done, build-outputs]
secrets: inherit
with:
release: ${{ needs.get-publish-version.outputs.release }}
preRelease: ${{ needs.get-publish-version.outputs.preRelease }}
version: ${{ needs.get-publish-version.outputs.version }}