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