Skip to content

generate-all

generate-all #1366

Workflow file for this run

name: generate-all
on:
schedule:
- cron: '15 */4 * * *'
push:
branches:
- 'develop'
- 'feature/**'
- 'chore/**'
- 'bugfix/**'
- 'story/**'
workflow_dispatch:
jobs:
prerequisite:
name: Prerequisite for Generation
if: github.ref == 'refs/heads/develop' || startsWith(github.ref, 'refs/heads/feature')
runs-on: ubuntu-latest
steps:
- name: Prerequisite
run: |
echo Prerequisites passed!
generate-bmcapi:
needs: prerequisite
uses: ./.github/workflows/_generate.yml
with:
spec-link: https://developers.phoenixnap.com/portals/api/sites/phoenixnap-prod-developerportal/liveportal/apis/bmc/download_spec
module-name: BmcApi
gem-name: pnap_bmc_api
generate-rancherapi:
needs: prerequisite
uses: ./.github/workflows/_generate.yml
with:
spec-link: https://developers.phoenixnap.com/portals/api/sites/phoenixnap-prod-developerportal/liveportal/apis/rancher/download_spec
module-name: RancherApi
gem-name: pnap_rancher_api
generate-networkapi:
needs: prerequisite
uses: ./.github/workflows/_generate.yml
with:
spec-link: https://developers.phoenixnap.com/portals/api/sites/phoenixnap-prod-developerportal/liveportal/apis/networks/download_spec
module-name: NetworkApi
gem-name: pnap_network_api
generate-ipapi:
needs: prerequisite
uses: ./.github/workflows/_generate.yml
with:
spec-link: https://developers.phoenixnap.com/portals/api/sites/phoenixnap-prod-developerportal/liveportal/apis/ips/download_spec
module-name: IpApi
gem-name: pnap_ip_api
generate-auditapi:
needs: prerequisite
uses: ./.github/workflows/_generate.yml
with:
spec-link: https://developers.phoenixnap.com/portals/api/sites/phoenixnap-prod-developerportal/liveportal/apis/bmc-audit/download_spec
module-name: AuditApi
gem-name: pnap_audit_api
generate-tagapi:
needs: prerequisite
uses: ./.github/workflows/_generate.yml
with:
spec-link: https://developers.phoenixnap.com/portals/api/sites/phoenixnap-prod-developerportal/liveportal/apis/tags/download_spec
module-name: TagApi
gem-name: pnap_tag_api
generate-networkstorageapi:
needs: prerequisite
uses: ./.github/workflows/_generate.yml
with:
spec-link: https://developers.phoenixnap.com/portals/api/sites/phoenixnap-prod-developerportal/liveportal/apis/network-storage/download_spec
module-name: NetworkStorageApi
gem-name: pnap_network_storage_api
generate-locationapi:
needs: prerequisite
uses: ./.github/workflows/_generate.yml
with:
spec-link: https://developers.phoenixnap.com/portals/api/sites/phoenixnap-prod-developerportal/liveportal/apis/bmc-location/download_spec
module-name: LocationApi
gem-name: pnap_location_api
# Push generated code
push-changes:
name: Push Changes
runs-on: ubuntu-latest
needs:
- generate-bmcapi
- generate-rancherapi
- generate-networkapi
- generate-ipapi
- generate-auditapi
- generate-tagapi
- generate-networkstorageapi
- generate-locationapi
steps:
- name: Check out the repo
uses: actions/checkout@v3
- name: Download Artifacts
uses: actions/download-artifact@v3
- name: Move spec files
run: |
find . -type f -name "*.spec.yaml" -not -path "./specs/*" -print0 | xargs -0 mv -ft ./specs/
- name: Add and Commit files
run: |
git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com"
git config --local user.name "github-actions[bot]"
git add -A
if test "$(git status --porcelain=v1 2>/dev/null | wc -l)" -gt "0" ; then git commit -m "Add changes"; else echo No changes found; fi
- name: Push changes
uses: ad-m/github-push-action@master
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
branch: ${{ github.ref }}