Sync SDK with New API Spec #5
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 }}" |