Skip to content

generate-publish-client #9

generate-publish-client

generate-publish-client #9

Workflow file for this run

name: Generate and Publish Ruby Client
on:
repository_dispatch:
types: [generate-publish-client]
permissions:
contents: write
jobs:
generate-and-publish-client:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Download Swagger YAML
run: |
curl -sSLo swagger.yaml https://raw.githubusercontent.com/pijng/moonlogs/master/internal/api/swagger.yaml
- name: Download Swagger Codegen
run: |
wget https://repo1.maven.org/maven2/io/swagger/codegen/v3/swagger-codegen-cli/3.0.52/swagger-codegen-cli-3.0.52.jar -O swagger-codegen-cli.jar
- name: Install Java
uses: actions/setup-java@v2
with:
distribution: 'adopt'
java-version: '11'
- name: Generate Ruby Client
run: |
java -jar swagger-codegen-cli.jar generate -i swagger.yaml -l ruby -o moonlogs-ruby --additional-properties gemName=moonlogs-ruby gemVersion=${{ github.event.client_payload.tag_version }}
- name: Add Generated Files to Git
run: |
git config --global user.email "actions@github.com"
git config --global user.name "GitHub Actions"
git add .
- name: Push changes
uses: ad-m/github-push-action@master
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
branch: ${{ github.ref }}
- name: Build Gem
run: |
gem build moonlogs-ruby/moonlogs-ruby/moonlogs-ruby.gemspec
- name: Publish Gem to RubyGems
run: |
gem push moonlogs-ruby/moonlogs-ruby/moonlogs-ruby-*.gem