Sha256: b92bb6f8ca0ad26f38c14778a9e5393adf3170dadc9c173a78efcc05ef44adfb

Contents?: true

Size: 1.31 KB

Versions: 3

Compression:

Stored size: 1.31 KB

Contents

name: Publish Ruby Gem

on:
  push:
    branches: [ master ]

permissions:
  contents: write

jobs:
  build:
    name: Build and Publish
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Set up Ruby
        uses: ruby/setup-ruby@v1
        with:
          bundler-cache: true
      - name: Publish to RubyGems
        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
          gem build *.gemspec
          gem push *.gem
        env:
          GEM_HOST_API_KEY: ${{secrets.RUBYGEMS_API_KEY}}
      - name: Get Gem Version
        id: get-gem-version
        run: echo "GEM_VERSION=$(bundle exec ruby -e 'puts Twiglet::VERSION')" >> $GITHUB_OUTPUT
      - name: Create Release
        uses: actions/github-script@v6
        env:
          GEM_VERSION: ${{ steps.get-gem-version.outputs.GEM_VERSION }}
        with:
          result-encoding: string
          script: |
            const { GEM_VERSION } = process.env
            github.rest.repos.createRelease({
              owner: context.repo.owner,
              repo: context.repo.repo,
              tag_name: GEM_VERSION,
              generate_release_notes: true,
            })

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
twiglet-3.6.4 .github/workflows/gem-publish.yml
twiglet-3.6.3 .github/workflows/gem-publish.yml
twiglet-3.6.2 .github/workflows/gem-publish.yml