Skip to content

Create OpenAPI merge #6

Create OpenAPI merge

Create OpenAPI merge #6

name: Create OpenAPI merge
on:
workflow_dispatch:
inputs:
external:
type: boolean
description: Enable creation of External API
default: True
support-selc:
type: boolean
description: Enable creation of Support Selc API
default: True
support-pnpg:
type: boolean
description: Enable creation of Support PNPG API
default: True
env:
ARM_SUBSCRIPTION_ID: ${{ vars.ARM_SUBSCRIPTION_ID }}
ARM_TENANT_ID: ${{ vars.ARM_TENANT_ID }}
ARM_USE_OIDC: true
ARM_USE_AZUREAD: true
ARM_STORAGE_USE_AZUREAD: true
jobs:
create_branch:
name: 'Create OpenAPI merge'
runs-on: ubuntu-20.04
environment: dev-cd
permissions:
id-token: write
contents: write
actions: write
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- name: Azure Login
uses: azure/login@cb79c773a3cfa27f31f25eb3f677781210c9ce3d # v1.6.1
with:
client-id: ${{ secrets.ARM_CLIENT_ID }}
tenant-id: ${{ vars.ARM_TENANT_ID }}
subscription-id: ${{ vars.ARM_SUBSCRIPTION_ID }}
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
path: selfcare-external-api-backend
- name: Download from blob storage DEV
uses: azure/CLI@965c8d7571d2231a54e321ddd07f7b10317f34d9 # v2
with:
inlineScript: |
mkdir docs
az storage blob download-batch --auth-mode key -d ./docs/ --account-name selcdcheckoutsa -s selc-openapi --pattern pagopa/**
- name: Install openapi-merge-cli
run: npm install --location global openapi-merge-cli
shell: bash
- name: Merge OpenAPI and PostProcess External API
if: ${{ inputs.external }}
working-directory: selfcare-external-api-backend
run: |
npx openapi-merge-cli --config ./infra/api/ms_external_api/v2/openapi_merge/openapi_merge.json
node ./infra/api/openapi_merge/remove_v_and_tags.js ./infra/api/ms_external_api/v2/openapi_merge/openapi.external.json ./infra/api/ms_external_api/v2/openapi_merge/openapi.external.json
- name: Configure Git
working-directory: selfcare-external-api-backend
run: |
git config --global user.email "selfcare-github@pagopa.it"
git config --global user.name "selfcare-github-bot"
- name: Create new branch an commit
if: false
working-directory: selfcare-external-api-backend
run: |
BRANCH_NAME="docs/openapi-update-$(date +%Y%m%d%H%M%S)"
git checkout -b $BRANCH_NAME
git add .
git commit -m "Update openapi"
- name: Push changes
if: false
working-directory: selfcare-external-api-backend
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
git push -u origin HEAD
- name: Create pull request
uses: peter-evans/create-pull-request@d53f4d71fdd876f4f4b170d05ce7f1a7dd2bef03 #v6.0.5
if: false
with:
token: ${{ secrets.GITHUB_TOKEN }}
commit-message: "Update openapi"
branch: ${{ github.ref_name }} # The current branch name
title: "Update openapi using openapi-merge-cli"
body: "This PR update openapi files generated by openapi-merge tool."
base: main
path: selfcare-external-api-backend