@@ -2655,6 +2655,8 @@ jobs:
26552655 system-test-environment-setup,
26562656 system-test-public-api,
26572657 system-test-swarm-deploy,
2658+ system-api-specs,
2659+ system-backwards-compatibility
26582660 ]
26592661 runs-on : ubuntu-latest
26602662 steps :
@@ -2719,3 +2721,78 @@ jobs:
27192721 env :
27202722 TAG_PREFIX : hotfix-staging-github
27212723 run : ./ci/deploy/dockerhub-deploy.bash -n
2724+
2725+ system-api-specs :
2726+ needs : [changes]
2727+ if : ${{ needs.changes.outputs.anything-py == 'true' || github.event_name == 'push' }}
2728+ timeout-minutes : 10
2729+ name : " [sys] check api-specs are up to date"
2730+ runs-on : ubuntu-latest
2731+ steps :
2732+ - name : setup python environment
2733+ uses : actions/setup-python@v5
2734+ with :
2735+ python-version : " 3.11"
2736+ - name : install uv
2737+ uses : astral-sh/setup-uv@v4
2738+ with :
2739+ version : " 0.4.x"
2740+ enable-cache : false
2741+ - name : checkout source branch
2742+ uses : actions/checkout@v4
2743+ - name : Regenerate specs and check
2744+ run : |
2745+ uv venv .venv && source .venv/bin/activate
2746+ make openapi-specs
2747+ ./ci/github/helpers/openapi-specs-diff.bash diff \
2748+ https://raw.githubusercontent.com/${{ github.event.pull_request.head.repo.full_name }}/refs/heads/${{ github.event.pull_request.head.ref }} \
2749+ .
2750+
2751+ system-backwards-compatibility :
2752+ needs : [changes, system-api-specs]
2753+ if : ${{ needs.changes.outputs.anything-py == 'true' || github.event_name == 'push' }}
2754+ timeout-minutes : 10
2755+ name : " [sys] api-server backwards compatibility"
2756+ runs-on : ubuntu-latest
2757+ steps :
2758+ - name : setup python environment
2759+ uses : actions/setup-python@v5
2760+ with :
2761+ python-version : " 3.11"
2762+ - name : install uv
2763+ uses : astral-sh/setup-uv@v4
2764+ with :
2765+ version : " 0.4.x"
2766+ enable-cache : false
2767+ - name : checkout
2768+ uses : actions/checkout@v4
2769+ - name : check api-server backwards compatibility
2770+ run : |
2771+ ./scripts/openapi-diff.bash breaking --fail-on ERR\
2772+ https://raw.githubusercontent.com/${{ github.event.pull_request.base.repo.full_name }}/refs/heads/${{ github.event.pull_request.base.ref }}/services/api-server/openapi.json \
2773+ /specs/services/api-server/openapi.json
2774+
2775+ api-spec-backwards-compatibility :
2776+ needs : [changes, system-api-specs]
2777+ if : ${{ needs.changes.outputs.anything-py == 'true' || github.event_name == 'push' }}
2778+ continue-on-error : true
2779+ timeout-minutes : 10
2780+ name : " api-specs-backwards-compatibility"
2781+ runs-on : ubuntu-latest
2782+ steps :
2783+ - name : setup python environment
2784+ uses : actions/setup-python@v5
2785+ with :
2786+ python-version : " 3.11"
2787+ - name : install uv
2788+ uses : astral-sh/setup-uv@v4
2789+ with :
2790+ version : " 0.4.x"
2791+ enable-cache : false
2792+ - name : checkout
2793+ uses : actions/checkout@v4
2794+ - name : Check openapi-specs backwards compatibility
2795+ run : |
2796+ ./ci/github/helpers/openapi-specs-diff.bash breaking \
2797+ https://raw.githubusercontent.com/${{ github.event.pull_request.base.repo.full_name }}/refs/heads/${{ github.event.pull_request.base.ref }} \
2798+ .
0 commit comments