Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migrate to GitHub Actions for CI #3444

Merged
merged 84 commits into from
Sep 2, 2020
Merged
Show file tree
Hide file tree
Changes from 11 commits
Commits
Show all changes
84 commits
Select commit Hold shift + click to select a range
716be1e
Migrate to GitHub Actions for CI
parndt Oct 1, 2019
dc93877
Hardcode postgres port
parndt Oct 1, 2019
0d1c258
Generate dummy app for tests
parndt Oct 1, 2019
a3a412b
gimme a tab
parndt Oct 1, 2019
6706901
add postgres support library libpq-dev
parndt Oct 2, 2019
6ca0098
add mysql and sqlite libraries too
parndt Oct 2, 2019
0a7f119
run the tests..
parndt Oct 2, 2019
3905f43
Remove Travis CI config so that it stops running
parndt Oct 2, 2019
ee87aa0
Put gems in the right places
parndt Oct 2, 2019
29064a5
Add listen gem to test too
parndt Oct 2, 2019
7018388
Add chromedriver
parndt Oct 2, 2019
b975e2d
chromium?
parndt Oct 2, 2019
3a454a2
of course..
parndt Oct 2, 2019
ba5623d
apt-get update
parndt Oct 2, 2019
e6a43d2
make sure we have imagemagick
parndt Oct 2, 2019
3900c26
Try out using our own Docker image for CI
parndt Oct 2, 2019
2c4ce7e
fix bad yaml structure
parndt Oct 2, 2019
d960c1b
env inside steps
parndt Oct 2, 2019
6a89138
works with a `GITHUB_TOKEN`?
parndt Oct 2, 2019
9126197
what about a `GITHUB_PACKAGE_REGISTRY_TOKEN`?
parndt Oct 2, 2019
850f601
top level env?
parndt Oct 2, 2019
c6a4647
try manually building CI image
parndt Oct 2, 2019
3722584
login first?
parndt Oct 2, 2019
e5b1246
set DB to postgresql
parndt Oct 2, 2019
724cf41
needs chromium-chromedriver
parndt Oct 2, 2019
5189ca3
Revert "login first?"
parndt Oct 2, 2019
03413b5
chromium too?
parndt Oct 2, 2019
a2e30f2
Try a different container image
parndt Oct 8, 2019
0a30003
Install chromium inside docker image
parndt Oct 8, 2019
26ad1b0
Merge branch 'master' into github-actions-ci
parndt Oct 18, 2019
2410fb3
Delete .travis.yml after merge
parndt Oct 19, 2019
f17d55e
Try to fix Gemfile.lock write permissions
parndt Oct 19, 2019
243ec12
own entire directory, remove healthcheck
parndt Oct 19, 2019
0da892d
Switch docker container
parndt Oct 19, 2019
ab4d804
Prime gem cache inside Docker
parndt Oct 19, 2019
52a4a89
split out tests
parndt Oct 19, 2019
c7fe017
duplicate all the things
parndt Oct 19, 2019
96cc3cb
Try strategy matrix instead of duplication
parndt Oct 19, 2019
39ba062
Try adding database to the matrix
parndt Oct 19, 2019
56f500d
Let's get postgres working first.
parndt Oct 19, 2019
30e5c85
Merge branch 'master' into github-actions-ci
parndt Oct 20, 2019
e5372f8
alpine is a bit too annoying.
parndt Oct 21, 2019
1b373cd
Set permissions
parndt Oct 21, 2019
913a48e
Use the right base image :facepalm:
parndt Oct 21, 2019
ef95332
Merge branch 'master' into github-actions-ci
parndt Oct 21, 2019
1b731dc
Try without the container..
parndt Oct 21, 2019
a27b379
Add Ruby version matrix
parndt Oct 21, 2019
23cd79a
Add BUNDLE_JOBS, CI ENV
parndt Oct 21, 2019
0418d58
Set up ruby matrix with setup-ruby
parndt Oct 21, 2019
b300933
Database dependencies
parndt Oct 21, 2019
45d4c2a
Try a different configuration
parndt Oct 21, 2019
426da7d
db host?
parndt Oct 21, 2019
77befa4
prevent fail-fast
parndt Oct 21, 2019
a31e4d1
wrong env keys?
parndt Oct 21, 2019
6c6beb1
localhost postgres?
parndt Oct 21, 2019
cdade20
postgres gets a random port, the job has access
parndt Oct 21, 2019
1b0b289
Specify version in the deprecated way
parndt Oct 21, 2019
480bdbe
set particular env build wide
parndt Oct 21, 2019
adce117
env for what uses it
parndt Oct 21, 2019
f7d1037
Merge branch 'master' into github-actions-ci
parndt Oct 28, 2019
534204e
Merge branch 'master' into github-actions-ci
parndt Nov 6, 2019
17fed57
Add CI: true to test runner
parndt Nov 6, 2019
f330572
Bundle required DB gems
parndt Nov 6, 2019
c15ebe7
All together now
parndt Nov 7, 2019
762b221
why can't you connect
parndt Nov 8, 2019
a425b35
simpler pg config?
parndt Nov 8, 2019
caec53d
duplicate env is a pain, but so is scrolling
parndt Nov 8, 2019
883dff0
Merge branch 'master' into github-actions-ci
parndt Nov 21, 2019
6dff934
Add bundler caching
parndt Nov 26, 2019
6fb4532
get fresh apt sources
parndt Nov 26, 2019
cf42f22
:facepalm: we don't have a `Gemfile.lock`
parndt Nov 26, 2019
3851323
Merge branch 'master' into github-actions-ci
parndt Jan 12, 2020
afcca1b
Merge branch 'master' into github-actions-ci
parndt Aug 28, 2020
3c06f16
Merge branch 'master' into github-actions-ci
parndt Aug 31, 2020
9f48386
Upgrade cache and checkout actions
parndt Aug 31, 2020
ae5a540
restructure yml a bit
parndt Aug 31, 2020
53d34ad
Delete Dockerfile
parndt Aug 31, 2020
0cd4b2f
remove 'architecture'
parndt Aug 31, 2020
a2ed80c
Add MySQL, which should be installed
parndt Aug 31, 2020
c77d4d0
Add rspec-retry support back in
parndt Aug 31, 2020
d255d3e
mysql service has to be started
parndt Aug 31, 2020
70f5f60
make them yml files
parndt Aug 31, 2020
0d8288c
Set mysql password
parndt Aug 31, 2020
b1b0b34
Add the mysql password to the right place
parndt Aug 31, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 40 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: CI

