Skip to content

daily-rubygems

daily-rubygems #1937

name: daily-rubygems
on:
schedule:
- cron: 0 0 * * *
workflow_dispatch:
permissions:
contents: read
jobs:
daily_rubygems:
name: Rubygems (${{ matrix.ruby }})
runs-on: ${{ matrix.os }}
if: github.repository == 'ruby/rubygems'
strategy:
fail-fast: false
matrix:
os: [ubuntu-24.04]
ruby: [ruby-head, truffleruby-head]
include:
- { os: windows-2025, ruby: mswin }
env:
TRUFFLERUBYOPT: --experimental-options --testing-rubygems
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Set up Ruby
uses: ruby/setup-ruby@0481980f17b760ef6bca5e8c55809102a0af1e5a # v1.263.0
with:
ruby-version: ${{ matrix.ruby }}
bundler: none
- name: Show Ruby version
run: ruby --version
- name: Configure bindgen
shell: pwsh
run: |
echo "LIBCLANG_PATH=$((gcm clang).source -replace "clang.exe")" >> $env:GITHUB_ENV
echo "BINDGEN_EXTRA_CLANG_ARGS=$((gcm clang).source -replace "bin\clang.exe","include")" >> $env:GITHUB_ENV
if: matrix.ruby == 'mswin'
- name: Test rubygems
run: |
bin/rake setup
bin/rake test
- name: Get previous status
if: always()
run: echo "OLD_STATUS=$(curl -sS 'https://api.github.com/repos/ruby/rubygems/actions/workflows/daily-rubygems.yml/runs?event=schedule&branch=master' | jq '.workflow_runs | .[1].conclusion')" >> $GITHUB_ENV
- uses: 8398a7/action-slack@77eaa4f1c608a7d68b38af4e3f739dcd8cba273e # v3.19.0
with:
status: ${{ job.status }}
fields: repo,message,commit,action,workflow
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} # required
if: failure() && env.OLD_STATUS == '"success"'
timeout-minutes: 60