Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

44 Commits

Repository files navigation

shared-config

Shared reusable GitHub Actions workflows for rubyatscale gems.

Workflows

Reusable workflows (workflow_call)

These workflows are called from individual gem repos via uses: rubyatscale/shared-config/.github/workflows/<name>.yml@main.

WorkflowDescription
CI (ci.yml)Runs tests across Ruby 3.3–4.0, Sorbet type checking, and linting (RuboCop). Test and linter commands are configurable via inputs.
CD (cd.yml)Publishes the gem to RubyGems and creates a GitHub Release on successful main builds.
Stale (stale.yml)Marks issues and PRs as stale after 180 days of inactivity, then closes them after 7 more days.
Triage (triage.yml)Labels new issues with triage.

Repository workflows

WorkflowDescription
zizmor (zizmor.yml)Runs the zizmor security linter against all workflow files on every push and PR.

Usage

In a gem repo, create a workflow that calls the shared workflow:

# .github/workflows/ci.ymlname: CIon:
push:
branches: [main]pull_request:
jobs:
ci:
uses: rubyatscale/shared-config/.github/workflows/ci.yml@main

CI inputs

InputDefaultDescription
test-commandbundle exec rspecCommand to run tests
linter-commandbundle exec rubocopCommand to run the linter

Required secrets

The CD workflow requires the following secrets in the calling repo:

  • GUSTO_GIT_EMAIL / GUSTO_GIT_NAME — Git identity for tagging
  • RUBYGEMS_API_KEY — API key for publishing to RubyGems
  • SLACK_WEBHOOK_URL — Incoming webhook URL for failure notifications (used by both CI and CD)

Security

  • All action references are pinned to SHA hashes
  • zizmor runs on every PR to lint workflows for security issues
  • Dependabot is configured for monthly GitHub Actions updates

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors