github.com/hernad/nomad@v1.6.112/.github/workflows/test-ui.yml (about)

     1  name: test-ui
     2  on:
     3    pull_request:
     4      paths-ignore:
     5        - 'README.md'
     6        - 'CHANGELOG.md'
     7        - '.changelog/**'
     8        - '.tours/**'
     9        - 'contributing/**'
    10        - 'demo/**'
    11        - 'dev/**'
    12        - 'e2e/**'
    13        - 'integrations/**'
    14        - 'pkg/**'
    15        - 'scripts/**'
    16        - 'terraform/**'
    17        - 'website/**'
    18    push:
    19      branches:
    20        - main
    21        - release/**
    22        - test-ui
    23      paths-ignore:
    24        - 'README.md'
    25        - 'CHANGELOG.md'
    26        - '.changelog/**'
    27        - '.tours/**'
    28        - 'contributing/**'
    29        - 'demo/**'
    30        - 'dev/**'
    31        - 'e2e/**'
    32        - 'integrations/**'
    33        - 'pkg/**'
    34        - 'scripts/**'
    35        - 'terraform/**'
    36        - 'website/**'
    37  
    38  jobs:
    39    pre-test:
    40      runs-on: ubuntu-latest
    41      timeout-minutes: 30
    42      defaults:
    43        run:
    44          working-directory: ui
    45      outputs:
    46        nonce: ${{ steps.nonce.outputs.nonce }}
    47      steps:
    48        - uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
    49        - uses: ./.github/actions/setup-js
    50        - name: lint:js
    51          run: yarn run lint:js
    52        - name: lint:hbs
    53          run: yarn run lint:hbs
    54        - id: nonce
    55          name: nonce
    56          run: echo "nonce=${{ github.run_id }}-$(date +%s)" >> "$GITHUB_OUTPUT"
    57  
    58    tests:
    59      needs:
    60        - pre-test
    61      runs-on: ${{ endsWith(github.repository, '-enterprise') && fromJSON('["self-hosted", "ondemand", "linux"]') || 'ubuntu-latest' }}
    62      timeout-minutes: 30
    63      continue-on-error: true
    64      defaults:
    65        run:
    66          working-directory: ui
    67      strategy:
    68        matrix:
    69          partition: [1, 2, 3, 4]
    70          split: [4]
    71      steps:
    72        - uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
    73        - uses: ./.github/actions/setup-js
    74        - uses: browser-actions/setup-chrome@c485fa3bab6be59dce18dbc18ef6ab7cbc8ff5f1 # v1.2.0
    75        - uses: ./.github/actions/vault-secrets
    76          with:
    77            paths: |-
    78              kv/data/teams/nomad/ui PERCY_TOKEN ;
    79        - name: ember exam
    80          env:
    81            PERCY_TOKEN: ${{ env.PERCY_TOKEN || secrets.PERCY_TOKEN }}
    82            PERCY_PARALLEL_NONCE: ${{ needs.pre-test.outputs.nonce }}
    83          run: yarn exam:parallel --split=${{ matrix.split }} --partition=${{ matrix.partition }}
    84  
    85    finalize:
    86      needs:
    87        - pre-test
    88        - tests
    89      runs-on: ${{ endsWith(github.repository, '-enterprise') && fromJSON('["self-hosted", "ondemand", "linux"]') || 'ubuntu-latest' }}
    90      timeout-minutes: 30
    91      defaults:
    92        run:
    93          working-directory: ui
    94      steps:
    95        - uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
    96        - uses: ./.github/actions/setup-js
    97        - uses: ./.github/actions/vault-secrets
    98          with:
    99            paths: |-
   100              kv/data/teams/nomad/ui PERCY_TOKEN ;
   101        - name: finalize
   102          env:
   103            PERCY_TOKEN: ${{ env.PERCY_TOKEN || secrets.PERCY_TOKEN }}
   104            PERCY_PARALLEL_NONCE: ${{ needs.pre-test.outputs.nonce }}
   105          run: yarn percy build:finalize
   106  permissions:
   107    contents: read
   108    id-token: write