Skip to content

Validation rules refactor and included new errors for when the directive node is expected but missing #26794

Validation rules refactor and included new errors for when the directive node is expected but missing

Validation rules refactor and included new errors for when the directive node is expected but missing #26794

Workflow file for this run

name: "Pull Request"
concurrency:
group: ${{ github.head_ref }}
cancel-in-progress: true
on:
pull_request:
branches:
- dev
- lts
- "*.*.*"
- "*.x"
paths-ignore:
- "docs/**"
jobs:
reviewdog-eslint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4
with:
node-version: 18.13.0
cache: yarn
- name: Install dependencies
run: yarn --immutable
- uses: reviewdog/action-eslint@9b5b0150e399e1f007ee3c27bc156549810a64e3 # v1.33.0
with:
fail_on_error: true
eslint_flags: "."
node_options: "--max_old_space_size=4096"
code-scanning:
uses: ./.github/workflows/reusable-codeql-analysis.yml
package-tests:
uses: ./.github/workflows/reusable-package-tests.yml
typescript-changes:
runs-on: ubuntu-latest
outputs:
typescript: ${{ steps.filter.outputs.typescript }}
typescript_files: ${{ steps.filter.outputs.typescript_files }}
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: filter
with:
list-files: shell
filters: |
typescript:
- added|modified: 'packages/*/src/**/*.ts'
license-header-check:
needs: typescript-changes
if: ${{ needs.typescript-changes.outputs.typescript == 'true' }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- uses: actions/setup-go@f111f3307d8850f501ac008e886eec1fd1932a34 # v5
with:
go-version: "^1.17.0"
- name: Install addlicense
run: go install github.com/google/addlicense@latest
- name: Run addlicense
run: addlicense -f ./addlicense -check ${{ needs.typescript-changes.outputs.typescript_files }}
unit-tests:
uses: ./.github/workflows/reusable-unit-tests.yml
api-library-tests:
uses: ./.github/workflows/reusable-api-library-tests.yml
integration-tests-on-prem:
uses: ./.github/workflows/reusable-integration-tests-on-prem.yml
federation-tests:
uses: ./.github/workflows/reusable-federation-tests.yml
quality-gate:
if: ${{ always() }}
needs:
- reviewdog-eslint
- code-scanning
- package-tests
- unit-tests
- api-library-tests
- integration-tests-on-prem
- federation-tests
runs-on: ubuntu-latest
steps:
- name: Check Job Status
run: |
if [ ${{ needs.reviewdog-eslint.result }} != 'success' ] ||
[ ${{ needs.code-scanning.result }} != 'success' ] ||
[ ${{ needs.package-tests.result }} != 'success' ] ||
[ ${{ needs.unit-tests.result }} != 'success' ] ||
[ ${{ needs.api-library-tests.result }} != 'success' ] ||
[ ${{ needs.federation-tests.result }} != 'success' ] ||
[ ${{ needs.integration-tests-on-prem.result }} != 'success' ]; then
echo "One or more jobs failed"
exit 1
else
echo "Passed!"
fi