-
Notifications
You must be signed in to change notification settings - Fork 41
117 lines (93 loc) · 3.13 KB
/
consistency.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
name: Consistency
# Controls when the workflow will run
on:
# Triggers the workflow on push or pull request events but only for the "main" branch
push:
branches: ["main", "release/*"]
pull_request:
branches: ["main", "release/*"]
merge_group:
workflow_dispatch: {}
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
check-changes:
name: Check Changes
runs-on: ubuntu-latest
if: github.event_name == 'pull_request'
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0 ## Needed for Changesets to find `main` branch
submodules: recursive
- uses: ./.github/actions/setup
- run: git pull --force --no-tags origin ${{ github.event.pull_request.base.ref }}:${{ github.event.pull_request.base.ref }}
name: Get ${{ github.event.pull_request.base.ref }} ref for ${{ github.ref}}, evt ${{ github.event_name }}
- run: pnpm install
name: Install dependencies
- run: npx chronus verify --since ${{ github.event.pull_request.base.ref }}
name: Check changelog
if: |
!startsWith(github.head_ref, 'publish/') &&
!startsWith(github.head_ref, 'dependabot/') &&
!startsWith(github.head_ref, 'backmerge/') &&
!startsWith(github.head_ref, 'revert-')
- run: node eng/scripts/validate-core-submodule.js
name: Check that core submodule is merged to core repo
# Validate spell check
spellcheck:
name: Spell check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: ./.github/actions/setup
- run: pnpm install
name: Install dependencies
- run: pnpm run cspell
name: Spell check
# Validate formatting
format:
name: Format
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: ./.github/actions/setup
- run: pnpm install
name: Install dependencies
- run: pnpm --filter="@typespec/prettier-plugin-typespec..." run build
name: Build prettier plugin
- run: pnpm run format:check
name: Check formatting
# Lint
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: ./.github/actions/setup
- run: pnpm install
name: Install dependencies
- run: pnpm --filter="@typespec/eslint-plugin..." run build
name: Build prettier plugin
- run: pnpm run lint
name: Lint
# Verify Arm OpenAPI common types are up to date
common-types-up-to-date:
name: Common types up to date
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: ./.github/actions/setup
- run: pnpm install
name: Install dependencies
- run: node eng/scripts/download-common-types.js v3
name: Swagger - Fetch common-types v3
- run: node eng/scripts/check-for-changed-files.js
name: Check Git Status For Changed Files