Skip to content

CI: generate openapi contract before asking for contract diff #46

CI: generate openapi contract before asking for contract diff

CI: generate openapi contract before asking for contract diff #46

Workflow file for this run

name: Check & deploy API documentation on Bump.sh 💙
permissions:
contents: read
pull-requests: write
on:
push:
branches:
- main
- master
pull_request:
branches:
- main
- master
jobs:
deploy-doc:
if: ${{ github.event_name == 'push' }}
name: Deploy API documentation on Bump.sh
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Deploy API documentation
uses: bump-sh/github-action@v1
with:
doc: apiplatform-test-demo
token: ${{secrets.BUMP_TOKEN}}
file: docs/openapi.json
api-diff:
if: ${{ github.event_name == 'pull_request' }}
name: Check API diff on Bump.sh
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build docker image
uses: docker/build-push-action@v5
with:
context: ./api
target: php_dev
tags: local:latest
load: true
cache-from: type=gha
cache-to: type=gha,mode=max
push: false
- name: Generate OpenAPI contract
uses: addnab/docker-run-action@v3
with:
image: local:latest
options: -v ${{github.workspace}}/api:/srv/app -v /srv/app/vendor
run: |
composer require symfony/runtime
php bin/console api:openapi:export > openapi.json
- name: Comment pull request with API diff
uses: bump-sh/github-action@v1
with:
doc: apiplatform-test-demo
token: ${{secrets.BUMP_TOKEN}}
file: openapi.json
command: diff
env:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}