Sync SDK with New API Spec #28
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: | |
java-version: [11.0.21] | |
java-distribution: [temurin] | |
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 Java Code | |
uses: actions/checkout@v2 | |
- name: Install Java | |
uses: actions/setup-java@v2 | |
with: | |
java-version: ${{ matrix.java-version }} | |
distribution: ${{ matrix.java-distribution }} | |
cache: maven | |
- name: Get next API Spec Version | |
id: spec_versions | |
run: | | |
API_SPEC_LINE=$(grep -i app.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="OPENAPI_URL=\"https://app.swaggerhub.com/apiproxy/registry/equinix-api/fabric/${{ github.event.inputs.new_api_spec_version_number }}\"" | |
sed -i 's,${{ steps.spec_versions.outputs.api_spec_line }},'"$VERSION_UPDATE"',' Makefile | |
make generate | |
- name: Tests | |
env: | |
TEST_HOST_URL: https://uatapi.equinix.com | |
CLIENT_ID: ${{ secrets.TEST_USER_CLIENT_ID }} | |
CLIENT_SECRET: ${{ secrets.TEST_USER_CLIENT_SECRET }} | |
TEST_USER_NAME: ${{ secrets.TEST_USER_NAME }} | |
TEST_USER_PASSWORD: ${{ secrets.TEST_USER_PASSWORD }} | |
shell: bash | |
working-directory: ./equinix-openapi-fabric | |
run: |- | |
mvn clean package -DskipTests -DenvUrl=${{ env.TEST_HOST_URL }} -DuserName=${{ env.TEST_USER_NAME }} | |
- name: Commit changes | |
run: | | |
git commit -m 'sync: fetch ${{ steps.date.outputs.date }} spec and apply patches' spec/*.json | |
git add equinix-openapi-fabric | |
git commit -m 'sync: generate client with ${{ steps.date.outputs.date }} spec' | |
- 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 }}" |