Skip to content

Sync SDK with New API Spec #5

Sync SDK with New API Spec

Sync SDK with New API Spec #5

on:
workflow_dispatch:
inputs:
new_api_spec_version_number:
required: true
name: Sync SDK with New API Spec
jobs:
sync:
strategy:
matrix:
os: [ubuntu-latest]
runs-on: ${{ matrix.os }}
steps:
- name: Get current date
id: date
run: echo "date=$(date +'%Y-%m-%d')" >> "$GITHUB_OUTPUT"
- name: Checkout Go Code
uses: actions/checkout@v2
- name: Install Go
uses: actions/setup-go@v3
with:
go-version-file: "./go.mod"
- name: Get next API Spec Version
id: spec_versions
run: |
API_SPEC_LINE=$(grep -i api.swaggerhub.com Makefile)
CURRENT_VERSION_NUM=$(echo $API_SPEC_LINE | cut -d / -f7)
echo "api_spec_line=$API_SPEC_LINE" >> "$GITHUB_OUTPUT"
echo "cur_version=$CURRENT_VERSION_NUM" >> "$GITHUB_OUTPUT"
- name: GitHub user
run: |
# https://api.github.com/users/github-actions[bot]
git config user.name 'github-actions[bot]'
git config user.email '41898282+github-actions[bot]@users.noreply.github.com'
- name: Sync
run: |
VERSION_UPDATE="SPEC_URL:=\"https://api.swaggerhub.com/apis/equinix-api/fabric/${{ github.event.inputs.new_api_spec_version_number }}/swagger.yaml\""
sed -i 's,${{ steps.spec_versions.outputs.api_spec_line }},'"$VERSION_UPDATE"',' Makefile
make
git commit -m 'sync: fetch ${{ steps.date.outputs.date }} spec and apply patches' *.yaml
git commit -m 'sync: generate client with ${{ steps.date.outputs.date }} spec' fabric api docs README.md
- name: Create Pull Request
id: cpr
uses: peter-evans/create-pull-request@v3
with:
branch: sync/gh
branch-suffix: timestamp
title: Version ${{ steps.spec_versions.outputs.cur_version }} to ${{ github.event.inputs.new_api_spec_version_number }} API Spec Sync by GitHub Action (${{ steps.date.outputs.date }})
body: |
This API Sync PR was automated through GitHub Actions workflow_displatch
on ${{ steps.date.outputs.date }}.
This PR updates the SDK API Spec Version:
from ${{ steps.spec_versions.outputs.cur_version }} to ${{ github.event.inputs.new_api_spec_version_number }}
* Latest Swaggerhub API Spec is fetched - version ${{ github.event.inputs.new_api_spec_version_number }}
* Patches have been applied
* Generated client has been updated
## Changes in SDK
### Enhancements
-Add enhancements here-
### Breaking Changes
-Add breaking changes here-
delete-branch: true
- name: Check outputs
run: |
echo "Pull Request Number - ${{ steps.cpr.outputs.pull-request-number }}"
echo "Pull Request URL - ${{ steps.cpr.outputs.pull-request-url }}"