NAS-132887 / 25.04 / Migrate more inputs to signals #17947
Workflow file for this run
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: Checkout | |
uses: actions/checkout@v4 | |
- name: Collect coverage and test data from shards | |
uses: actions/download-artifact@v4 | |
with: | |
pattern: 'coverage-*' | |
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: Remove shard data | |
run: rm -rf coverage/coverage-*.json coverage/junit-*.xml | |
- name: Upload coverage to Codecov | |
uses: codecov/codecov-action@v5 | |
with: | |
name: webui | |
token: ${{ env.CODECOV_TOKEN }} | |
files: 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 |