Skip to content

daily-rubygems

daily-rubygems #1411

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 == 'rubygems/rubygems'
strategy:
fail-fast: false
matrix:
os: [ ubuntu-22.04 ]
ruby: [ ruby-head, truffleruby-head ]
cargo: [ stable ]
include:
- { os: windows-2022, ruby: mswin, cargo: stable-x86_64-pc-windows-msvc }
env:
TRUFFLERUBYOPT: "--experimental-options --testing-rubygems"
steps:
- uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5
- name: Set up Ruby
uses: ruby/setup-ruby@cacc9f1c0b3f4eb8a16a6bb0ed10897b43b9de49 # v1.176.0
with:
ruby-version: ${{ matrix.ruby }}
bundler: none
- uses: dtolnay/rust-toolchain@1482605bfc5719782e1267fd0c0cc350fe7646b8
with:
toolchain: ${{ matrix.cargo }}
components: rustfmt
- name: Show Ruby version
run: ruby --version
- 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/rubygems/rubygems/actions/workflows/daily-rubygems.yml/runs?event=schedule&branch=master' | jq '.workflow_runs | .[1].conclusion')" >> $GITHUB_ENV
- uses: 8398a7/action-slack@28ba43ae48961b90635b50953d216767a6bea486 # v3.16.2
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