Files
ubicloud/.github/workflows/respirate-ci.yml
Jeremy Evans 05b2c0a947 Add CI that executes the respirate smoke test
Only execute it for changes to respirate and related files.
2025-05-31 01:20:38 +09:00

78 lines
2.3 KiB
YAML

name: respirate CI
permissions:
contents: read
on:
workflow_dispatch:
push:
branches:
- main
paths:
- 'bin/respirate'
- 'scheduling/dispatcher.rb'
- 'model/strand.rb'
- 'prog/test.rb'
- 'spec/respirate_smoke_test.rb'
- '.github/workflows/respirate-ci.yml'
pull_request:
paths:
- 'bin/respirate'
- 'scheduling/dispatcher.rb'
- 'model/strand.rb'
- 'prog/test.rb'
- 'spec/respirate_smoke_test.rb'
- '.github/workflows/respirate-ci.yml'
jobs:
cli-ci:
strategy:
fail-fast: false
matrix:
runs-on: [ubicloud, ubicloud-arm]
name: respirate CI - ${{matrix.runs-on}}
runs-on: ${{matrix.runs-on}}
env:
DB_USER: clover
DB_PASSWORD: nonempty
DB_NAME: clover_test
services:
postgres:
image: postgres:15.8
env:
POSTGRES_USER: ${{ env.DB_USER }}
POSTGRES_PASSWORD: ${{ env.DB_PASSWORD }}
POSTGRES_DB: ${{ env.DB_NAME }}
ports:
- 5432:5432
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
steps:
- name: Perform superuser-only actions, then remove superuser
run: |
psql "postgres://${{ env.DB_USER }}:${{ env.DB_PASSWORD }}@localhost:5432/${{ env.DB_NAME }}" \
-c "CREATE EXTENSION citext; CREATE EXTENSION btree_gist; CREATE ROLE clover_password PASSWORD '${{ env.DB_PASSWORD }}' LOGIN; ALTER ROLE ${{ env.DB_USER }} NOSUPERUSER"
- name: Check out code
uses: actions/checkout@v4
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: .tool-versions
bundler-cache: true
- name: Apply migrations
env:
CLOVER_DATABASE_URL: postgres://${{ env.DB_USER }}:${{ env.DB_PASSWORD }}@localhost:5432/${{ env.DB_NAME }}
run: bundle exec rake _test_up
- name: Run respirate smoke test
env:
CLOVER_DATABASE_URL: postgres://${{ env.DB_USER }}:${{ env.DB_PASSWORD }}@localhost:5432/${{ env.DB_NAME }}
CLOVER_SESSION_SECRET: kbaf1V3biZ+R2QqFahgDLB5/lSomwxQusA4PwROUkFS1srn0xM/I47IdLW7HjbQoxWri6/aVgtkqTLFiP65h9g==
CLOVER_COLUMN_ENCRYPTION_KEY: TtlY0+hd4lvedPkNbu5qsj5H7giPKJSRX9KDBrvid7c=
run: bundle exec rake respirate_smoke_test