Skip to content

Commit f1f4f35

Browse files
PETOSS 536 | Open API pipeline workflow on PR raise (#678)
CI: Open API PR health check pipeline Added
1 parent 8bbf8e4 commit f1f4f35

File tree

1 file changed

+90
-0
lines changed

1 file changed

+90
-0
lines changed

.github/workflows/pr-health-check.yml

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
name: OAS PR health check
2+
3+
on:
4+
pull_request:
5+
branches:
6+
- master
7+
push:
8+
branches:
9+
- master
10+
11+
jobs:
12+
pr-health-check:
13+
runs-on: ubuntu-latest
14+
permissions:
15+
contents: write
16+
pull-requests: write
17+
actions: read
18+
19+
steps:
20+
- name: Checkout Repository
21+
uses: actions/checkout@v4
22+
with:
23+
fetch-depth: 0
24+
25+
# ***** YAML Linting steps are disabled for now *****
26+
27+
28+
29+
# - name: Install Open API yaml linter
30+
# run: npm i -g @quobix/vacuum
31+
32+
# - name: Run open API validation for yamls
33+
# run: |
34+
# docker run --rm -v ${PWD}:/local openapitools/openapi-generator-cli:v4.3.1 validate -i /local/xero_accounting.yaml
35+
# docker run --rm -v ${PWD}:/local openapitools/openapi-generator-cli:v4.3.1 validate -i /local/xero_assets.yaml
36+
# docker run --rm -v ${PWD}:/local openapitools/openapi-generator-cli:v4.3.1 validate -i /local/xero_bankfeeds.yaml
37+
# docker run --rm -v ${PWD}:/local openapitools/openapi-generator-cli:v4.3.1 validate -i /local/xero_files.yaml
38+
# docker run --rm -v ${PWD}:/local openapitools/openapi-generator-cli:v4.3.1 validate -i /local/xero-app-store.yaml
39+
# docker run --rm -v ${PWD}:/local openapitools/openapi-generator-cli:v4.3.1 validate -i /local/xero-finance.yaml
40+
# docker run --rm -v ${PWD}:/local openapitools/openapi-generator-cli:v4.3.1 validate -i /local/xero-identity.yaml
41+
# docker run --rm -v ${PWD}:/local openapitools/openapi-generator-cli:v4.3.1 validate -i /local/xero-payroll-au.yaml
42+
# docker run --rm -v ${PWD}:/local openapitools/openapi-generator-cli:v4.3.1 validate -i /local/xero-payroll-nz.yaml
43+
# docker run --rm -v ${PWD}:/local openapitools/openapi-generator-cli:v4.3.1 validate -i /local/xero-payroll-uk.yaml
44+
# docker run --rm -v ${PWD}:/local openapitools/openapi-generator-cli:v4.3.1 validate -i /local/xero-projects.yaml
45+
# working-directory: ${{ github.workspace }}
46+
47+
# - name: Run linting
48+
# run: |
49+
# vacuum lint -d -e xero_accounting.yaml xero_assets.yaml xero_bankfeeds.yaml xero_files.yaml xero-app-store.yaml xero-finance.yaml xero-identity.yaml xero-payroll-au.yaml xero-payroll-nz.yaml xero-payroll-uk.yaml xero-projects.yaml
50+
51+
52+
53+
# ****** Linting steps are disabled for now *******
54+
55+
- name: Install octokit dependencies
56+
run: npm i
57+
working-directory: ${{ github.workspace }}/.github/octokit
58+
59+
- name: Get github app access token
60+
id: get_access_token
61+
env:
62+
GITHUB_APP_ID: ${{ secrets.XERO_GITHUB_APP_ID }}
63+
GITHUB_APP_PRIVATE_KEY: ${{ secrets.XERO_GITHUB_APPLICATION_KEY }}
64+
uses: actions/github-script@v7
65+
with:
66+
result-encoding: string
67+
script: |
68+
const { getAccessToken } = await import('${{ github.workspace }}/.github/octokit/index.js')
69+
const token = await getAccessToken()
70+
return token
71+
72+
- name: Trigger all SDK workflow
73+
uses: codex-/return-dispatch@v2
74+
id: return_dispatch
75+
with:
76+
token: ${{ steps.get_access_token.outputs.result }}
77+
repo: xeroapi-sdk-codegen
78+
owner: xero-internal
79+
workflow: pr.yml
80+
ref: refs/heads/master
81+
workflow_inputs: '{"branch_name": "${{github.head_ref}}" }'
82+
83+
- name: Checking SDK health status
84+
uses: Codex-/await-remote-run@v1.12.2
85+
with:
86+
token: ${{ steps.get_access_token.outputs.result }}
87+
repo: xeroapi-sdk-codegen
88+
owner: xero-internal
89+
run_id: ${{ steps.return_dispatch.outputs.run_id }}
90+

0 commit comments

Comments
 (0)