Consistent Ruby version in GitHub workflows / rubocop + Fix amazonlinux build #1182
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
env: | |
RUBY_VERSION: 3.3.6 | |
DATABASE_URL: postgres://postgres:postgres@localhost:5432/postgres | |
name: CI | |
on: | |
push: | |
branches-ignore: | |
- 'develop' | |
- 'master' | |
- '**stable' | |
pull_request: | |
branches: "*" | |
jobs: | |
test: | |
name: Rubocop + Rails Test | |
runs-on: ubuntu-24.04 | |
services: | |
postgres: | |
image: postgres:13 | |
env: | |
POSTGRES_USER: postgres | |
POSTGRES_PASSWORD: password | |
ports: | |
- 5432:5432 | |
# Health checks to wait until postgres is ready | |
options: >- | |
--health-cmd pg_isready | |
--health-interval 10s | |
--health-timeout 5s | |
--health-retries 5 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Install Ruby ${{ env.RUBY_VERSION }} | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: ${{ env.RUBY_VERSION }} | |
- name: Bundle cache | |
uses: actions/cache@v3 | |
with: | |
path: vendor/bundle | |
key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }} | |
restore-keys: | | |
${{ runner.os }}-gems- | |
- name: Bundle install | |
run: | | |
bundle config path vendor/bundle | |
bundle install --jobs 4 --retry 3 | |
- name: Run Rubocop | |
run: bundle exec rubocop | |
- name: Run Rails Test | |
env: | |
DATABASE_URL: postgres://postgres:password@localhost:5432/scalelite_test | |
run: | | |
bundler exec rails test:db | |
- name: Run RSpec | |
env: | |
DATABASE_URL: postgres://postgres:password@localhost:5432/scalelite_test | |
run: | | |
bundle exec rspec | |
build: | |
name: Test Amazonlinux Docker Build | |
runs-on: ubuntu-24.04 | |
env: | |
DOCKER_REPOSITORY: ${{ secrets.DOCKER_REPOSITORY }} | |
DOCKER_BUILD_ENABLED: ${{ secrets.DOCKER_BUILD_ENABLED }} | |
DOCKER_BUILD_ALTERNATE_ENABLED: ${{ secrets.DOCKER_BUILD_ALTERNATE_ENABLED }} | |
DOCKER_BUILD_ON_PUSH_DISABLED: ${{ secrets.DOCKER_BUILD_ON_PUSH_DISABLED }} | |
steps: | |
- name: Alternate Amazon Linux Build nginx | |
uses: docker/build-push-action@v3 | |
with: | |
file: dockerfiles/v1/focal260-amazonlinux | |
push: false | |
target: nginx | |
- name: Alternate Amazon Linux Build api | |
uses: docker/build-push-action@v3 | |
with: | |
file: dockerfiles/v1/focal260-amazonlinux | |
push: false | |
target: api | |
- name: Alternate Amazon Linux Build poller | |
uses: docker/build-push-action@v3 | |
with: | |
file: dockerfiles/v1/focal260-amazonlinux | |
push: false | |
target: poller | |
- name: Alternate Amazon Linux Build recording-importer | |
uses: docker/build-push-action@v3 | |
with: | |
file: dockerfiles/v1/focal260-amazonlinux | |
push: false | |
target: recording-importer |