forked from binarylogic/authlogic
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
After years of generously donating their service, TravisCI ends support for FOSS on 2020-12-31.
- Loading branch information
Showing
5 changed files
with
145 additions
and
62 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,130 @@ | ||
name: gha-workflow-authlogic-test | ||
on: [push, pull_request] | ||
jobs: | ||
|
||
# Linting is a separate job, primary because it only needs to be done once, | ||
# and secondarily because jobs are performed concurrently. | ||
gha-job-authlogic-lint: | ||
name: Lint | ||
runs-on: ubuntu-18.04 | ||
steps: | ||
- name: Checkout source | ||
uses: actions/checkout@v2 | ||
- name: Setup ruby | ||
uses: actions/setup-ruby@v1 | ||
with: | ||
# Set to `TargetRubyVersion` in `.rubocopy.yml` | ||
ruby-version: 2.4 | ||
- name: Bundle | ||
run: | | ||
gem install bundler | ||
bundle install --jobs 4 --retry 3 | ||
- name: Lint | ||
run: bundle exec rubocop | ||
|
||
# The test job is a matrix of ruby/rails versions. | ||
gha-job-authlogic-test: | ||
name: Ruby ${{ matrix.ruby }}, ${{ matrix.gemfile }}.rb | ||
runs-on: ubuntu-18.04 | ||
services: | ||
gha-service-authlogic-mysql: | ||
env: | ||
MYSQL_ALLOW_EMPTY_PASSWORD: yes | ||
MYSQL_DATABASE: authlogic | ||
image: mysql:8.0 | ||
options: >- | ||
--health-cmd="mysqladmin ping" | ||
--health-interval=10s | ||
--health-timeout=5s | ||
--health-retries=3 | ||
ports: | ||
- 3306:3306 | ||
gha-service-authlogic-postgres: | ||
env: | ||
POSTGRES_PASSWORD: asdfasdf | ||
image: postgres | ||
options: >- | ||
--health-cmd pg_isready | ||
--health-interval 10s | ||
--health-timeout 5s | ||
--health-retries 5 | ||
ports: | ||
- 5432:5432 | ||
strategy: | ||
# Unlike TravisCI, the database will not be part of the matrix. Each | ||
# sub-job in the matrix tests all three databases. Alternatively, we could | ||
# have set this up with each database as a separate job, but then we'd be | ||
# duplicating the matrix configuration three times. | ||
matrix: | ||
gemfile: [ 'rails_5.2', 'rails_6.0', 'rails_6.1' ] | ||
|
||
# To keep matrix size down, only test highest and lowest rubies. In | ||
# `.rubocopy.yml`, set `TargetRubyVersion`, to the lowest ruby version | ||
# tested here. | ||
ruby: [ '2.4', '2.7' ] | ||
|
||
exclude: | ||
# rails 6 requires ruby >= 2.5.0 | ||
- ruby: '2.4' | ||
gemfile: 'rails_6.0' | ||
- ruby: '2.4' | ||
gemfile: 'rails_6.1' | ||
steps: | ||
- name: Checkout source | ||
uses: actions/checkout@v2 | ||
- name: Setup ruby | ||
uses: actions/setup-ruby@v1 | ||
with: | ||
ruby-version: ${{ matrix.ruby }} | ||
- name: Bundle | ||
run: | | ||
gem install bundler | ||
bundle install --jobs 4 --retry 3 | ||
env: | ||
BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }}.rb | ||
|
||
# MySQL db was created above, sqlite will be created during test suite, | ||
# when migrations occur, so we only need to create the postgres db. I | ||
# tried something like `cd .....dummy_app && ....db:create`, but couldn't | ||
# get that to work. | ||
- name: Create postgres database | ||
run: | | ||
createdb \ | ||
--host=$POSTGRES_HOST \ | ||
--port=$POSTGRES_PORT \ | ||
--username=postgres \ | ||
authlogic | ||
env: | ||
PGPASSWORD: asdfasdf | ||
POSTGRES_HOST: localhost | ||
POSTGRES_PORT: 5432 | ||
|
||
# The following three steps finally run the tests. | ||
# We run `rake test` instead of the default task, which includes rubocop, | ||
# because rubocop is done (once!) in a separate job above. | ||
- name: Test, sqlite | ||
run: bundle exec rake test | ||
env: | ||
BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }}.rb | ||
DB: sqlite | ||
- name: Test, mysql | ||
run: bundle exec rake test | ||
env: | ||
BACKTRACE: 1 | ||
BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }}.rb | ||
DB: mysql | ||
AUTHLOGIC_DB_NAME: authlogic | ||
AUTHLOGIC_DB_USER: root | ||
AUTHLOGIC_DB_HOST: 127.0.0.1 | ||
AUTHLOGIC_DB_PORT: 3306 | ||
- name: Test, postgres | ||
run: bundle exec rake test | ||
env: | ||
BACKTRACE: 1 | ||
BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }}.rb | ||
DB: postgres | ||
AUTHLOGIC_DB_NAME: authlogic | ||
AUTHLOGIC_DB_USER: postgres | ||
AUTHLOGIC_DB_HOST: 127.0.0.1 | ||
AUTHLOGIC_DB_PORT: 5432 | ||
AUTHLOGIC_DB_PASSWORD: asdfasdf |
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
This file was deleted.
Oops, something went wrong.
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
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