fix module paths #11
This file contains hidden or 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
name: Validate and generate API, trigger updates | |
on: | |
push: | |
branches: [main] | |
jobs: | |
validate: | |
runs-on: ubuntu-latest | |
container: | |
image: openapitools/openapi-generator-cli | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Validate API | |
run: docker-entrypoint.sh validate -i openapi.yaml | |
generate: | |
runs-on: ubuntu-latest | |
needs: validate | |
container: | |
image: openapitools/openapi-generator-cli | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Generate API clients | |
run: docker-entrypoint.sh generate -i openapi.yaml -g dart-dio -o dart-dio-client --git-user-id OpenParkProject --git-repo-id OPP-common/dart-dio-client | |
- name: Generate API server | |
run: docker-entrypoint.sh generate -i openapi.yaml -g go-gin-server -o go-gin-server --git-user-id OpenParkProject --git-repo-id OPP-common/go-gin-server | |
- name: Upload artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: api-generated | |
path: | | |
dart-dio-client | |
go-gin-server | |
if-no-files-found: error | |
push-generated: | |
runs-on: ubuntu-latest | |
needs: generate | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Download artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: api-generated | |
- name: push | |
run: | | |
git config user.email "actions@github.com" | |
git config user.name "GitHub Actions Bot" | |
git add . | |
git commit -m "Update generated API clients and server" || exit 0 | |
git push origin HEAD:generated-api -f | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
release: | |
runs-on: ubuntu-latest | |
needs: generate | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Download artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: api-generated | |
- name: Compress artifacts | |
run: | | |
tar -czf dart-dio-client.tar.gz dart-dio-client | |
tar -czf go-gin-server.tar.gz go-gin-server | |
- name: Create GitHub Release | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
VERSION="v$(date +'%Y.%m.%d.%H%M')" | |
gh release create $VERSION \ | |
--title "API $VERSION" \ | |
--notes "Automated API release generated from OpenAPI spec" \ | |
dart-dio-client.tar.gz \ | |
go-gin-server.tar.gz | |
trigger-frontend: | |
runs-on: ubuntu-latest | |
needs: generate | |
steps: | |
- name: Trigger repository_dispatch in OPP-frontend | |
uses: peter-evans/repository-dispatch@v3 | |
with: | |
token: ${{ secrets.REPO_DISPATCH_TOKEN }} | |
repository: OpenParkProject/OPP-frontend | |
event-type: OPP-common-updated | |
trigger-backend: | |
runs-on: ubuntu-latest | |
needs: generate | |
steps: | |
- name: Trigger repository_dispatch in OPP-backend | |
uses: peter-evans/repository-dispatch@v3 | |
with: | |
token: ${{ secrets.REPO_DISPATCH_TOKEN }} | |
repository: OpenParkProject/OPP-backend | |
event-type: OPP-common-updated |