Skip to content

ci: enforce workflow policy #118

ci: enforce workflow policy

ci: enforce workflow policy #118

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request: {}
jobs:
lint:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
- name: Set up Ruby
uses: ruby/setup-ruby@95ef2b042f9d7a56d8268cba8559e2842e2ad01b # v1
with:
ruby-version: "3.4"
bundler-cache: true
- name: Run rubocop
run: bundle exec rubocop
test:
runs-on: ubuntu-24.04
strategy:
matrix:
ruby-version: ["3.2", "3.3", "3.4", "4.0"]
services:
altertable:
image: ghcr.io/altertable-ai/altertable-mock:latest
ports:
- 15001:15001
env:
ALTERTABLE_MOCK_API_KEYS: test_pk_abc123
options: >-
--health-cmd "exit 0"
--health-interval 5s
--health-timeout 3s
--health-retries 3
--health-start-period 10s
steps:
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
with:
submodules: recursive
- name: Set up Ruby
uses: ruby/setup-ruby@95ef2b042f9d7a56d8268cba8559e2842e2ad01b # v1
with:
ruby-version: ${{ matrix.ruby-version }}
bundler-cache: true
- name: Run tests
run: bundle exec rake spec
typing:
name: "Typing"
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
- name: Set up Ruby
uses: ruby/setup-ruby@95ef2b042f9d7a56d8268cba8559e2842e2ad01b # v1
with:
ruby-version: "3.4"
bundler-cache: true
- name: Validate RBS
run: bundle exec rbs validate
- name: Typecheck with Sorbet
run: bundle exec srb tc