NAS-132423 / 25.04 / Add ix-datepicker component (#11090) #17866
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
name: WebUI | |
on: | |
push: | |
branches: | |
- master | |
paths-ignore: | |
- 'src/assets/i18n/**' | |
- 'tests/**' | |
pull_request: | |
branches: | |
- '**' | |
paths-ignore: | |
- 'src/assets/i18n/**' | |
- 'tests/**' | |
jobs: | |
install: | |
name: Checkout and Install | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Install | |
uses: ./.github/actions/prepare | |
build: | |
name: Build | |
needs: [install] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Install | |
uses: ./.github/actions/prepare | |
- name: Build | |
run: yarn build:prod:aot | |
- name: Check strict null checks | |
run: yarn run check-env && yarn run strict-null-checks | |
lint: | |
name: Validate code style | |
needs: [install] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Install | |
uses: ./.github/actions/prepare | |
- name: Generate default environment file | |
run: yarn run check-env | |
- name: Run linter | |
run: yarn lint | |
test: | |
name: Run tests | |
needs: [install] | |
strategy: | |
fail-fast: false | |
matrix: | |
shard: [1, 2] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Install | |
uses: ./.github/actions/prepare | |
- name: Run tests | |
run: yarn test:pr --shard=${{ matrix.shard }}/${{ strategy.job-total }} | |
- name: Save shard coverage | |
run: | | |
mv coverage/webui/coverage-final.json coverage/coverage-${{matrix.shard}}.json | |
mv coverage/webui/junit.xml coverage/junit-${{matrix.shard}}.xml | |
rm -rf coverage/webui | |
- name: Upload coverage | |
uses: actions/upload-artifact@v4 | |
with: | |
name: coverage-${{ matrix.shard }} | |
path: coverage/coverage-${{matrix.shard}}.json | |
- name: Upload test data | |
uses: actions/upload-artifact@v4 | |
with: | |
name: coverage-junit-${{ matrix.shard }} | |
path: coverage/junit-${{matrix.shard}}.xml | |
report-coverage: | |
name: Collect coverage | |
runs-on: ubuntu-latest | |
if: ${{ !cancelled() }} | |
needs: [test] | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
steps: | |
- name: Collect coverage from shards | |
uses: actions/download-artifact@v4 | |
with: | |
pattern: 'coverage-*' | |
path: coverage | |
merge-multiple: true | |
- name: Collect test data from shards | |
uses: actions/download-artifact@v4 | |
with: | |
pattern: 'junit-*' | |
path: coverage | |
merge-multiple: true | |
- name: Merge Code Coverage | |
run: npx -y nyc merge coverage/ coverage/merged-coverage.json | |
- name: Merge Test Data | |
run: npx -y junit-report-merger coverage/merged-junit.xml "coverage/junit-*.xml" | |
- name: Upload coverage to Codecov | |
uses: codecov/codecov-action@v4 | |
with: | |
name: webui | |
token: ${{ env.CODECOV_TOKEN }} | |
file: coverage/merged-coverage.json | |
fail_ci_if_error: true | |
- name: Upload extra test data to Codecov | |
if: ${{ !cancelled() }} | |
uses: codecov/test-results-action@v1 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
file: coverage/merged-junit.xml |