GitHub Raw JSON API

treeverse / lakeFS

5,423 Go

lakeFS - Data version control for your data lake | Git for data

lakeFS Specification

Located in .github/workflows/openapi-breaking-changes.yaml on branch HEAD

Unknown YAML 1.7 KB
Raw YAML Specification
name: lakeFS OpenAPI Compatibility Tests

on:
  pull_request:
    paths:
      - "api/**"
  push:
    branches:
      - master
  workflow_dispatch: {}

jobs:
  swagger-backward-compatibility:
    name: Swagger compatibility tests
    runs-on: ubuntu-24.04
    steps:
      - name: Check-out revised code
        uses: actions/checkout@v6
        with:
          path: 'changed'
          sparse-checkout: |
            api/swagger.yml
          sparse-checkout-cone-mode: false
      - name: Check-out base code
        uses: actions/checkout@v6
        with:
          ref: 'master'
          path: 'base'
          sparse-checkout: |
            api/swagger.yml
          sparse-checkout-cone-mode: false
      - name: Check lakeFS swagger YAML backward compatibility
        id: test_swagger_backward_breaking_changes
        uses: oasdiff/oasdiff-action/breaking@main
        with:
          base: base/api/swagger.yml
          revision: changed/api/swagger.yml
          fail-on-diff: true
      - name: Check lakeFS swagger YAML forward compatibility
        id: test_swagger_forward_breaking_changes
        uses: oasdiff/oasdiff-action/changelog@main
        with:
          base: base/api/swagger.yml
          revision: changed/api/swagger.yml
      - name: Test changelog action output for forward compatible breaking changes
        run: |
          changes=$(echo "${{steps.test_swagger_forward_breaking_changes.outputs.changelog}}")
          if [[ "$changes" =~ "response-required-property-added" || "$changes" =~ "response-property-became-required" ]]; then
            echo "Found forward compatible breaking changes"
            echo $changes
            exit 1
          fi