.github/workflows/deploy-rswag.yml
name: Publish Rswag Gems
on:
workflow_dispatch:
inputs:
version:
description: "gem version to publish"
type: string
required: true
jobs:
build:
name: Build + Publish
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- uses: actions/checkout@v4
- name: Set up Ruby 3.1
uses: ruby/setup-ruby@v1
with:
ruby-version: 3.1.0
- name: Publish rswag-api
run: |
mkdir -p $HOME/.gem
touch $HOME/.gem/credentials
chmod 0600 $HOME/.gem/credentials
printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
cd rswag-api
gem build rswag-api.gemspec
gem push *.gem
env:
GEM_HOST_API_KEY: "${{secrets.BOOKOFGREG_RUBYGEMS_API_KEY}}"
RUBYGEMS_VERSION: "${{github.event.inputs.version}}"
- name: Publish rswag-specs
run: |
mkdir -p $HOME/.gem
touch $HOME/.gem/credentials
chmod 0600 $HOME/.gem/credentials
printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
cd rswag-specs
gem build rswag-specs.gemspec
gem push *.gem
env:
GEM_HOST_API_KEY: "${{secrets.BOOKOFGREG_RUBYGEMS_API_KEY}}"
RUBYGEMS_VERSION: "${{github.event.inputs.version}}"
- name: Publish rswag-ui
run: |
mkdir -p $HOME/.gem
touch $HOME/.gem/credentials
chmod 0600 $HOME/.gem/credentials
printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
cd rswag-ui
npm install
gem build rswag-ui.gemspec
gem push *.gem
env:
GEM_HOST_API_KEY: "${{secrets.BOOKOFGREG_RUBYGEMS_API_KEY}}"
RUBYGEMS_VERSION: "${{github.event.inputs.version}}"
- name: Publish rswag
run: |
mkdir -p $HOME/.gem
touch $HOME/.gem/credentials
chmod 0600 $HOME/.gem/credentials
printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
cd rswag
gem build rswag.gemspec
echo $RUBYGEMS_VERSION
gem push *.gem
env:
GEM_HOST_API_KEY: "${{secrets.BOOKOFGREG_RUBYGEMS_API_KEY}}"
RUBYGEMS_VERSION: "${{github.event.inputs.version}}"