Skip to content

Forms overhaul (including several components) #1171

Forms overhaul (including several components)

Forms overhaul (including several components) #1171

Workflow file for this run

name: Pull Request
on:
pull_request:
branches-ignore:
- changeset-release/main
types:
- opened
- reopened
- synchronize
concurrency:
group: pr-${{ github.head_ref }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest
outputs:
core_any_changed: ${{ steps.changes.outputs.core_any_changed }}
aggrid_any_changed: ${{ steps.changes.outputs.aggrid_any_changed }}
echarts_any_changed: ${{ steps.changes.outputs.echarts_any_changed }}
docs_any_changed: ${{ steps.changes.outputs.docs_any_changed }}
unittests_any_changed: ${{ steps.changes.outputs.unittests_any_changed }}
steps:
- uses: actions/checkout@v3
- name: Track changes between commits
id: changes
uses: tj-actions/changed-files@v43
with:
files_yaml: |
core:
- packages/core/**
aggrid:
- packages/aggrid/**
echarts:
- packages/echarts/**
docs:
- packages/documentation/**
- packages/example-styles/**
- packages/html-test-app/**
- packages/angular-test-app/**
- packages/react-test-app/**
- packages/vue-test-app/**
unittests:
- packages/core/**
- packages/angular/**
- packages/react/**
- packages/angular-test-app/**
- packages/react-test-app/**
- packages/figma-plugin/**
build:
needs: changes
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- uses: ./.github/workflows/actions/turbo
- name: Build
run: pnpm build --cache-dir=.turbo --filter \!documentation
- name: Lint
run: pnpm lint
- name: Check for local development changes
run: ./scripts/lint-build.sh
build-docs:
needs: [changes, build]
if: ${{ needs.changes.outputs.docs_any_changed == 'true' }}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- uses: ./.github/workflows/actions/turbo
- name: Build
run: pnpm build --cache-dir=.turbo --filter documentation
visual-testing-core:
if: ${{ needs.changes.outputs.core_any_changed == 'true' }}
needs: [build, changes]
timeout-minutes: 10
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
shard: [1/4, 2/4, 3/4, 4/4]
steps:
- uses: actions/checkout@v3
- uses: ./.github/workflows/actions/turbo
- name: Install Playwright Browsers
run: pnpm exec playwright install chromium --with-deps
- name: Visual Regression
run: pnpm run visual-regression --cache-dir=.turbo --filter @siemens/ix -- --shard ${{ matrix.shard }}
- uses: actions/upload-artifact@v3
if: always()
with:
name: core-blob-report
path: |
./packages/core/blob-report/
retention-days: 1
visual-testing-aggrid:
if: ${{ needs.changes.outputs.core_any_changed == 'true' || needs.changes.outputs.aggrid_any_changed == 'true' }}
needs: [build, changes]
timeout-minutes: 10
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: ./.github/workflows/actions/turbo
- name: Install Playwright Browsers
run: pnpm exec playwright install chromium --with-deps
- name: Visual Regression
run: pnpm run visual-regression --cache-dir=.turbo --filter @siemens/ix-aggrid
- uses: actions/upload-artifact@v3
if: failure()
with:
name: aggrid-html-report--attempt-${{ github.run_attempt }}
path: |
./packages/aggrid/playwright-report/
retention-days: 1
visual-testing-echarts:
if: ${{ needs.changes.outputs.core_any_changed == 'true' || needs.changes.outputs.echarts_any_changed == 'true' }}
needs: [build, changes]
timeout-minutes: 10
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: ./.github/workflows/actions/turbo
- name: Install Playwright Browsers
run: pnpm exec playwright install chromium --with-deps
- name: Visual Regression
run: pnpm run visual-regression --cache-dir=.turbo --filter @siemens/ix-echarts
- uses: actions/upload-artifact@v3
if: failure()
with:
name: echarts-html-report--attempt-${{ github.run_attempt }}
path: |
./packages/echarts/playwright-report/
retention-days: 1
merge-core-reports:
if: failure()
needs: [visual-testing-core]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: ./.github/workflows/actions/turbo
- name: Download blob reports from GitHub Actions Artifacts
uses: actions/download-artifact@v3
with:
name: core-blob-report
path: all-blob-reports
- name: Merge into HTML Report
run: pnpm exec playwright merge-reports --reporter html ./all-blob-reports
- name: Upload HTML report
uses: actions/upload-artifact@v3
with:
name: core-html-report--attempt-${{ github.run_attempt }}
path: playwright-report
retention-days: 2
unit:
if: ${{ needs.changes.outputs.unittests_any_changed == 'true' }}
needs: [build, changes]
timeout-minutes: 10
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: ./.github/workflows/actions/turbo
- name: Install Playwright Browsers
run: pnpm exec playwright install chromium --with-deps
- name: Test
run: pnpm run test --cache-dir=.turbo --filter !\documentation