on: [push]

jobs:
postgres:
runs-on: ubuntu-latest
strategy:
matrix:
ruby: [ '2.6.x' ]

steps:
- uses: actions/checkout@v1
- name: Setup Ruby
uses: actions/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
architecture: 'x64'
- run: sudo apt-get install chromedriver libpq-dev libmysqlclient-dev libsqlite3-dev -y
parndt marked this conversation as resolved.
Show resolved Hide resolved
- run: gem install bundler --version '>= 2.0.2'
parndt marked this conversation as resolved.
Show resolved Hide resolved
- run: bundle install --without development
- run: bin/rake refinery:testing:dummy_app
- run: bin/rspec ./*/spec --format documentation
services:
postgres:
image: postgres:latest
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: postgres
ports:
- 5432:5432
# needed because the postgres container does not provide a healthcheck
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5

env:
BUNDLE_JOBS: 4
POSTGRES_HOST: localhost
POSTGRES_PORT: 5432
RETRY_COUNT: 3
37 changes: 0 additions & 37 deletions .travis.yml

This file was deleted.

16 changes: 9 additions & 7 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -9,37 +9,38 @@ path "./" do
gem "refinerycms-resources"
end

gem 'spring'
gem 'spring-commands-rspec'
gem 'selenium-webdriver', require: false

# Add support for refinerycms-acts-as-indexed
gem 'refinerycms-acts-as-indexed', ['~> 3.0', '>= 3.0.0']

# Add the default visual editor, for now.
gem 'refinerycms-wymeditor', ['~> 2.0', '>= 2.0.0']

# Database Configuration
unless ENV['TRAVIS']
unless ENV['CI']
gem 'activerecord-jdbcsqlite3-adapter', '>= 1.3.0.rc1', platform: :jruby
gem 'sqlite3', platform: :ruby
end

if !ENV['TRAVIS'] || ENV['DB'] == 'mysql'
if !ENV['CI'] || ENV['DB'] == 'mysql'
group :mysql do
gem 'activerecord-jdbcmysql-adapter', '>= 1.3.0.rc1', platform: :jruby
gem 'mysql2', '~> 0.4', :platform => :ruby
end
end

if !ENV['TRAVIS'] || ENV['DB'] == 'postgresql'
if !ENV['CI'] || ENV['DB'] == 'postgresql'
group :postgres, :postgresql do
gem 'activerecord-jdbcpostgresql-adapter', '>= 1.3.0.rc1', platform: :jruby
gem 'pg', '~> 0.21', platform: :ruby
end
end

group :development do
gem 'spring'
gem 'spring-commands-rspec'
end

group :development, :test do
gem 'listen', '~> 3.0'
end

Expand All @@ -50,6 +51,7 @@ group :test do
gem 'coveralls', require: false
gem 'rspec-retry'
gem 'puma'
gem 'selenium-webdriver', require: false
end

# Load local gems according to Refinery developer preference.
Expand Down