Sha256: 50a216fa95f10b5135e43df31d25ce97c56e0060fb47babd34eaf0d2bedd1222

Contents?: true

Size: 1.24 KB

Versions: 2

Compression:

Stored size: 1.24 KB

Contents

name: build_and_publish
on:
  push:
    tags:
      - 'v*.*.*'
jobs:
  build:
    strategy:
      fail-fast: true
    name: build and publish gem
    runs-on: ubuntu-latest
    permissions:
      packages: write
      contents: read
    steps:
      - uses: actions/checkout@v2

      - name: setup ruby
        uses: ruby/setup-ruby@v1
        with:
          ruby-version: 2.7
          bundler-cache: true

      - name: install gems
        run: bundle install

      - name: version check
        run: |
          export GEM_VERSION=$(ruby -e "require 'rubygems'; puts Gem::Specification::load('${{github.event.repository.name}}.gemspec').version")
          if [ "v$GEM_VERSION" != "${{github.ref_name}}" ] ; then
            echo "Pushed git tag '${{github.ref_name}}' does not match gem version 'v{gem_version}', expected: 'v$GEM_VERSION'"
            exit 1
          fi

      - 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_AUTH_TOKEN}}"

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rubyvis_charts-0.1.6 .github/workflows/build_and_publish.yml
rubyvis_charts-0.1.5 .github/workflows/build_and_publish.yml