Skip to content

Sh test gem action #267

Sh test gem action

Sh test gem action #267

Workflow file for this run

name: Build and release gem
on:
push:
branches:
- main
pull_request:
jobs:
native_gem:
name: Compile native gem
runs-on: ubuntu-latest
strategy:
matrix:
platform:
- "aarch64-linux-gnu"
- "aarch64-linux-musl"
- "arm64-darwin"
- "x86_64-darwin"
- "x86_64-linux-gnu"
- "x86_64-linux-musl"
- "x64-mingw-ucrt"
environment: "yrb-deploy"
steps:
- uses: actions/checkout@v2
- uses: oxidize-rb/actions/setup-ruby-and-rust@main
with:
rubygems: latest
ruby-version: "3.2"
bundler-cache: false
cargo-cache: true
cargo-vendor: true
- uses: oxidize-rb/actions/cross-gem@v1
id: cross-gem
with:
platform: ${{ matrix.platform }}
ruby-versions: '3.1,3.2,3.3,3.4'
- name: Display structure of built gems
run: ls -R
working-directory: ${{ steps.cross-gem.outputs.gem-path }}
- name: Release gem
if: startsWith(github.ref, 'refs/tags/v')
working-directory: ${{ steps.cross-gem.outputs.gem-path }}
env:
RUBYGEMS_API_KEY: ${{secrets.RUBYGEMS_API_KEY}}
run: |
mkdir -p $HOME/.gem
touch $HOME/.gem/credentials
chmod 0600 $HOME/.gem/credentials
printf -- "---\n:rubygems_api_key: ${RUBYGEMS_API_KEY}\n" > $HOME/.gem/credentials
for i in *.gem; do
if [ -f "$i" ]
then
gem push "$i" || true
fi
done