Skip to content

Commit

Permalink
Run tests in github actions
Browse files Browse the repository at this point in the history
To set this up I more or less followed an example I found online[1]. I
decided to use the "alpine" postgres image as the author suggests to
make the container creation quicker. I opted for the latest postgres
15, as this matches my development environment (and, I hope,
production when we get there).

[1] https://boringrails.com/articles/building-a-rails-ci-pipeline-with-github-actions/
  • Loading branch information
chrislo committed Aug 3, 2023
1 parent 8cf85f2 commit b7c77be
Show file tree
Hide file tree
Showing 2 changed files with 62 additions and 0 deletions.
57 changes: 57 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
name: CI
on: [push]

jobs:
linters:
name: Linters
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2

- name: Setup Ruby and install gems
uses: ruby/setup-ruby@v1
with:
bundler-cache: true

- name: Run linters
run: |
bin/rake rubocop
tests:
name: Tests
runs-on: ubuntu-latest
services:
postgres:
image: postgres:15-alpine
env:
POSTGRES_USER: myapp
POSTGRES_DB: myapp_test
POSTGRES_PASSWORD: password
ports: ["5432:5432"]

steps:
- name: Checkout code
uses: actions/checkout@v2

- name: Setup Ruby and install gems
uses: ruby/setup-ruby@v1
with:
bundler-cache: true

- name: Setup test database
env:
RAILS_ENV: test
PGHOST: localhost
PGUSER: myapp
PGPASSWORD: password
run: |
bin/rails db:setup
- name: Run tests
env:
RAILS_ENV: test
PGHOST: localhost
PGUSER: myapp
PGPASSWORD: password
run: bin/rake test:all
5 changes: 5 additions & 0 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,8 @@ GEM
nio4r (2.5.9)
nokogiri (1.15.3-arm64-darwin)
racc (~> 1.4)
nokogiri (1.15.3-x86_64-linux)
racc (~> 1.4)
parallel (1.23.0)
parser (3.2.2.3)
ast (~> 2.4.1)
Expand Down Expand Up @@ -235,6 +237,8 @@ GEM
railties (>= 6.0.0)
tailwindcss-rails (2.0.30-arm64-darwin)
railties (>= 6.0.0)
tailwindcss-rails (2.0.30-x86_64-linux)
railties (>= 6.0.0)
thor (1.2.2)
timeout (0.4.0)
turbo-rails (1.4.0)
Expand All @@ -260,6 +264,7 @@ GEM

PLATFORMS
arm64-darwin-22
x86_64-linux

DEPENDENCIES
bootsnap
Expand Down

0 comments on commit b7c77be

Please sign in to comment.