name: Build and Publish Gem to RubyGems
on:
push:
branches: [ main ]
tags: ['v*.*.*']
permissions:
contents: read
packages: write
jobs:
build-and-push:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: 3.1
- name: Build gem
run: |
gem build laicrypto.gemspec
ls -l *.gem
- name: Push to GitHub Packages
env:
GEM_HOST_API_KEY: ${{ secrets.GITHUB_TOKEN }}
run: |
mkdir -p ~/.gem
echo -e "---\n:github: $GEM_HOST_API_KEY" > ~/.gem/credentials
chmod 0600 ~/.gem/credentials
gem push --key github --host https://rubygems.pkg.github.com/${{ github.repository_owner }} laicrypto-*.gem