.github/workflows/cd.yml
name: Continuous Deployment # Well, semi-continuous
on:
push:
tags: v[0-9]+.[0-9]+.[0-9]+
env:
RUBY_VER: 3.1
jobs:
test:
uses: ./.github/workflows/test.yml
with:
code_coverage: true
release-rubygems:
needs: [test]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: Release Gem to rubygems.org
if: contains(github.ref, 'refs/tags/v')
uses: cadwallion/publish-rubygems-action@master
env:
GITHUB_TOKEN: ${{ github.token }}
RUBYGEMS_API_KEY: ${{ secrets.RUBYGEMS_API_KEY }}
RELEASE_COMMAND: bundle exec rake release
release-github:
# Manual push can be done as descried here: https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-rubygems-registry#publishing-a-package
needs: [test]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: Build and publish gem to GitHub Packages
if: contains(github.ref, 'refs/tags/v')
uses: jstastny/publish-gem-to-github@master
with:
token: ${{ github.token }}
owner: ${{ github.repository_owner }}